Operating systems2012/13
This course explains the working of the fundamental components of a modern operating system.
News
-
Results of the Operating system written test of January, 30th 2014 and oral test calendar
The results of the Operating systems written test of 30/1 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of January 30, 2014
The Operating systems written test of 30/1 will take place in aula Beta in Via Comelico starting from 8:30.
-
Results of the Operating system written test of January, 16th 2014 and oral test calendar
The results of the Operating systems written test of 16/1 and the oral tests calendar are available.
Earlier news (15)
-
Place and time of the Operating systems written test of January 16, 2014
The Operating systems written test of 16/1 will take place in aula Alfa in Via Comelico starting from 15:30.
-
Results of the Operating system written test of September, 9th 2013 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 9, 2013
The Operating systems written test of 9/9 will take place in aula Beta in Via Comelico starting from 15:00.
-
Results of the Operating system written test of July, 23rd 2013 and oral test calendar
The results of the Operating systems written test of 23/7 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of July 23, 2013
The Operating systems written test of 23/7 will take place in aula Beta in Via Comelico starting from 8:30.
-
Results of the Operating system written test of July, 4th 2013 and oral test calendar
The results of the Operating systems written test of 4/7 and the oral tests calendar are available.
-
Place and time of the Operating systems written test of July 4, 2013
The Operating systems written test of 4/7 will take place in aula V3 in Via Venezian starting from 8:30.
-
Results of the Operating system written test of June, 19th 2013 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 19, 2013
The Operating systems written test of 19/6 will take place in aula beta in Via Comelico starting from 14:30.
-
Schedule change for the Operating systems course
Last class of the Operating systems course will be held on Monday 17/6 between 8:30 and 10:30 in aula 405.
-
Cancellation of the Operating systems classe of 30/5
30/5 class is canceled due to a conference.
-
Office hours canceled
Regular office hour are canceled until next semester; students can arrange an appointment via e-mail.
-
Cancellation of the Operating systems classes of 16/5 and 22/5
16/5 and 22/5 classes are canceled due to a EC project meeting.
-
Office hours canceled
Office hours of 2/5 and 9/5 are canceled; students can arrange an appointment via e-mail.
-
Office hours canceled
Office hours of 28/02 are canceled; students can arrange an appointment via e-mail.
Course schedule
Lectures will take place at the educational sector of Città studi, according to the following schedule:
| Day | Hour | Place |
|---|---|---|
| Wednesday | 8:30 - 10:30 | aula 405 |
| Thursday | 8:30 - 10:30 | aula 405 |
Any change to the schedule will be announced in class and published in paragraph News of this page.
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, 8th Edition, International Student Version, Wiley, 2009 (ISBN 978 - 0-470-23399-3).
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.
Shell scripts are explained in the tutorial BashGuide.
Syllabus
The course roughly covers the textbook contents in chapters 1 to 12, as well as the contents of the remaining documents listed in Course material. The syllabus will be updated after the end of the lectures.
Lectures calendar
| Lecture | Date | Topic | Material |
|---|---|---|---|
| L01 | 06/03/2013 | Review of computer architecture | |
| L02 | 07/03/2013 | Introduction to the C language | |
| L03 | 13/03/2013 | Introduction to the C language | |
| L04 | 14/03/2013 | Operating systems structures | |
| L05 | 20/03/2013 | Operating systems structures | |
| L06 | 21/03/2013 | Concurrent processes | |
| L07 | 27/03/2013 | Concurrent processes | |
| L08 | 04/04/2013 | CPU management | |
| L09 | 10/04/2013 | CPU management | |
| L10 | 11/04/2013 | Shared memory and pipes | |
| L11 | 17/04/2013 | Sockets | |
| L12 | 18/04/2013 | Threads | |
| L13 | 24/04/2013 | Synchronization | |
| L14 | 02/05/2013 | Semaphores | |
| L15 | 08/05/2013 | Deadlock detection and prevention | |
| L16 | 09/05/2013 | Deadlock avoidance and removal | |
| L17 | 15/05/2013 | Memory management and contiguous memory allocation | |
| L18 | 23/05/2013 | Pagination | |
| L19 | 29/05/2013 | Segmentation. Virtual memory | |
| L20 | 05/06/2013 | Algorithms for page replacement | |
| L21 | 06/06/2013 | Virtual memory implementation | |
| L22 | 12/06/2013 | File system. Directory structure and protection | |
| L23 | 13/06/2013 | File system implementation | |
| L24 | 17/06/2013 | Low-level I/O |
