This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
os_cp [2024/04/08 14:16] jkonczak |
os_cp [2025/06/22 18:34] (current) jkonczak [Operating Systems and Concurrent Programming] |
||
|---|---|---|---|
| Line 33: | Line 33: | ||
| </div> | </div> | ||
| </div> | </div> | ||
| - | <div style="display:table;width:100%"> | + | <!--<div style="display:table;width:100%"> |
| </html>[shell] [[os_cp:locate_find|Searching for files.]]<html> | </html>[shell] [[os_cp:locate_find|Searching for files.]]<html> | ||
| <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
| </html> [[os_cp:locate_find:solutions|Solutions to exercises]]<html> | </html> [[os_cp:locate_find:solutions|Solutions to exercises]]<html> | ||
| </div> | </div> | ||
| - | </div> | + | </div>--> |
| </html> | </html> | ||
| - <html> | - <html> | ||
| Line 56: | Line 56: | ||
| </div> | </div> | ||
| </html> | </html> | ||
| - | - [shell] ┘<html> | + | - [shell] ┘<html><!-- |
| </div></li> | </div></li> | ||
| <li class="level1" style="list-style-type:disc" value="6"> | <li class="level1" style="list-style-type:disc" value="6"> | ||
| Line 64: | Line 64: | ||
| </html> <html> | </html> <html> | ||
| </div> | </div> | ||
| - | <!-- /div and /li are inserted by dokuwiki --> | + | /div and /li are inserted by dokuwiki --> |
| </html> | </html> | ||
| - | - <html> | + | - [shell] Test. ([[os_cp:exercises-shell|Example questions for the test.]]) \\ <html> |
| - | <div style="display:table;width:100%"> | + | <div style="display:table;width:100%"> |
| - | </html>[programming]┬ [[os_cp:threads|Threads. Mutexes. Conditional variables.]]<html> | + | </html>[shell] [[os_cp:locate_find|Searching for files.]]<html> |
| <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
| - | </html> [[os_cp:threads:solutions|Solutions to exercises]]<html> | + | </html> [[os_cp:locate_find:solutions|Solutions to exercises]]<html> |
| </div> | </div> | ||
| </div> | </div> | ||
| - | </html> | ||
| - | - [programming]┘ | ||
| - | - <html> | ||
| <div style="display:table;width:100%"> | <div style="display:table;width:100%"> | ||
| - | </html>[programming] [[os_cp:prog_intro_read_write|Introduction to programming. File descriptors. Basic I/O.]]<html> | + | </html>[programming]┬ [[os_cp:threads|Threads. Mutexes. Critical sections. Conditional variables.]]<html> |
| <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
| - | </html> [[os_cp:prog_intro_read_write:solutions|Solutions to exercises]]<html> | + | </html> [[os_cp:threads:solutions|Solutions to exercises]]<html> |
| </div> | </div> | ||
| </div> | </div> | ||
| </html> | </html> | ||
| - | - <html> | + | - [programming]┤<html> |
| - | <div style="display:table;width:100%"> | + | <div style="display:inline-block;width:15em"> |
| - | </html>[programming] [[os_cp:open_fork|Opening a file. Forking.]]<html> | + | |
| - | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | + | |
| - | </html> [[os_cp:open_fork:solutions|Solutions to exercises]]<html> | + | |
| </div> | </div> | ||
| - | </div> | + | </html>**[[os_cp:find_out_what_is_going_on2|Homework.]]** |
| - | </html> | + | - [programming]┘ |
| - <html> | - <html> | ||
| <div style="display:table;width:100%"> | <div style="display:table;width:100%"> | ||
| - | </html>[programming] [[os_cp:exec_dup|Exec. Duplicating descriptors.]]<html> | + | </html>[programming] [[os_cp:prog_filebasics_signals|Basic I/O. Opening files. Signal handlers.]]<html> |
| <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
| - | </html> [[os_cp:exec_dup:solutions|Solutions to exercises]]<html> | + | </html> [[os_cp:prog_filebasics_signals:solutions|Solutions to exercises]]<html> |
| </div> | </div> | ||
| </div> | </div> | ||
| Line 101: | Line 95: | ||
| - <html> | - <html> | ||
| <div style="display:table;width:100%"> | <div style="display:table;width:100%"> | ||
| - | </html>[programming] [[os_cp:pipes_signals|Pipes. Signals. Shared memory.]]<html> | + | </html>[programming] [[os_cp:fork_exec_pipes|Fork. Exec. Pipes.]]<html> |
| <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
| - | </html> [[os_cp:pipes_signals:solutions|Solutions to exercises]]<html> | + | </html> [[os_cp:fork_exec_pipes:solutions|Solutions to exercises]]<html> |
| </div> | </div> | ||
| </div> | </div> | ||
| Line 109: | Line 103: | ||
| - <html> | - <html> | ||
| <div style="display:table;width:100%"> | <div style="display:table;width:100%"> | ||
| - | </html>[programming] [[os_cp:semaphores|Semaphores. Critical sections.]] <html> | + | </html>[programming] [[os_cp:shmem_semaphores|Shared memory. Semaphores.]]<html> |
| - | <div style="display:inline-block;width:5em"> | + | |
| - | </div> | + | |
| - | </html>**[[os_cp:find_out_what_is_going_on|Homework.]]**<html> | + | |
| <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
| - | </html> [[os_cp:semaphores:solutions|Solutions to exercises]]<html> | + | </html> [[os_cp:shmem_semaphores:solutions|Solutions to exercises]]<html> |
| </div> | </div> | ||
| </div> | </div> | ||
| </html> | </html> | ||
| + | - [programming] Test. ([[os_cp:exercises-prog|Example questions for the test.]]) | ||
| + | - <small>spare slot that will be dynamically allocated to catch up with course materials when needed</small> | ||
| <html><!-- | <html><!-- | ||
| </div></li> | </div></li> | ||
| Line 138: | Line 131: | ||
| </html> | </html> | ||
| - | <small>**The course materials are begin rearranged this year.** Expect changes to bring the materials to for a logically consistent course.</small> | + | The snippets in <small>smaller font</small> or tagged with [extra] are supplementary. |
| - | The snippets in <html><small>smaller font</small></html> or tagged with [extra] are supplementary. | + | **[[os_cp:2025:results|Test results, assignment grades and final grades (2025)]]** |
| === Grading === | === Grading === | ||
| Line 149: | Line 142: | ||
| * another on the topics tagged with [programming]; this test will take place on the last lab classes | * another on the topics tagged with [programming]; this test will take place on the last lab classes | ||
| * complete two assignments: | * complete two assignments: | ||
| - | * write a shell script - **[[os_cp:2024:shell_assignment|list of topics]]** | + | * write a shell script - [[os_cp:2025:shell_assignment|list of topics]] |
| - | * write a concurrent program (details tba) | + | * write a concurrent program - [[os_cp:2025:prog_assignment|programming assignment details]] |
| + | <html><div style="margin-top:-1.2em"></div></html> | ||
| + | __Absence__, including an excused absence, for more than one-third of the classes, | ||
| + | __results in failing__ the course. | ||
| + | |||
| + | The tests will be written on the lab computers, on a dedicated virtual machine. | ||
| + | You may (and to answer some of the questions, you must) use the terminal. | ||
| + | You are free to use any software available on the machines (e.g., the ''man'' command). | ||
| + | You must not use the Internet or bring any materials to the test. | ||
| + | You may make yourself familiar with the test framework at | ||
| + | <html><a href="/jkonczak/test-en/" class="wikilink1">this example test</a></html>. | ||
| === Recommended course materials === | === Recommended course materials === | ||
| Line 165: | Line 168: | ||
| <small> | <small> | ||
| - | Assignments in the previous year: [[os_cp:assignments|2023]] | + | |
| + | Assignments in the previous years: | ||
| + | * 2024: [[os_cp:2024:shell_assignment|shell]], [[os_cp:2024:prog_assignment|programming]] | ||
| + | * [[os_cp:assignments|2023]] | ||
| </small> | </small> | ||
| - | <html> | ||
| - | <!-- | ||
| - | **[[os_cp:2023:results|Assignment grades, test results, final grades (2023)]]** | ||
| - | --> | ||
| - | </html> | ||
| ~~META: | ~~META: | ||
| language = en | language = en | ||
| ~~ | ~~ | ||