Politecnico di Torino
Politecnico di Torino
Politecnico di Torino
Academic Year 2015/16
Operating systems
1st degree and Bachelor-level of the Bologna process in Computer Engineering - Torino
Teacher Status SSD Les Ex Lab Tut Years teaching
Laface Pietro ORARIO RICEVIMENTO     24 24 12 0 13
SSD CFU Activities Area context
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
Subject fundamentals
This course is characterizing for the Bachelor of Science in Computer Engineering, and 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 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 knowledge of the processor and memory organization
- Knowledge of the interrupt mechanism and basic knowledge of an Assembler language
-Operating System Architecture (0.5 credits)
- Operating System classification
- Structure of an operating system, managed resources and modules
- Operating System Kernel: possible organizations

- Processes (1 credit)
- Types of processes
- Concurrent processes
- Process management
- Processes Synchronization (2 credits)
- Semaphore variables and primitives
- High level linguistic synchronization constructs
- Inter-Process Communication
- Deadlock
Delivery modes
-Classroom practice (1.5 credits)
- Solution of synchronization problems
- Bash shell
- Tool and shell script
- Filters in particular sed e awk
- System administration

- Laboratory practice(1 credit)
- The laboratory practices allow to practice with the topics presented in the classroom lectures.
Texts, readings, handouts and other learning resources
The reference text, covering most but not all the topics, is:
Silbershatz A., Galvin. P., Gagne G.
Operating System concepts, 9-th Edition, John Wiley & Sons, Inc., 2012.
ISBN 978-1-118-06333-0

Other useful readings are:
Bovet D. P., Cesati M.
Understanding the Linux Kernel, 3rd Edition
O'Reilly, 2005. ISBN: 0-596-00565-2

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 a web site.
Assessment and grading criteria
The exam is written; it lasts 60 minutes and includes two parts:
- three exercises and/or questions related to the topics presented in the lectures (18 marks)
- three exercises related to the topics developed during the classroom and laboratory practices, which require the implementation of shell scripts (15 marks).
During the exam is not possible to consult any book or note.
The exam is passed only if both parts receive a sufficient grade.

Programma definitivo per l'A.A.2015/16

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