User Tools

Site Tools


os
Return to Home page

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 [2019/08/13 23:56]
zioskenz [Slides]
os [2019/12/09 16:27] (current)
zioskenz
Line 1: Line 1:
 ====== Operating Systems Course ====== ====== Operating Systems Course ======
 **Teacher:​** Stefano Scanzio\\ **Teacher:​** Stefano Scanzio\\
-**www:** [[https://​skenz.it/​ss]]\\+**www:** [[https://www.skenz.it/​ss]]\\
 **email:** stefano.scanzio [ AT_SYMBOL ] polito.it **email:** stefano.scanzio [ AT_SYMBOL ] polito.it
 +
 +===== News =====
 +  * [2019/​12/​09]:​ Added text of the eighth exam, added new and definitive cheat sheets, added solution of 2019/09/05 exam, added example of bash script [[https://​www.skenz.it/​cs/​bash_language/​exam_20140908|Exam 20140908]]
 +  * [2019/​12/​04]:​ Added examples of bash scripts for [[https://​www.skenz.it/​cs/​bash_language/​read_files|Read files]] and about [[https://​www.skenz.it/​cs/​bash_language/​arrays|Arrays (normal and associative)]]
 +  * [2019/​12/​02]:​ **Changes in course calendar:** [[os:​Calendar]]
 +  * [2019/​11/​28]:​ Added text of the **seventh** laboratory and solutions of the fifth laboratory
 +  * [2019/​11/​25]:​ Added text of the **sixth** laboratory and solutions of the fourth laboratory
 +  * [2019/​11/​22]:​ Added possibilities of **two interships and one PhD**. See at the end of the page. Please, disseminate the information!
 +  * [2019/​11/​18]:​ Added [[os:find]] and [[os:​filters]],​ text of the fifth laboratory, and solution of the sixth laboratory
 +  * [2019/​11/​08]:​ **All the slides** of the course have been added
 +  * Added text of the **fourth laboratory**
 +  * Added in **Exams** section the cheat sheets that can be used during the exam (PRINT them!)
  
 ===== Slides ===== ===== Slides =====
  
-  * **u00Introduction to the course:** slides+  * [[os:Calendar]]
  
-  * **u01: Introduction to Operationg ​systems**+  ​* **u00: Introduction to the course:** [[https://​www.skenz.it/​listing/​os/​u00-general-introduction/​u00s01-general-introduction.pdf|u00s01-general-introduction.pdf]] 
 + 
 +  ​* **u01: Introduction to Operating ​systems**
     - Introduction to Operating Systems (part A): [[https://​www.skenz.it/​listing/​os/​u01-introduction/​u01s01-introductionA.pdf|u01s01-introductionA.pdf]]     - Introduction to Operating Systems (part A): [[https://​www.skenz.it/​listing/​os/​u01-introduction/​u01s01-introductionA.pdf|u01s01-introductionA.pdf]]
     - Introduction to Operating Systems (part B): [[https://​www.skenz.it/​listing/​os/​u01-introduction/​u01s02-introductionB.pdf|u01s02-introductionB.pdf]]     - Introduction to Operating Systems (part B): [[https://​www.skenz.it/​listing/​os/​u01-introduction/​u01s02-introductionB.pdf|u01s02-introductionB.pdf]]
Line 18: Line 32:
   * **u03: Linux environment **   * **u03: Linux environment **
     - UNIX & Linux commands (Part A): [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s01-commandsPartA.pdf|u03s01-commandsPartA.pdf]]     - UNIX & Linux commands (Part A): [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s01-commandsPartA.pdf|u03s01-commandsPartA.pdf]]
-    - C programming tools: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s02-programmingTools.pdf|u03s02-programmingTools.pdf]] +    - C programming tools: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s02-programmingTools.pdf|u03s02-programmingTools.pdf]] ​(Examples: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s02e/​|u03s02e]]) 
-    - Regular expressions and find: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s03-RegExpr-Find.pdf|u03s03-RegExpr-Find.pdf]] +    - Regular expressions and find: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s03-RegExpr-Find.pdf|u03s03-RegExpr-Find.pdf]] ​(Imp. Examples: [[os:​Find]]) (Examples: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s03e/​|u03s03e]]) 
-    - Filters: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s04-filters.pdf|u03s04-filters.pdf]]+    - Filters: [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s04-filters.pdf|u03s04-filters.pdf]] ​(Imp. Examples: [[os:​Filters]])
     - UNIX & Linux commands (Part B): [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s05-commandsPartB.pdf|u03s05-commandsPartB.pdf]]     - UNIX & Linux commands (Part B): [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s05-commandsPartB.pdf|u03s05-commandsPartB.pdf]]
  
   * **u04: Processes **   * **u04: Processes **
