OPERATING SYSTEMS - PART 2

Academic year
2020/2021 Syllabus of previous years
Official course title
SISTEMI OPERATIVI - MOD.2
Course code
CT0125 (AF:320631 AR:172524)
Modality
On campus classes
ECTS credits
6 out of 12 of OPERATING SYSTEMS
Degree level
Bachelor's Degree Programme
Educational sector code
INF/01
Period
2nd Semester
Course year
2
Where
VENEZIA
Moodle
Go to Moodle page
The course illustrates the structure and the functions of modern operating systems. It introduces the basic concepts related to modern operating systems, describes the theoretical models and techniques for process management, memory management, file system organization, I/O devices and secondary memory structure. The course discusses the principles of concurrent programming and the concepts and techniques related to process and thread synchronization. Lab practice experiments in C and Java are part of the course. The Unix / Linux and Windows operating systems are analyzed as case studies.
- knowledge of basic concepts related to modern operating systems;
- knowledge of theoretical models and techniques for process management, memory management, file system organization, I/O and secondary memor;
- knowledge of the principles of concurrent programming;
- skills and techniques for process and thread synchronization in C and Java.
Computer programming and computer architectures
Functions and structure of an operating system; virtual machines. Processes and threads. Principles of concurrent programming. CPU management; scheduling algorithms. Memory management; virtual memory, paging and segmentation. File system; functions and implementation. I/O devices and secondary memory; RAID architectures. Unix/Linux and Windows operating systems. Laboratory practice: concurrent programming in C and Java.
Andrew S. Tanenbaum, Herbert Bos. I moderni sistemi operativi (quarta edizione), Pearson 2016.
William Stallings. Operating Systems: Internals and Design Principles (9th edition), Pearson 2018.
Richard Stevens, Stephen A. Rago, Advanced Programming in the UNIX Environment (terza edizione), Addison Weseley, 2013.
Learning assessment is based on a written test, some laboratory tests carried out during the semester and an integrative oral exam.

The written test is divided into two parts corresponding to the two modules of the course. The part related to module 2 consists of two exercises to be solved in 30 minutes, which aim at verifying the knowledge of the principles of concurrent programming and of the synchronization mechanisms for processes and threads. During the written test the use of books, notes, electronic media is not allowed. It is not possible to take only one of the two parts of the written test, unless the intermediate written tests of the first module have been passed (see module 1).

The laboratory tests are three and are taken during the semester. They consist of practical exercises aimed at verifying the level of competence on the mechanisms of communication and synchronization between processes and threads in C and Java. The laboratory is passed if at least two of the three tests are passed. Passing all the tests will allow you to get a bonus on the mark, while passing a single test will require an additional oral exam. Students that do not pass any laboratory tests during the semester will have to take a laboratory test after passing the written exam.

The oral test is performed only in case just one laboratory test is passed, as described above, and aims at verifying the level of competence on the mechanisms of communication and synchronization between processes and threads in C and Java.
Lectures, exercises, laboratory classes.
Italian
Information in this page is related to the whole Operating System course.
There will be a course tutor.
written and oral
Definitive programme.
Last update of the programme: 20/04/2020