Course Details for A.Y. 2015/2016
Name:
Sistemi Operativi / Operating Systems
Basic information
Credits:
: Laurea in Ingegneria dell'Informazione 6 CFU (b)
Degree(s):
Laurea in Ingegneria dell'Informazione 3rd anno curriculum Comune Compulsory
Language:
Italian
Course Objectives
The student will be introduced to the most important aspects of modern operating systems: operating system structures; processes and threads management; CPU scheduling; process synchronization; deadlock management; RAM management; virtual memory; file system. All these concepts are fundamental to all real world operating systems. They are illustrated both from the metodological point of view and through examples of some real-world operating systems.
Course Content
- Introduction to modern Operating Systems. Definition, objectives and types of operating systems.
- Operating System Structures. Operating-System Services. System Calls. System Programs. Operating-System Design and Implementation. Operating-System Structure. Virtual Machines.
- Processes and threads. Process Concept. Process Scheduling. Operations on Processes. Interprocess Communication. Thread concept. Multithreading Models. Thread Libraries. Threading Issues.
- CPU Scheduling: Basic Concepts. Scheduling Criteria. Scheduling Algorithms. Algorithms Evaluation.
- Process Synchronization. Background. The Critical-Section Problem. Peterson’s Solution. Synchronization Hardware. Semaphores. Classic Problems of Synchronization: Producer/Consumer, Readers/Writers, 5 Philosofers. Process Synchronization under Linux and Windows Operating Systems.
- Deadlocks. System Model. Deadlock Characterization. Methods for Handling Deadlocks. Deadlock Prevention. Deadlock Avoidance. Deadlock Detection.Recovery from Deadlock.
- Main Memory Management. Background. Swapping. Contiguous Memory Allocation. Paging. Structure of the Page Table. Segmentation. Virtual Memory. Demand Paging. Page Replacement. Allocation of Frames. Thrashing.
- File-System Management. File Concept. Access Methods. Directory and Disk Structure. File-System Structure. File-System Implementation. Directory Implementation. Allocation Methods. Free-Space Management.
Learning Outcomes (Dublin Descriptors)
On successful completion of this course, the student should
-
Have profound knowledge of basic concepts common to all the operating systems and of the basic mechanisms and policies of operating systems; has knowledge and understanding of how these concept impact on the performance of a computer; have knowlege of the basic principles of unix/linux and windows system programming, and of the basic notions about concurrent programming in both operating systems.
-
Have ability to relate different topics; ability to solve problems of concurrent programming never faced in classroom, but solvable through logic deductions and reasoning; ability in using unix/linux and windows system calls and in facing and solving simple concurrent programming problems.
-
Have ability to analyze and synthesize concepts; ability to apply these concepts to real world operating systems; interest in design and pragmatic implementation aspects of operating-system technology.
-
Demonstrate ability to understand and explain the knowledge acquired by the course.
-
Have capacity to read and understand other texts/papers on related topics using notions learnt by the course and understand their applications.
Prerequisites and Learning Activities
Basic notions of Computers Architecture. Basic programming in C/C++. Elementary data structures: arrays, lists, queues, stacks, and trees.
Assessment Methods and Criteria
Written and oral exam
Textbooks
- Mattia D’Emidio, Daniele Frigioni and Daniele Romano, Elementi di programmazione concorrente in ambienti GNU-Linux e Microsoft Windows , Libreria Universitaria Benedetti. 2012.
- Abraham Silberschatz, Peter B. Galvin, Greg Gagn, Sistemi Operativi - Concetti ed Esempi (ottava edizione) , Addison-Wesley. 2009.
Course page updates
This course page is available (with possible updates) also for the following academic years:
To read the current information on this course, if it is still available, go to the university course catalogue .
Course information last updated on: 19 febbraio 2014, 11:36