-    - Introduction to Linux processes: ​ [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s01-introduction-to-processes.pdf|u04s01-introduction-to-processes.pdf]]+    - Introduction to Linux processes: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s01-introduction-to-processes.pdf|u04s01-introduction-to-processes.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s01e/​|u04s01e]]) 
 +    - Theoretical Aspects: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s02-theoretical-aspects.pdf|u04s02-theoretical-aspects.pdf]] 
 +    - Advanced Control (exec): [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s03-exec.pdf|u04s03-exec.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s03e/​|u04s03e]]) 
 +    - Signals: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s04-signals.pdf|u04s04-signals.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s04e/​|u04s04e]]) 
 +    - Shell commands for process management: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s05-processes-shell-commands.pdf|u04s05-processes-shell-commands.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s05e/​|u04s05e]]) 
 +    - Inter process communication (and pipe): [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s06-interProcessCommunication.pdf|u04s06-interProcessCommunication.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s06e/​|u04s06e]]) 
 +    - Shell commands for Pipes and redirections:​ [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s07-pipe-shell-commands.pdf|u04s07-pipe-shell-commands.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s07e/​|u04s07e]]) 
 +    * Interrupts (Outside the course topics) **Not required at the exam**: [[https://​www.skenz.it/​listing/​os/​u04-processes/​u04s10-interrupts.pdf|u04s10-interrupts.pdf]]
  
 +  * **u05: Threads **
 +    - Threads: [[https://​www.skenz.it/​listing/​os/​u05-threads/​u05s01-threads.pdf|u05s01-threads.pdf]]
 +    - Pthread library: [[https://​www.skenz.it/​listing/​os/​u05-threads/​u05s02-pthreads.pdf|u05s02-pthreads.pdf]] (Imp. Commented Example: [[https://​www.skenz.it/​cs/​posix/​threads_example1|threads_example1]]) (Examples: [[https://​www.skenz.it/​listing/​os/​u05-threads/​u05s02e/​|u05s02e]])
 +    - Concurrency:​ theoretical aspects: [[https://​www.skenz.it/​listing/​os/​u05-threads/​u05s03-concurrency-theoretical-aspects.pdf|u05s03-concurrency-theoretical-aspects.pdf]]
  
 +  * **u06: Shell programming **
 +    - Shells: [[https://​www.skenz.it/​listing/​os/​u06-shell/​u06s01-shell.pdf|u06s01-shell.pdf]]
 +    - Shell scripts: [[https://​www.skenz.it/​listing/​os/​u06-shell/​u06s02-script.pdf|u06s02-script.pdf]] (Imp. Commented Examples: [[https://​www.skenz.it/​cs/​bash_language/​read_files|Read files]], [[https://​www.skenz.it/​cs/​bash_language/​arrays|Arrays (normal and associative)]]) ​ (Examples: [[https://​www.skenz.it/​listing/​os/​u06-shell/​u06s02e/​|u06s02e]])
 +    - Bash script exercises: [[https://​www.skenz.it/​listing/​os/​u06-shell/​u06s03-script-exercises.pdf|u06s03-script-exercises.pdf]] (Imp. Commented Examples: [[https://​www.skenz.it/​cs/​bash_language/​exam_20140908|Exam 20140908]])
 +
 +
 +  * **u07: Synchronization **
 +    - Critical sections: [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s01-CriticalSections.pdf|u07s01-CriticalSections.pdf]]
 +    - Software solutions: [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s02-Sw-solutions.pdf|u07s02-Sw-solutions.pdf]]
 +    - Hardware solutions: [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s03-Hw-solutions.pdf|u07s03-Hw-solutions.pdf]]
 +    - Semaphores: [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s04-Semaphores.pdf|u07s04-Semaphores.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s04e01Proc/​|u07s04e01Proc]],​ [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s04e01Thread/​|u07s04e01Thread]],​ [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s04e02Thread/​|u07s04e02Thread]])
 +    - Classical Synchronization Problems: [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s05-ClassicalProblems.pdf|u07s05-ClassicalProblems.pdf]]
 +    - Exercises on Concurrent Programming:​ [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s06-Esercises.pdf|u07s06-Esercises.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u07-synchronization/​u07s06e01Thread/​|u07s06e01Thread]])
 +
 +
 +  * **u08: CPU Scheduling **
 +    - CPU Scheduling: [[https://​www.skenz.it/​listing/​os/​u08-schedulingCPU/​u08s01-scheduling.pdf|u08s01-scheduling.pdf]]
 +
 +  * **u09: Deadlock **
 +    - Definition and modeling [[https://​www.skenz.it/​listing/​os/​u09-deadlock/​u09s01-deadlock.pdf|u09s01-deadlock.pdf]]
 +    - Deadlock prevention techniques [[https://​www.skenz.it/​listing/​os/​u09-deadlock/​u10s02-prevention.pdf|u10s02-prevention.pdf]]
 +    - Dead1lock avoidance techniques [[https://​www.skenz.it/​listing/​os/​u09-deadlock/​u10s03-avoidance.pdf|u10s03-avoidance.pdf]]
 +
 +  * u20: AWK (Outside the course topics) **Not required at the exam**
 +    - AWK: [[https://​www.skenz.it/​listing/​os/​u20-awk/​u20s01-awk.pdf|u20s01-awk.pdf]]
 ===== Laboratories ===== ===== Laboratories =====
 +In the LAIBs you can use a virtual machine with Ubuntu: [[https://​webdoc.laib.polito.it/​index.php/​5-procedure-operative/​17-4-12-supporto-specifico-ai-corsi/​114-vdi-linux-english-new|guide]],​ [[https://​vdilinux.linfa.polito.it/​ovirt-engine/​userportal/​|login link]] (links accessible only within the Polito network).
 +
 +
   * [[os:​Lab01]]:​ Management of files and directories,​ Permissions management, Link and comparisons between files, C programs and compilation   * [[os:​Lab01]]:​ Management of files and directories,​ Permissions management, Link and comparisons between files, C programs and compilation
-  ​* [[os:​Lab02]]: ​content +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab01|lab01]] 
-  * [[os:​Lab03]]: ​content +  ​* [[os:​Lab02]]: ​Recursive visualization of a directory, Compilation and makefile, Recursive copy of a directory 
-  * [[os:​Lab04]]: ​content +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab02|lab02]] 
-  * [[os:​Lab05]]: ​content +  * [[os:​Lab03]]: ​Analysis of concurrent programs, System call fork and shell commands related to processes, Precedence graph 
-  * [[os:​Lab06]]: ​content +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab03|lab03]] 
-  * [[os:​Lab07]]: ​content +  * [[os:​Lab04]]: ​System call fork, exec, system 
-  * [[os:​Lab08]]: ​content +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab04|lab04]] 
-  * [[os:Lab09]]: content +  * [[os:​Lab05]]: ​Shell commands for processes and redirection,​ concurrency using fork() and wait(), use of signals 
-  * [[os:Lab10]]: content +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab05|lab05]] 
-  * [[os:Lab11]]: content+  * [[os:​Lab06]]: ​Signals and pipe, Pipe and synchronization,​ Command find, Filters 
 +  * [[os:​Lab07]]: ​From recursion to concurrency,​ Concurrent file sorting, Concurrent file sorting and merging 
 +  * [[os:​Lab08]]: ​Bash scripts 
 + 
 +===== Guides ===== 
 +  * **Ubuntu installation**:​ Possible guide to follow to install Ubuntu on the Virtualbox virtual machine ​[[https://​itsfoss.com/​install-linux-in-virtualbox/​]] (download Ubuntu 18.04 LTS for a stable version, or the latest Ubuntu 19.04) 
 +  * **Vim:** Text editor ​[[ftp://​ftp.vim.org/​pub/​vim/​doc/​book/​vimbook-OPL.pdf|vimbook-OPL.pdf (book about VIM)]], [[https://​buildmedia.readthedocs.org/​media/​pdf/​vimguide/​latest/​vimguide.pdf|vimguide.pdf (most important commands)]] 
 +  * **Emacs:** Text editor ​[[https://​www.gnu.org/​software/​emacs/​manual/​pdf/​emacs.pdf|emacs.pdf]], [[https://​www.tldp.org/​HOWTO/​pdf/​Emacs-Beginner-HOWTO.pdf|Emacs-Beginner-HOWTO.pdf (beginner)]] 
  
 ===== Exams ===== ===== Exams =====
 +==== Cheat sheet ====
 +Cheat sheet that can be used during the exam (PRINT them!)
 +  * Cheat Sheet Commands: [[https://​www.skenz.it/​listing/​os/​other/​cheatSheetCommands.pdf|cheatSheetCommands.pdf]]
 +  * Cheat Sheet Threads: [[https://​www.skenz.it/​listing/​os/​other/​cheatSheetThreads.pdf|cheatSheetThreads.pdf]]
 +  * Cheat Sheet Bash: [[https://​www.skenz.it/​listing/​os/​other/​cheatSheetBash.pdf|cheatSheetBash.pdf]]
 +
 +==== Exam texts and solutions ====
 +**2019:** [[https://​www.skenz.it/​listing/​os/​exams/​20190905.pdf|20190905.pdf]] ([[https://​www.skenz.it/​listing/​os/​exams/​20190905_sol.pdf|20190905_sol.pdf]])
 +
 +
 +===== Highlights =====
 +<​html><​b><​span style="​color:​red;​font-size:​150%">​[2019/​11/​25] 2 Intership and a PhD position in Luxembourg (Luxembourg Institute of Science and Technology - LIST) </​span></​b></​html>​\\
 +For student at the end of an engineering cycle (Master of Science or Master 2) in Electronic Engineering,​ Computer Science or Applied Mathematics.\\
 +The intership will be **paid**.\\
 +Please contact stefano.scanzio [at] ieiit.cnr.it ​ and  mariarita.palattella [at] list.lu\\
 +**Details:​**
 +Intership 1 :​[[https://​www.skenz.it/​repository/​ss/​Intership_LIST_5G_IoT_satellite_networks.pdf|Intership_LIST_5G_IoT_satellite_networks.pdf]],​ Intership 2: [[https://​www.skenz.it/​repository/​ss/​MRT-2020-Intern-003.pdf|MRT-2020-Intern-003.pdf]],​ PhD: [[https://​www.skenz.it/​repository/​ss/​LoRaSAT_PhD_open_position.pdf|LoRaSAT_PhD_open_position.pdf]]
 +
 +
 +**Please, if interested express your interest quickly!**
 +
  
 ===== Proposed Theses (Master Degree) ===== ===== Proposed Theses (Master Degree) =====
 Thesis proposals can be downloaded here: [[https://​www.skenz.it/​ss/​theses]]\\ Thesis proposals can be downloaded here: [[https://​www.skenz.it/​ss/​theses]]\\
 **If interested**,​ for informations,​ contact: stefano.scanzio stefano.scanzio [ AT_SYMBOL ] polito.it polito.it ​ (tel. 011 090 5438)  www: [[https://​www.skenz.it/​ss]] **If interested**,​ for informations,​ contact: stefano.scanzio stefano.scanzio [ AT_SYMBOL ] polito.it polito.it ​ (tel. 011 090 5438)  www: [[https://​www.skenz.it/​ss]]

If you found any error, or if you want to partecipate to the editing of this wiki, please contact: admin [at] skenz.it

You can reuse, distribute or modify the content of this page, but you must cite in any document (or webpage) this url: https://www.skenz.it/os?rev=1565733365&do=diff
/web/htdocs/www.skenz.it/home/data/attic/os.1565733365.txt.gz · Last modified: 2019/08/13 23:56 by zioskenz

Privacy Policy