===== Operating Systems and Concurrent Programming ===== === Course materials === -
[shell] [[os_cp:intro|Introduction to Unix-like operating systems. Getting help. Browsing filesystem.]]
[[os_cp:intro:solutions|Solutions to exercises]]
[shell] [[os_cp:tba|Editing line in console. Console text editors.]]
[[os_cp:tba:solutions|Solutions to exercises]]
-
[shell] [[os_cp:files_processes|File operations. Processes.]]
[[os_cp:files_processes:solutions|Solutions to exercises]]
-
[shell] [[os_cp:users_permissions|Users. File Permissions.]]
[[os_cp:users_permissions:solutions|Solutions to exercises]]
[shell] [[os_cp:locate_find|Searching for files.]]
[[os_cp:locate_find:solutions|Solutions to exercises]]
-
[shell] [[os_cp:redirects_pipes|Redirections. Pipes. Filters.]]
[[os_cp:redirects_pipes:solutions|Solutions to exercises]]
-
[shell] ┬ [[os_cp:scripting|Scripting. Job control. Environment variables.]]
[[os_cp:scripting:solutions|Solutions to exercises]]
- [shell] ┘ - [shell] Test.   ([[os_cp:exercises-shell|Example questions for the test.]]) \\
[programming]┬ [[os_cp:threads|Threads. Mutexes. Critical sections. Conditional variables.]]
[[os_cp:threads:solutions|Solutions to exercises]]
- [programming]┤
**[[os_cp:find_out_what_is_going_on2|Homework.]]** - [programming]┘ -
[programming] [[os_cp:prog_intro_read_write|Introduction to programming. File descriptors. Basic I/O.]]
[[os_cp:prog_intro_read_write:solutions|Solutions to exercises]]
-
[programming] [[os_cp:open_fork|Opening a file. Forking.]]
[[os_cp:open_fork:solutions|Solutions to exercises]]
-
[programming] [[os_cp:exec_dup|Exec. Duplicating descriptors.]]
[[os_cp:exec_dup:solutions|Solutions to exercises]]
-
[programming] [[os_cp:pipes_signals|Pipes. Signals. Shared memory.]]
[[os_cp:pipes_signals:solutions|Solutions to exercises]]
-
[programming] [[os_cp:semaphores|Semaphores. Critical sections.]]
[[os_cp:semaphores:solutions|Solutions to exercises]]
**The course materials are begin rearranged this year.** Expect changes to bring the materials to for a logically consistent course. The snippets in smaller font or tagged with [extra] are supplementary. **[[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: * https://www.cs.put.poznan.pl/csobaniec/edu/oscp/ ← this is password-protected. Ask me for the password. Supplementary materials: * [shell] https://www.gnu.org/software/bash/manual/bash.html * [shell] https://www.gnu.org/software/coreutils/manual/coreutils.html * [shell] https://tldp.org/LDP/Bash-Beginners-Guide/html/index.html * [shell] https://tldp.org/LDP/abs/html/index.html * [programming] https://deadlockempire.github.io/ Assignments in the previous year: [[os_cp:assignments|2023]] ~~META: language = en ~~