Operating Systems

A.Y. 2023/2024
6
Max ECTS
48
Overall hours
SSD
INF/01
Language
Italian
Learning objectives
The goal of this course is to teach the foundation about architecture and functionalities of modern operating systems. To this aim, the basic elements composing an operating system are analyzed together with the strategies used to make them interact with each other and with the hardware.
Expected learning outcomes
The student must be able to describe in a proper way the strategies adopted by an operating system for resource management and to put them in the context of the actual operating systems in use today. Moreover, the student must be able to describe and apply basic algorithms for memory, processes, and deadlock management.
Single course

This course can be attended as a single course.

Course syllabus and organization

Single session

Responsible
Lesson period
First semester
Lessons will be attended in a classroom, if the sanitary situation would allow this solution. Otherwise lessons will be online, on Teams.
With respect to evaluation exams, until the emergency situation will last, the written part will be suppressed.
Course syllabus
The main topics are:

- Introduction to operating systems
- Core elements of O.S.
- Processes e threads
- Thread management in Java
- Inter-Process Communication
- Processes scheduling policies
- Memory management
- Paging and segmentation
- Virtual memory implementation
- File system
- Logical Volume Manager
- File system implementation
- Virtualisation architectures
- I/O management
- Deadlock management
- Cloud Computing
- Multimedia support
Prerequisites for admission
It is strongly recommended to have already taken the exams of computers architecture (architettura degli elaboratori) and programming (programmazione).
Teaching methods
Lectures
Teaching Resources
Website: http://sistemioperativif9x.ariel.ctu.unimi.it/

Textbook: Andrew S. Tanenbaum, "Modern Operating Systems", 5th ed., ISBN 978-0133591620

Additional material will be made available on the course website
Assessment methods and Criteria
The exam consists of three tests.
The first test is a multiple choice quiz. The candidate must answer correctly to 50% + 1 of the questions to be eligible. Passing the first test does not contribute to the final grade.
The second test is an oral interview. During the interview, the student is required to solve a numerical exercise about process scheduling or pages pages substitution in a virtual memory. After this exercise, the student must answer to questions about concurrent programming. Passing this test contributes up to 6 points to the final grade.
The third test is an oral interview on the rest of the course syllabus and contributes up to 26 points to the final grade.
The evaluation of the interviews takes into account the knowledge of the topics, the clarity of exposition, and the property of language.
To pass the exam, a student must pass all three tests.
The final grade, in a scale between 1 and 30, is the sum of the results of the second and third tests.
In case of failure in one of the tests, the student will be required to repeat the whole procedure in a subsequent session.
INF/01 - INFORMATICS - University credits: 6
Lessons: 48 hours
Professor: Maggiorini Dario
Educational website(s)
Professor(s)
Reception:
Thu. 14:00 - 16:00 by appointment
Office 3003