Servizi per la didattica
PORTALE DELLA DIDATTICA

Operating systems

04JEZLM, 04JEZOA

A.A. 2018/19

Course Language

English

Course degree

1st degree and Bachelor-level of the Bologna process in Computer Engineering - Torino

Course structure
Teaching Hours
Lezioni 24
Esercitazioni in aula 24
Esercitazioni in laboratorio 12
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Laface Pietro Docente esterno e/o collaboratore   24 24 12 0 13
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 B - Caratterizzanti Ingegneria informatica
2018/19
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.
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.
• 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. At the end of this course, the student will be able - to understand concurrent programming principles, and to implement cooperating concurrent programs using processes and threads. - to use and develop applications in Linux.
• 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. At the end of this course, the student will be able - to understand concurrent programming principles, and to implement cooperating concurrent programs using processes and threads. - to use and develop applications in Linux.
• 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.
• 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)
• 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)
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.
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.
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.
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.
Modalità di esame: prova scritta;
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.
Exam: written test;
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.


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
m@il