Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Academic Year 2017/18
Operating systems
1st degree and Bachelor-level of the Bologna process in Computer Engineering - Torino
Teacher Status SSD Les Ex Lab Years teaching
Laface Pietro ORARIO RICEVIMENTO PO ING-INF/05 24 24 12 13
SSD CFU Activities Area context
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
Subject fundamentals
Mandatory course in the Bachelor Degree program in Computer Engineering, it is held at the first semester of the third year.
Its objectives are to present the basic elements of the operating systems architecture and to teach the concepts and methods of concurrent programming. The course also introduces to the operating system management by means of the shell commands, shell scripts, filters and system calls.
Expected learning outcomes
Knowledge of the classification of the operating systems: Batch, Interactive, Real-time, Virtual machines
Knowledge of the operating systems architecture as a collection of resource managers
Knowledge of operating system kernel structures
Skill for using system calls for the creation, synchronization and termination of processes and threads
Skill for system administration by means of shell command, filters, scripts and system calls.
Prerequisites / Assumed knowledge
Good programming skill in C language
Knowledge of computer system architecture: in particular on the processor and memory organization
Knowledge of the interrupt mechanism and of assembler language.
Operating system architecture (3.0h)
o Operating System classification
o Structure of an operating system, managed resources and modules
o Operating System Kernel: possible organizations
The Linux operating system for beginners (6.0h)
o User commands
o System commands
The advanced Linux operating system (5.5h)
o Shell
o Script languages
The AWK language (3.0h)
Processes (11.0h)
o Introduction to processes and concurrent programming
o Advanced process control
o Signals
o Inter-process communication
Threads (4.5h)
o Main concepts
o Comparison with processes
o The PThread library
Processes and thread synchronization (9.0h)
o Software and hardware solutions to synchronization
o Semaphore variables and primitives
o Classical synchronization problems (producer and consumer, readers and writers, etc.)
High level linguistic synchronization constructs
o Conditions variables and primitives (1.5h)
Deadlock (1.5h)

Laboratory practice (15h)
Delivery modes
The class can be divided into theory lectures, practice lessons and laboratories. There is no formal distinction between theory and practice as almost all course topics involve theory and practice aspects developed during the classroom lessons by the teacher.
Laboratories (about 15 hours overall) allow students to solve typical problems (with complex commands, filters, scripting or C programs on a Linux personal computer) and applying all theory and practice aspects analyzed during the classroom lessons.
Texts, readings, handouts and other learning resources
The reference texts, covering most, but not all, topics are:
A. Silbershatz, P. Galvin, G. Gagne, "Operating System concepts", John Wiley & Sons, Inc.
W. R. Stevens "Advanced programming in the UNIX Environment", Addison-Wesley Publishing Company
Additionally the lessons' handouts, laboratory manuals, and solved exercises are available from the course Web site.
Assessment and grading criteria
The exam includes a written test. The test lasts 100 minutes and includes two parts:
three/four exercises and/or questions related to topics presented in the lectures
two/three exercises related to topics developed during the classroom and laboratory practices. Those usually involve concurrent programming, shell commands, script programs, etc.
During the exam it is not possible to use any book or note.
The written tests is evaluated as follows:
Each exercise has a weight equal to 6 points, with a final total mark of 36 (6x6=36)
Both the theory and the practice parts have a threshold equal to about 50% of the corresponding global mark. The exam is passed only if both parts receive a pass grade.
The final mark is obtained by the sum of all exercises marks.

Programma definitivo per l'A.A.2017/18

© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
WCAG 2.0 (Level AA)