User Tools

Site Tools


os_cp

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
os_cp [2023/05/23 23:33]
jkonczak
os_cp [2025/04/10 00:21] (current)
jkonczak [Operating Systems and Concurrent Programming]
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 operationsProcesses.]] <​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|RedirectionsPipes. 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 fileForking.]]<​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|ExecDuplicating 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 consoleConsole 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|UsersFile 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|RedirectionsPipes. 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|ScriptingJob 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>​ 
 +  - [shellTest.   ([[os_cp:exercises-shell|Example questions for the test.]]) \\ <​html>​ 
 +          ​<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>​ 
 +        <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]┘
-  - [shellSearching for files. ​Environment variablesJob controlMiscellany+  - <​html>​ 
-  - [shellScripting. <​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></​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|ForkExec. 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.   ([[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><​!-- 
 +    ​</​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>​
  
-The snippets in <​html>​<​small>​smaller font</​small></​html> or tagged with [extra] are supplementary.+The snippets in <​small>​smaller font</​small>​ or tagged with [extra] are supplementary.
  
-=== More course materials ​ ===+<​html><​!-- **[[os_cp:​2024:​results|Test results, assignments results, grades. (2024)]]** --></​html>​ 
 + 
 +=== 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:​2025:​shell_assignment|list of topics]] 
 +    * write a concurrent program 
 +<​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 ​ ===
  
 Basic materials: Basic materials:
Line 31: Line 165:
   * [shell] https://​tldp.org/​LDP/​Bash-Beginners-Guide/​html/​index.html   * [shell] https://​tldp.org/​LDP/​Bash-Beginners-Guide/​html/​index.html
   * [shell] https://​tldp.org/​LDP/​abs/​html/​index.html   * [shell] https://​tldp.org/​LDP/​abs/​html/​index.html
 +  * [programming] https://​deadlockempire.github.io/​
  
-=== Grading ===+<​small>​
  
-All students have to+Assignments in the previous years
-  * pass a test at the end of semester (details TBA) +  * 2024: [[os_cp:​2024:​shell_assignment|shell]],​ [[os_cp:​2024:​prog_assignment|programming]] 
-  * [[os_cp:​assignments|write several concurrent programs]]+  * [[os_cp:​assignments|2023]]
  
 +</​small>​
  
  
os_cp.1684877618.txt.gz · Last modified: 2023/05/23 23:33 by jkonczak