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
Last revision Both sides next revision
os [2019/05/24 23:34]
zioskenz
os [2020/03/03 15:22]
zioskenz [News]
Line 1: Line 1:
 ====== Operating Systems Course ====== ====== Operating Systems Course ======
 +**Teacher:​** Stefano Scanzio\\
 +**www:** [[https://​www.skenz.it/​ss]]\\
 +**email:** stefano.scanzio [ AT_SYMBOL ] polito.it
  
 +===== News =====
 +  * [2020/​03/​03]:​ Added solution of 2020/02/12 exam [[https://​www.skenz.it/​listing/​os/​exams/​20200212_sol.pdf|20200212_sol.pdf]] ​
 +  * [2020/​02/​15]:​ Added text of the last exam [[https://​www.skenz.it/​listing/​os/​exams/​20200212.pdf|20200212.pdf]]
 +  * [2020/​01/​16]:​ **Remenber to print the three "Cheat sheets"​ for the exam**
 +  * [2020/​01/​16]:​ Added all the material
 + 
 +===== Slides =====
  
-===== Laboratory ​===== +  * [[os:​Calendar]] 
-  * [[os:​Lab01]]: ​content + 
-  * [[os:​Lab02]]: ​content +  * **u00: Introduction to the course:** [[https://​www.skenz.it/​listing/​os/​u00-general-introduction/​u00s01-general-introduction.pdf|u00s01-general-introduction.pdf]] 
-  * [[os:​Lab03]]: ​content + 
-  * [[os:​Lab04]]: ​content +  * **u01: Introduction to Operating systems** 
-  * [[os:​Lab05]]: ​content +    - Introduction to Operating Systems (part A): [[https://​www.skenz.it/​listing/​os/​u01-introduction/​u01s01-introductionA.pdf|u01s01-introductionA.pdf]] 
-  * [[os:​Lab06]]: ​content +    - Introduction to Operating Systems (part B): [[https://​www.skenz.it/​listing/​os/​u01-introduction/​u01s02-introductionB.pdf|u01s02-introductionB.pdf]] 
-  * [[os:​Lab07]]: ​content + 
-  * [[os:​Lab08]]: ​content +  * **u02: File system** 
-  * [[os:​Lab09]]: ​content +    - Files in Linux: [[https://​www.skenz.it/​listing/​os/​u02-file_system/​u02s01-file.pdf|u02s01-file.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u02-file_system/​u02s01e/​|u02s01e]]) 
-  * [[os:​Lab10]]: ​content +    -  Directories in Linux: [[https://​www.skenz.it/​listing/​os/​u02-file_system/​u02s02-direttories.pdf|u02s02-direttories.pdf]] (Examples: [[https://​www.skenz.it/​listing/​os/​u02-file_system/​u02s02e/​|u02s02e]]) 
-  * [[os:​Lab11]]: ​content+ 
 +  * **u03: Linux environment ** 
 +    - 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]] (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]] (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]] (Imp. Examples: [[os:​Filters]]) 
 +    - UNIX & Linux commands (Part B): [[https://​www.skenz.it/​listing/​os/​u03-Linux-environment/​u03s05-commandsPartB.pdf|u03s05-commandsPartB.pdf]] 
 + 
 +  * **u04: Processes ** 
 +    - 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]] 
 +    - Deadlock 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 ​===== 
 +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 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab01|lab01]] 
 +  * [[os:​Lab02]]: ​Recursive visualization of a directory, Compilation and makefile, Recursive copy of a directory 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab02|lab02]] 
 +  * [[os:​Lab03]]: ​Analysis of concurrent programs, System call fork and shell commands related to processes, Precedence graph 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab03|lab03]] 
 +  * [[os:​Lab04]]: ​System call fork, exec, system 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab04|lab04]] 
 +  * [[os:​Lab05]]: ​Shell commands for processes and redirection,​ concurrency using fork() and wait(), use of signals 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab05|lab05]] 
 +  * [[os:​Lab06]]: ​Signals and pipe, Pipe and synchronization,​ Command find, Filters 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab06|lab06]] 
 +  * [[os:​Lab07]]: ​From recursion to concurrency,​ Concurrent file sorting, Concurrent file sorting and merging 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab07|lab07]] 
 +  * [[os:​Lab08]]: ​Bash scripts 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab08|lab08]] 
 +  * [[os:​Lab09]]: ​Access to critical sections, precedence graphs with semaphores 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab09|lab09]] 
 +  * [[os:​Lab10]]: ​Concurrent programs with semaphores 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab10|lab10]] 
 +  * [[os:​Lab11]]: ​Pseudo-exam test 
 +    * Solution: [[https://​www.skenz.it/​listing/​os/​lab_sol/​lab11|lab11]] 
 +===== 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 ===== 
 +==== 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 ==== 
 +  * **IMP: Exercises from exams (analyzed in class):** [[https://​www.skenz.it/​listing/​os/​exams/​exercises_exams.pdf|exercises_exams.pdf]] ([[https://​www.skenz.it/​listing/​os/​exams/​exercises_exams_sol.pdf|exercises_exams_sol.pdf]]) 
 +  * **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]]) 
 +  * **2020:** [[https://​www.skenz.it/​listing/​os/​exams/​20200127.pdf|20200127.pdf]] ([[https://​www.skenz.it/​listing/​os/​exams/​20200127_sol.pdf|20200127_sol.pdf]]),​ [[https://​www.skenz.it/​listing/​os/​exams/​20200212.pdf|20200212.pdf]] ([[https://​www.skenz.it/​listing/​os/​exams/​20200212_sol.pdf|20200212_sol.pdf]]) 
 + 
 +==== Exam in Italian ==== 
 +In the following link you can find previous exams with solutions of the Italian version of the course: 
 +[[http://​fmgroup.polito.it/​quer/​teaching/​so/​teaching.htm|http://​fmgroup.polito.it/​quer/​teaching/​so/​teaching.htm]] 
 + 
 +/* 
 +===== 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) ===== 
 +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 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?do=diff&rev2%5B0%5D=1558733657&rev2%5B1%5D=1583245354&difftype=sidebyside
/web/htdocs/www.skenz.it/home/data/pages/os.txt · Last modified: 2020/03/05 16:13 by zioskenz

Privacy Policy