OPERATING SYSTEMS
cod. 16593

Academic year 2022/23
2° year of course - First semester
Professor
- Flavio BERTINI
Academic discipline
Informatica (INF/01)
Field
Discipline informatiche
Type of training activity
Characterising
72 hours
of face-to-face activities
9 credits
hub:
course unit
in ITALIAN

Learning objectives

The course proposes a learning path starting from process management and covers the various system activities, including memory, resource and I/O management. In addition to theoretical lectures, the course includes a series of laboratory exercises on operating system management and system programming.

Taking Dublin Indicators into account:

Knowledge and understanding
The course introduces the first concepts related to the operating systems. Particular emphasis is given to the understanding of the main algorithm underlying prominent kernel tasks. The reference text is in Italian, but standard English terminology is commonly used during the lessons as goodwill to the consultation of the international scientific literature.

Applying knowledge and understanding
The knowledge presented is always applied to the resolution of specific problems. The companion exercises are focused on problem solving and testing the comprehension of proposed algorithms. Often the solution methods are presented in the form of an algorithm, providing the students the ability to formalize procedures that are useful in many parts of computer science, and not only in the study of operating systems.

Making judgments
The exercises, which are proposed in relation to the theoretical part presented in class, can be solved individually or in groups. The comparison with classmates, work at home or in classroom, favors the development of specific skills in students to enable the explanation of arguments to fellows and teachers. Often the exercises can be solved in many different ways and listening to the solutions proposed by other allows students to develop the ability to identify common structures, beyond the apparent superficial differences.

Communication skills
The numerous discussions on the different methods to solve problems allow students to improve communication skills. Specific communication of computer technology is also used during classes and exercises.

Learning skills
The study of the origins of technological solutions and their introduction motivated by quantitative considerations contributes to the students’ ability to learn in a comprehensive way. The knowledge acquired is never rigid and definitive, but it is adaptable to any evolution and change of perspective and context.

Prerequisites

Computers architecture.

Course unit content

This course introduces the fundamental principles and concepts of operating systems. In particular, the course analyses the techniques for coordinating and managing the resources of a computing system, allowing for the transformation of the physical machine into an abstract machine with more convenient functionalities for the user.

Full programme

Introduction
Recap on system architectures.
Processes and Thread.
Process state, creation and termination. Thread model. Synchronization: sharing and communication. Process scheduling.
Management of resources. Deadlock
Memory management, paging, segmentation.
I/O devices, controllers, interrupts
File Systems
Unix's shell, scripting, filters.
System programming, system calls, process handling, communication (IPC), threads and FS access.

Bibliography

A. Silberschatz. Operating systems. 10th Edition. Pearson.

Teaching methods

Classes and labs.

Assessment methods and criteria

Learning outcomes and methods of verification.
At the end of the course, the student knows how to understand and appropriately use techniques relating to the management of an operating system; how to work at the logical level with processes, memory and I/O management algorithms; the basic architecture of an operating system and how to manage it via the command line and system programming.

Learning assessment/examination
The exam consists of a written test followed by an optional oral interview. It is possible to take the written test several times, but each attempt cancels the previous one. There will be laboratory exercises with related reports or, alternatively, a small project, to be submitted before the written test. The written test consists of multiple-choice tests, exercises and open questions on the syllabus, while the oral interview includes some questions on the aspects covered throughout the course. There will be a midterm test in November, which, if passed, allows exemption from the first part of the written test from January to June. In this case, the final grade is calculated as the arithmetic mean between the written test and the midterm.

Other information