Servizi per la didattica
PORTALE DELLA DIDATTICA

Operating systems

04JEZLM, 04JEZOA

A.A. 2018/19

2018/19

Operating systems

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.

Operating systems

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.

Operating systems

• 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.

Operating systems

• 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.

Operating systems

• 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 systems

• 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 systems

• 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 systems

• 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 systems

Operating systems

Operating systems

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.

Operating systems

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.

Operating systems

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.

Operating systems

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.

Operating systems

Modalità di esame: Prova scritta (in aula);

Operating systems

Operating systems

Exam: Written test;

Operating systems

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.

Esporta Word


© Politecnico di Torino
Corso Duca degli Abruzzi, 24 - 10129 Torino, ITALY
Contatti