PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

PORTALE DELLA DIDATTICA

Elenco notifiche



Operating systems

04JEZOQ

A.A. 2023/24

Course Language

Inglese

Degree programme(s)

Master of science-level of the Bologna process in Ingegneria Elettronica (Electronic Engineering) - Torino

Course structure
Teaching Hours
Lezioni 32
Esercitazioni in aula 12
Esercitazioni in laboratorio 16
Lecturers
Teacher Status SSD h.Les h.Ex h.Lab h.Tut Years teaching
Di Carlo Stefano Professore Ordinario IINF-05/A 32 0 0 0 6
Co-lectures
Espandi

Context
SSD CFU Activities Area context
ING-INF/05 6 C - Affini o integrative Attività formative affini o integrative
2023/24
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 provides an overview of operating system (OS) architecture and its associated development frameworks, focusing on Unix-based operating systems. This involves examining the internal structure of the OS in relation to the underlying hardware infrastructure and analyzing the services that the OS offers to application software.
• 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.
Students will acquire knowledge, varying in depth depending on the specific topic, as well as skills and a profound comprehension of the mechanisms and motivations underlying the following technologies and solutions: - The kernel structure and organization of an operating system - The virtual memory mechanism - Process scheduling and parallel execution threads - Developing operating systems modules - Use of system calls for the creation, synchronization, and termination of processes and threads - Implementation of programs based on system calls - Use of embedded systems development tools: cross-compilers, emulators, debuggers, profilers.
• 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
- Basic knowledge of computer system architecture (the CPU execution model, the memory hierarchy, interrupts) - Basics of an assembly language - Good programming skills in the C language - Main data type structures and algorithms
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
Operating system architecture (0.5 CFU) - Operating systems history - 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,5 CFU) - Processes: definition and types - Concurrent processes - Process management - Process scheduling - Process synchronization and synchronization primitives - Inter-Process Communication Memory management, virtualization (1.5 CFU) - Segmentation and Paging - Virtual memory OS Development (1.5 CFU) - Development tool chains for OS development - OS kernel modules design
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 course combines traditional classroom lectures with supervised exercise sessions, providing students with the opportunity to apply the concepts learned in practical scenarios and engage in discussions with the instructor. Additionally, certain topics within the course include dedicated lab sessions, allowing students to observe the practical implementation of related technologies and reinforce their understanding of the concepts covered in the lectures. The course is divided into two main components: classroom lectures, which account for 4 CFU (Crediti Formativi Universitari), and laboratory sessions, which contribute 2 CFU.
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 website. The textbooks are the following: • Silberschatz, Galvin, Gagne, "Operating System Concepts", Tenth Edition, John Wiley & Son, 2018 • Tanenbaum, Bos, "Modern Operating Systems", 4th Edition, Pearson, 2015
Slides; Esercizi; Esercizi risolti; Esercitazioni di laboratorio; Esercitazioni di laboratorio risolte; Video lezioni dell’anno corrente;
Lecture slides; Exercises; Exercise with solutions ; Lab exercises; Lab exercises with solutions; Video lectures (current year);
Modalità di esame: Prova scritta (in aula); Prova orale obbligatoria; Elaborato progettuale in gruppo;
Exam: Written test; Compulsory oral exam; Group project;
... 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.
Gli studenti e le studentesse con disabilità o con Disturbi Specifici di Apprendimento (DSA), oltre alla segnalazione tramite procedura informatizzata, sono invitati a comunicare anche direttamente al/la docente titolare dell'insegnamento, con un preavviso non inferiore ad una settimana dall'avvio della sessione d'esame, gli strumenti compensativi concordati con l'Unità Special Needs, al fine di permettere al/la docente la declinazione più idonea in riferimento alla specifica tipologia di esame.
Exam: Written test; Compulsory oral exam; Group project;
(ANY MINOR CHANGES TO THESE POLICIES/PROCEDURES WILL BE TIMELY COMMUNICATED TO THE STUDENTS) The examination consists of two components. PART1: This part entails a written test that covers all the topics discussed in class. The test may include various types of questions, such as open-ended questions, multiple-choice questions, exercises focusing on specific topics, and the development of small programs. Each question is assigned a score, which is announced during the exam. The maximum score achievable in this part is 16, and the duration of the test is 90 minutes. PART2: The second part involves a project that emphasizes the application of the concepts learned in class and enhances the student's ability to independently find documentation and acquire new skills beyond the scope of the course. Each year, a set of topics will be assigned, but students are also encouraged to propose their own topics of interest. Projects that involve collaborations with other courses are particularly welcome. Once the project is completed, students are required to present it during an oral exam session, highlighting each team member's contribution to the results. The project aims to assess: - The student's proficiency in implementing and developing embedded applications. - The efficiency of the implementation. - The student's ability to work effectively in a team. - The student's presentation skills. - The individual contributions of each student to the project. To pass each part of the exam, a minimum grade of 9 out of 16 points is required. The final grade is determined by summing up the grades obtained in PART 1 and PART 2. The highest distinction, "Laude," is awarded if the total grade equals 32. PART 1 and PART 2 can be completed within different timeframes. However, PART 2 must be finished within one year (prior to the start of the next course edition). If PART 2 is not submitted, students can still pass the exam based solely on the written test (PART 1). However, the highest grade attainable in this case would be 22, calculated as follows: Grade = (written exam grade) * 22 / 16. Note: This implies that the minimum grade required in PART 1 to pass the exam is 13.
In addition to the message sent by the online system, students with disabilities or Specific Learning Disorders (SLD) are invited to directly inform the professor in charge of the course about the special arrangements for the exam that have been agreed with the Special Needs Unit. The professor has to be informed at least one week before the beginning of the examination session in order to provide students with the most suitable arrangements for each specific type of exam.
Esporta Word