The course aims at explaining the functions and the architectures of modern operating systems. After a brief introduction on the history of operating systems and their relationship with computer technology, the course describes the problems and the main solutions for memory management (especially virtual memory), CPU scheduling and processes, deadlock and semaphores. Other main topics are I/O management, the file system and some key aspect of security, criptography.
Course Prerequisites
The contents of Fondamenti di Informatica and Calcolatori Elettronici.
Teaching Methods
Lectures conducted using presentations projected on screen (available to students) and insights using the chalkboard.
Assessment Methods
At the end of the course, a written test will be carried out on all the topics discussed. The test consists of open-ended theoretical questions and practical exercises.
Texts
Silberschatz, Galvin, Gagne. Operating System Concepts, 7th . Edition. Wiley
Andrew S Tanenbaum Albert S Woodhull. Operating Systems Design and Implementation, 3/E .. Prentice Hall
Contents
Introduction to operating systems History of the operating systems. Classification of operating systems.
CPU and memory management CPU states. Definition of process and sheduling. Interprocess comunication: semaphores and deadlock. Memory management. Virtual memory.
File system Files, space allocation on disks. Filesystem management. I/O scheduling.
Security The security of operating systems. Virus, logical bombs, trapdoor ... Introduction to cryptography.