This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
os_cp [2023/06/14 16:13] jkonczak [Operating Systems and Concurrent Programming] |
os_cp [2024/05/08 14:23] (current) jkonczak |
||
---|---|---|---|
Line 4: | Line 4: | ||
=== Course materials === | === Course materials === | ||
- | - <html><div style="display:table;width:100%"></html>[shell] [[os_cp:intro|Introduction to Unix-like operating systems. Getting help. Browsing filesystem.]] <html><div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"></html> [[os_cp:intro:solutions|Solutions to exercises]]<html></div></div></html> | + | - <html> |
- | - <html><div style="display:table;width:100%"></html>[shell] [[os_cp:files_processes|File operations. Processes.]] <html><div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"></html> [[os_cp:files_processes:solutions|Solutions to exercises]]<html></div></div></html> | + | <div style="display:table;width:100%"> |
- | - <html><div style="display:table;width:100%"></html>[shell] [[os_cp:users_permissions|Users. File Permissions.]]<html><div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"></html> [[os_cp:users_permissions:solutions|Solutions to exercises]]<html></div></div></html> | + | </html>[shell] [[os_cp:intro|Introduction to Unix-like operating systems. Getting help. Browsing filesystem.]] <html> |
- | - <html><div style="display:table;width:100%"></html>[shell] [[os_cp:redirects_pipes|Redirections. Pipes. Filters.]]<html><div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"></html> [[os_cp:redirects_pipes:solutions|Solutions to exercises]]<html></div></div></html> | + | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> |
- | - <html><div style="display:table;width:100%"></html>[programming] [[os_cp:prog_intro_read_write|Introduction to programming. File descriptors. Basic I/O.]]<html><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></div></div></html> | + | </html> [[os_cp:intro:solutions|Solutions to exercises]]<html> |
- | - <html><div style="display:table;width:100%"></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></html> | + | </div> |
- | - <html><div style="display:table;width:100%"></html>[programming] [[os_cp:exec_dup|Exec. Duplicating descriptors.]]<html><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></div></div></html> | + | </div> |
- | - <html><div style="display:table;width:100%"></html>[programming] [[os_cp:pipes_signals|Pipes. Signals. Shared memory.]]<html><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></div></div></html> | + | <div style="display:table;width:100%"> |
- | - <html><div style="display:table;width:100%"></html>[programming] [[os_cp:semaphores|Semaphores. Critical sections.]] <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"></html> [[os_cp:semaphores:solutions|Solutions to exercises]]<html></div></div></html> | + | </html>[shell] [[os_cp:tba|Editing line in console. Console text editors.]]<html> |
- | - <html><div style="display:table;width:100%"></html>[programming]┬ [[os_cp:threads|Threads. Mutexes. Conditional variables.]]<html><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></div></div></html> | + | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> |
+ | </html> [[os_cp:tba:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - <html> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </html>[shell] [[os_cp:files_processes|File operations. Processes.]]<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html> [[os_cp:files_processes:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - <html> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </html>[shell] [[os_cp:users_permissions|Users. File Permissions.]]<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html> [[os_cp:users_permissions:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </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"> | ||
+ | </html> [[os_cp:locate_find:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - <html> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </html>[shell] [[os_cp:redirects_pipes|Redirections. Pipes. Filters.]]<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html> [[os_cp:redirects_pipes:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - <html> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </html>[shell] ┬ [[os_cp:scripting|Scripting. Job control. Environment variables.]]<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html> [[os_cp:scripting:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - [shell] ┘<html><!-- | ||
+ | </div></li> | ||
+ | <li class="level1" style="list-style-type:disc" value="6"> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </html>[[os_cp:exercises-shell|Example questions for the test.]]<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html> <html> | ||
+ | </div> | ||
+ | /div and /li are inserted by dokuwiki --> | ||
+ | </html> | ||
+ | - [shell] Test. ([[os_cp:exercises-shell|Example questions for the test.]]) \\ <html> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </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"> | ||
+ | </html> [[os_cp:threads:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - [programming]┤<html> | ||
+ | <div style="display:inline-block;width:15em"> | ||
+ | </div> | ||
+ | </html>**[[os_cp:find_out_what_is_going_on2|Homework.]]** | ||
- [programming]┘ | - [programming]┘ | ||
- | - [shell] ┬ [[os_cp:scripting|Scripting. Job control. Environment variables.]] | + | - <html> |
- | - [shell] ┘ <html></div></li> | + | <div style="display:table;width:100%"> |
- | <li class="level1" style="list-style-type:disc"><div class="li" style="display:table;width:100%"></html>[shell] [[os_cp:tba|Editing line in console. Console text editors.]]<html><div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"></html> [[os_cp:tba:solutions|Solutions to exercises]]<html></div></li><li class="level1" style="list-style-type:disc"><div class="li" style="display:table;width:100%"></html>[shell] Searching for files. Miscellany.<html><div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"></html><html></div></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"> | ||
+ | </html> [[os_cp:prog_filebasics_signals:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - <html> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </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"> | ||
+ | </html> [[os_cp:fork_exec_pipes:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - <html> | ||
+ | <div style="display:table;width:100%"> | ||
+ | </html>[programming] [[os_cp:shmem_semaphores|Shared memory. Semaphores.]]<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html> [[os_cp:shmem_semaphores:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </html> | ||
+ | - [programming] Test. | ||
+ | <html><!-- | ||
+ | </div></li> | ||
+ | <li class="level1" style="list-style-type:disc"> | ||
+ | <div class="li" style="display:table;width:100%"> | ||
+ | </html>[shell] [[os_cp:tba|Editing line in console. Console text editors.]]<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html> [[os_cp:tba:solutions|Solutions to exercises]]<html> | ||
+ | </div> | ||
+ | </div> | ||
+ | </li> | ||
+ | <li class="level1" style="list-style-type:disc"> | ||
+ | <div class="li" style="display:table;width:100%"> | ||
+ | </html>[shell] Searching for files. Miscellany.<html> | ||
+ | <div style="display:table-cell;font-size:0.75em;margin-top:0.33em;text-align:right"> | ||
+ | </html><html> | ||
+ | </div> | ||
+ | --> | ||
+ | <!-- /div and /li are inserted by dokuwiki --> | ||
+ | </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 <html><small>smaller font</small></html> or tagged with [extra] are supplementary. | The snippets in <html><small>smaller font</small></html> or tagged with [extra] are supplementary. | ||
- | === More course materials === | + | **[[os_cp:2024:results|Test results (2024)]]** |
+ | |||
+ | === Grading === | ||
+ | |||
+ | All students have to: | ||
+ | * pass two tests: | ||
+ | * one on the topics tagged with [shell]; this test will take place after the corresponding classes | ||
+ | * another on the topics tagged with [programming]; this test will take place on the last lab classes | ||
+ | * complete two assignments: | ||
+ | * write a shell script - **[[os_cp:2024:shell_assignment|list of topics]]** | ||
+ | * write a concurrent program (details tba) | ||
+ | |||
+ | === Recommended course materials === | ||
Basic materials: | Basic materials: | ||
Line 33: | Line 152: | ||
* [programming] https://deadlockempire.github.io/ | * [programming] https://deadlockempire.github.io/ | ||
- | === Grading === | + | <small> |
- | + | Assignments in the previous year: [[os_cp:assignments|2023]] | |
- | All students have to: | + | </small> |
- | * pass a test at the end of semester (details TBA) | + | |
- | * [[os_cp:assignments|write several concurrent programs]] | + | |
+ | <html> | ||
+ | <!-- | ||
**[[os_cp:2023:results|Assignment grades, test results, final grades (2023)]]** | **[[os_cp:2023:results|Assignment grades, test results, final grades (2023)]]** | ||
+ | --> | ||
+ | </html> | ||
~~META: | ~~META: | ||
language = en | language = en | ||
~~ | ~~ |