Salta ai contenuti. | Salta alla navigazione

Strumenti personali

OPERATING SYSTEM AND LABORATORY

Academic year and teacher
If you can't find the course description that you're looking for in the above list, please see the following instructions >>
Versione italiana
Academic year
2016/2017
Teacher
SEBASTIANO FABIO SCHIFANO
Credits
12
Didactic period
Secondo Semestre
SSD
INF/01

Training objectives

The course provides the students with an understanding of the basic components of a general-purpose operating system, presenting both the theory and the programming aspects.

The couse provides the following knowledges:
- structure of operating systems
- multi process operating systems organization
- process, virtual processor and context switch
- virtual memory
- IO devices

The course provides the following skills:
- concurrent and multi-tasking programming
- performance analysis of operating systems
- use of Linux OS
- multi-thread and multi-process programming

Prerequisites

Prerequisite for this course is the course of "Computer Architectures". It is suggested also to be able to use the C programming language and to have basic knowledge of Algorithms and Data Structure.

Course programme

- Introduction to Operating Systems: structure, evolution and functions of operating systems. Hardware organization of parallel systems, multi-core e multi-processors.

- Processes, Threads and Scheduling: process and thread concepts. Management of processes, context switch, scheduling algorithms, processes synchronization, creation and termination of processes, processes communication. Concurrency and Parallelism. Classical IPC problems. Management of processes and threads in Unix and Linux. Concurrent programming. Introduction to parallelism and pipeline and farm decomposition.

- Memory Management: memory management techniques (fixed vs variable partitions, paging and segmentation), virtual spaces, multi-level addressing, management of memory in Unix and Linux, replacement strategies.

- Management of IO Devices: general structure, polled-mode and interrupt-driven, buffering, blocking and non-blocking operations, disks structure, RAID systems.

- Structure of File System: file and directory concepts, implementation of file and directory, file operations, access control, files and directories management in Unix and Linux.

Didactic methods

The course comprises 96 hours (12 CFU) of teaching divided in 72 hours of theory and 24 hours of hands-on.
The course is structured with lectures and practical exercises and training on computers.

Learning assessment procedures

The final exam is divided three parts:

- written exam, 4 questions on all topics of the course;
- discussion of a project assigned by teacher and implement by student;
- oral exam (optional).

The maximum score for each part is 30/30. The final score is the round-up mean of the three partial scores.

Reference texts

1- Sistemi operativi 2/ed - Paolo Ancilotti, Maurelio Boari, Anna Ciampolini, Giuseppe Lipari - McGraw-Hill
2- I moderni Sistemi Operativi 3/ed - Andrew S. Tanenbaum - Pearson Prentice Hall