Operating systems2014/15
This course explains the working of the fundamental components of a modern operating system.
News
-
Results of the Operating system written test of January, 29th 2016 and oral test calendar
The results of the Operating systems written test of 29/1 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of January 29th, 2016
The Operating systems written test of 29/1 will take place in aula Beta in Via Comelico starting from 8:30.
-
Results of the Operating system written test of September, 24th 2015 and oral test calendar
The results of the Operating systems written test of 24/9 and the oral tests calendar are available.
Earlier news (21)
-
Place and time of the Operating systems written test of September 24th, 2015
The Operating systems written test of 24/9 will take place in aula Beta in Via Comelico starting from 14:30.
-
Results of the Operating system written test of September, 9th 2015 and oral test calendar
The results of the Operating systems written test of 9/9 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of September 9th, 2015
The Operating systems written test of 9/9 will take place in aula Beta in Via Comelico starting from 8:30.
-
Results of the Operating system written test of July, 20th 2015 and oral test calendar
The results of the Operating systems written test of 20/7 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of July 20th, 2015
The Operating systems written test of 20/7 will take place in aula Beta in Via Comelico starting from 8:30.
-
Results of the Operating system written test of July, 7th 2015 and oral test calendar
The results of the Operating systems written test of 7/7 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of July 7th, 2015
The Operating systems written test of 7/7 will take place in aula Beta in Via Comelico starting from 8:30.
-
Updated oral test calendar
The oral tests calendar has been updated, fixing a typo: on 2/7 the exam will be from 9:30.
-
Results of the Operating system written test of June, 19th 2015 and oral test calendar
The results of the Operating systems written test of 19/6 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of June 19th, 2015
The Operating systems written test of 19/6 will take place in aula Beta in Via Comelico starting from 14:30.
-
Office hours of May 28th canceled
The office hours of May 28th are canceled; students can arrange an appointment via e-mail.
-
New workbook on operating systems
The workbook Sistemi operativi – esercizi risolti e commentati. is available.
-
Office hours of April 2nd canceled
The office hours of April 2nd are canceled; students can arrange an appointment via e-mail.
-
Suspension of the Operating systems lesson
The Operating systems class of March, 31st is canceled.
-
Office hours rescheduled on 12/3
Office hours of today will start at 16:00.
-
Office hours for the spring semester
Office hours for the spring semester will be on Thursday at 14:30 in the teacher's office, starting from 5/3.
-
Videos of the Operating systems classes
The operating systems classes video will be available at http://vc.di.unimi.it, using the University mail login credentials.
-
Schedule change for the Operating systems course
Starting March 3rd, 2015 the operating system class schedule will change as follows: Monday 10:30–12:30, aula V3; Tuesday 12:30–14:30, aula V3.
-
Office hours canceled
Regular office hour are canceled until next semester; students can arrange an appointment via e-mail.
-
Semester for the Operating systems course
The class of Operating systems will be delivered in the spring semester.
-
Office hours for the fall semester
Office hours for the fall semester will be on Tuesday at 14:30 in the teacher's office, starting from 9/9.
Course schedule
Lectures will take place at the educational sector of Città studi, according to the following schedule:
| Day | Hour | Place |
|---|---|---|
| Monday | 10:30 - 12:30 | aula V3, via Venezian |
| Tuesday | 12:30 - 14:30 | aula V3, via Venezian |
Any change to the schedule will be announced in class and published in paragraph News of this page. The class videos are available at http://vc.di.unimi.it, using the University mail login credentials.
Office hours
By appointment, room 5015 of the Computer Science Department.
It is possible contact the teacher by e-mail, taking care to read in advance the guide prepared by Prof. Sebastiano Vigna and clearly specifying in the message the course name and the academic year. In particular, students are encouraged to always use their academic address (i.e. based on the domain studenti.unimi.it) signing with name and student ID number and recalling that the response time may vary depending on the teacher commitments.
Course material
The course is mainly based on the following textbook: A. Silberschatz, P. B. Galvin, G. Gagne, Operating Systems Concepts, 9th Edition, International Student Version, Wiley, 2013 (ISBN 978-1-118-09375-7).
Students who are not familiar with the C programming language may refer to the historical text: B. W. Kernighan, D. M. Ritchie, The C Programming language, Prentice Hall, 1988 (ISBN 0-13-110362-8). A more in-depth text is K. N. King, C Programming - A Modern Approach, second edition, W. W. Norton (ISBN 978-0-393-97950-3).
Multi-process code is covered by the textbook and the paper Delve into UNIX process creation.
C sockets are covered by the howto Sockets tutorial.
Students can find practical exercises at the end of each chapter in the textbook or in D. Malchiodi, Sistemi operativi -- esercizi risolti e commentati, 2015 (ISBN 978-88-91091-41-3).
Syllabus
The course explains the topics listed in the lecture calendar, covering the textbook contents in chapters 1, 2 (excluding section 2.8), 3, 4 (sections 4.1–4.4.1 and 4.6), 5 (sections 5.1–5.7 and 5.9.4) 6 (excluding sections 6.6 and 6.7), 7, 8 (sections 8.1–8.6.3), 9 (excluding sections 9.7, 9.8, 9.9.3, 9.9.6, and 9.10), 10 (excluding sections 10.6 and 10.8), 11 (excluding section 11.5) e 12 (until section 12.5, included), as well as the contents of the remaining documents listed in Course material.
Lectures calendar
| Lecture | Date | Topic | Material |
|---|---|---|---|
| L01 | 02/03/2015 | Review of computer architecture | |
| L02 | 03/03/2015 | Introduction to the C language | |
| L03 | 09/03/2015 | Introduction to the C language | |
| L04 | 10/03/2015 | Operating systems structures | |
| L05 | 16/03/2015 | Concurrent processes | |
| L06 | 17/03/2015 | Concurrent processes | |
| L07 | 23/03/2015 | Concurrent processes | |
| L08 | 24/03/2015 | Shared memory and pipes | |
| L09 | 30/03/2015 | CPU management | |
| L10 | 13/04/2015 | CPU management | |
| L11 | 14/04/2015 | Sockets | |
| L12 | 20/04/2015 | Threads | |
| L13 | 21/04/2015 | Synchronization | |
| L14 | 27/04/2015 | Semaphores | |
| L15 | 28/04/2015 | Deadlock detection and prevention | |
| L16 | 04/05/2015 | Deadlock avoidance and removal | |
| L17 | 05/05/2015 | Memory management and contiguous memory allocation | |
| L18 | 11/05/2015 | Pagination | |
| L19 | 12/05/2015 | Segmentation. Virtual memory | |
| L20 | 18/05/2015 | Algorithms for page replacement | |
| L21 | 19/05/2015 | Virtual memory implementation | |
| L22 | 25/05/2015 | File system. Directory structure and protection | |
| L23 | 26/05/2015 | File system implementation | |
| L24 | 08/06/2015 | Low-level I/O |
