08574 - Operating Systems

Academic Year 2025/2026

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Information Science for Management (cod. 6060)

Learning outcomes

At the end of the course, the student knows the fundamental concepts and algorithms in use in modern operating systems. The student also learns how to use programming languages, mainly those based on objects, to handle concurrency and distribution and to program services

Course contents

1: Introduction to operating systems (OS) 2: Summary of concepts of architecture of computing systems 3: General organisation of an OS 4: Processes and threads 5: Concurrency and communication 6: CPU Scheduling 7: Memory management 8: File systems 9: Concepts of distributed systems 10: Distributed comunication 11: Protection, security and cryptography

See the course main web page, reachable from the lecturer's web page, for more details.


Readings/Bibliography

Silberschatz, Galvin, and Gagne, Applied Operating Systems Concepts, John Wiley and Sons (various editions exist, all valid). Note: other books are well possible, discuss this with the lecturer

Concerning object-oriented programming in Java with concurrency and distribution, an excellent text is: "Oggetti concorrenza distribuzione. Programmare a diversi livelli di astrazione", Crafa Silvia, edizioni Esculapio, 2014 (there are several English text on the same topic)

Teaching methods

The integrated course consists of about 110 hours, of which 40% in the "Laboratory" module, where the topics exposed in the main lectures are further discussed with examples and exercises.


Assessment methods

There is a written exam, plus a project that is part of the "laboratory" module. The final note takes into account both the written exam and the project, although with a higher weight for the written exam. The goal of the written exam is to check the understanding of the concepts introduced in the lectures and the ability of being able to use them in concrete situations presented as short exercises. The project is a software development, that is carried out within groups of students; its goal is to check the understanding of the programming constructs for concurrency and distribution, described during the course.
 
An oral exam is possible too, both to allow a student to improve on the note of the written exam, and to permit a more precise evaluation of the written exam by the teacher.

See the course main web page, reachable from the lecturer's web page, for more details.

Teaching tools

The slides used during the lectures will be made available to the students via internet, and reachable from the course main web page (reachable from the lecturer's home page)

Links to further information

http://www.cs.unibo.it/~sangio/SO_currentAA/SO.html

Office hours

See the website of Davide Sangiorgi