Servizi per la didattica
PORTALE DELLA DIDATTICA

Operating systems

04JEZOQ

A.A. 2018/19

Course Language

English

Course degree

Master of science-level of the Bologna process in Electronic Engineering - Torino

Course structure
Teaching Hours
Lezioni 40
Esercitazioni in laboratorio 20
Teachers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Rebaudengo Maurizio Professore Ordinario ING-INF/05 40 0 0 0 5
Teaching assistant
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 C - Affini o integrative Attivitΰ formative affini o integrative
2018/19
The course focuses on the basics of the operating systems architecture, with a particular emphasis on operating systems for embedded systems, along with their corresponding development frameworks. The course will also cover issues related with real-time embedded systems and their communication with dedicated hardware components.
The course focuses on the basics of the operating systems architecture, with a particular emphasis on operating systems for embedded systems, along with their corresponding development frameworks. The course will also cover issues related with real-time embedded systems and their communication with dedicated hardware components.
• Knowledge of the kernel structure and organization of an operating system • Knowledge of virtual memory mechanism • Knowledge of process scheduling and parallel execution threads • Skill for using system calls for the creation, synchronization and termination of processes and threads • Skill to understand device drivers • Skill to understand and implement programs based on system calls • Skill for using embedded systems development tools: cross-compilers, emulators, debuggers, profilers, virtualizers.
• Knowledge of the kernel structure and organization of an operating system • Knowledge of virtual memory mechanism • Knowledge of process scheduling and parallel execution threads • Skill for using system calls for the creation, synchronization and termination of processes and threads • Skill to understand device drivers • Skill to understand and implement programs based on system calls • Skill for using embedded systems development tools: cross-compilers, emulators, debuggers, profilers, virtualizers.
• Knowledge of a computer system architecture: in particular structure of the CPU and memory • Knowledge of the interrupt mechanism and basics of an Assembler language • Knowledge of the main data type structures and algorithms • Good programming skill in C language
• Knowledge of a computer system architecture: in particular structure of the CPU and memory • Knowledge of the interrupt mechanism and basics of an Assembler language • Knowledge of the main data type structures and algorithms • Good programming skill in C language
Operating system architecture (0.5 CFU) - Operating systems classification - Structure of an operating system in terms of resources and corresponding management modules. - The OS Kernel: possible organizations. - Process types Processes and Threads (2.1 CFU) - Processes: definition and types - Concurrent processes - Process management - Process scheduling - Process synchronization and synchronization primitives - Inter-Process Communication - The deadlock problem Memory management, virtualization (0.4 CFU) - Segmentation and Paging - Virtual memory Embedded Systems (1 CFU) - Classification and peculiar characteristics vs desktop systems - Introduction to Real Time systems - Development tool-chains for embedded systems - Challenges in device-drivers design
Operating system architecture (0.5 CFU) - Operating systems classification - Structure of an operating system in terms of resources and corresponding management modules. - The OS Kernel: possible organizations. - Process types Processes and Threads (2.1 CFU) - Processes: definition and types - Concurrent processes - Process management - Process scheduling - Process synchronization and synchronization primitives - Inter-Process Communication Memory management, virtualization (0.4 CFU) - Segmentation and Paging - Virtual memory Embedded Systems (1 CFU) - Introduction to Real Time systems - Development tool-chains for embedded systems - Challenges in device-drivers design
Laboratory activity (2 credits): - Unix Shell - Concurrent programming with processes and threads - Virtual Machine - Kernel - Driver Linux.
The course is organized in lectures and laboratories. Lectures (4 credits) consist in the presentation and discussion of slides that will be available on the teaching portal prior the starting of the lessons. During the laboratory activity (2 credits) the students will solve problems, implementing programs in C language, related to the main topics of the courses.
The slides used for the course will be made available to the students, through the official page of the course on the web site. The textbooks are the following: • Silberschatz, Galvin, Gagne, "Operating System Concepts", 9th Edition, John Wiley & Son, 2013 • Tanenbaum, Bos, "Modern Operating Systems", 4th Edition, Pearson, 2015
The slides used for the course will be made available to the students, through the official page of the course on the web site. The textbooks are the following: • Silberschatz, Galvin, Gagne, "Operating System Concepts", 9th Edition, John Wiley & Son, 2013 • Tanenbaum, Bos, "Modern Operating Systems", 4th Edition, Pearson, 2015
Modalitΰ di esame: prova scritta; prova orale obbligatoria;
The examination consists of a written test and an oral verification. The written test (duration of 120 minutes with closed books) consists of two parts: • 4 exercises/questions on the topics of the lectures (4 points each exercise) • the solution to a problem using threads or concurrent programming in C language (16 points). Students can access to the oral exam only if the evaluation of the written exam is higher than 17. The oral verification will be on the topics of the lectures and on the verification of the program developed at the written exam. For the verification of the program, the student will have to provide the debugged and running code. The oral exam contributes to the final grade modifying the evaluation of the written exam in a range of ±4 points. The verification will be organized as a discussion in front of a PC where the student will be asked to: – Compile/Build the software – Run the software – Explain a piece of code taken at random from the source files – Possibly explain how and where to modify the code to change one of the program functionalities – Discuss the results.
Exam: written test; compulsory oral exam;
The examination consists of a written test and an oral verification. The written test (duration of 120 minutes with closed books) consists of two parts: • 4 exercises/questions on the topics of the lectures (4 points each exercise) • the solution to a problem using threads or concurrent programming in C language (16 points). Students can access to the oral exam only if the evaluation of the written exam is higher than 17. The oral verification will be on the topics of the lectures and on the verification of the program developed at the written exam. For the verification of the program, the student will have to provide the debugged and running code. The oral exam contributes to the final grade modifying the evaluation of the written exam in a range of ±4 points. The verification will be organized as a discussion in front of a PC where the student will be asked to: – Compile/Build the software – Run the software – Explain a piece of code taken at random from the source files – Possibly explain how and where to modify the code to change one of the program functionalities – Discuss the results.


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