Advanced Operating Systems (and System Security) (9 CFU)
Academic Year 2023-2024
Laurea Magistrale in Computer Engineering
University of Rome Tor Vergata

Lecturer: Francesco Quaglia


NEW

16/9/2024 - The examination scheduled on 17/9/2024 will be held in Aula A4 at 16:00

9/9/2024 - The results of the examination held on 5/9/2024 are available at this link

3/9/2024 - The examination scheduled on 5/9/2024 will be held in Aula B1 at 16:00

7/8/2024 - Autumn examinations will be held on September 5 2024 (afternoon) and on September 17 2024 (afternoon)

22/7/2024 - The results of the examination held on 17/7/2024 are available at this link

16/7/2024 - The examination scheduled on 17/7/2024 will be held in Aula C4 at 16:30

26/6/2024 - The results of the examination held on 19/6/2024 are available at this link

18/6/2024 - The examination scheduled on 19/6/2024 will be held in Aula B4 at 15:30

13/5/2024 - Summer examinations will be held on June 19 2024 (afternoon) and on July 17 2024 (afternoon)

8/3/2024 - The results of the examination held on 29/2/2024 are available at this link

28/2/2024 - The examination scheduled on 29/2/2024 will be held in Aula C6 at 16:00

30/1/2024 - The results of the examination held on 25/1/2024 are available at this link

24/1/2024 - The examination scheduled on 25/1/2024 will be held in Aula C6 at 11:00

15/1/2024 - Based on requests, the lecturer presentation of the project specification to the students has been moved again (from January 17) to January 18 at 14:30 (Room B8)

10/1/2024 - The lecturer presentation of the project specification to the students has been moved (from January 11) to January 17 at 11:30 (Room B13)

10/1/2024 - The project specification for the academic year 2023/2024 has been posted at this link

10/1/2024 - All the students of the Advanced Operating Systems course are invited to verify their interest in participating to the Cyberchallenge 2024. Please check with this link

23/11/2023 - The lecture scheduled on 27/11/2023 has been cancelled

23/11/2023 - A homework suggestion deadling with the implementation of a blocking queuing service for thread management has been posted at this link

14/11/2023 - Winter examinations will be held on January 25 2024 (morning) and on February 29 2024 (afternoon)

16/10/2023 - A homework suggestion deadling with an alternative TLS implementation has been posted at this link.

9/10/2023 - A homework suggestion deadling with the implementation of an RCU list has been posted at this link.

4/10/2023 - Thursday lecture has been moved to room B5, please check with the updated course-schedule table.

26/9/2023 - The lectures' schedule has been updated to avoid conflicts with other courses, please check with the updated course-schedule table.

22/9/2023 - This site has been made up and running.


Lecture schedule (starting on 25/9/2023)

Monday 11:30-13:15 Room B13
Wednesday 11:30-13:15 Room B13
FridayThursday 11:30-13:15 14:00-15:45 Room B13 C6 B5

Course objectives

The 'Advanced Operating Systems and System Security' course aims at presenting advanced design/implementation methods and techniques for modern operating systems. It will also provide insights on actual hardware operations in modern processors (including implicit and explicit parallelism) and how these impact software design approaches.

The topics dealt with by the course are bound to case studies oriented to Linux systems and x86 compliant processors. A strong focus on system-level security aspects will be made, which will include the analysis of the correlation between hardware and software as well as advanced methods and techniques for system security. The course requires basic knowledge on the structure and functionalities of operating systems, and knowledge on C/ASM programming.

NOTE: why Linux? - why x86?

The lecture flow will be based on presenting concepts in combination with software/running examples. Both the slides and the software examples will be made available while delivering the course, clearly in advance to discussing them at any lecture. The slides as well as the software examples can be accessed and downloaded from links posted in a bottom section of this Web page.


Examination rules

The examination consists of a written test (where a set of questions will be proposed) and additionally requires the development of software sub-systems (a project) to be embedded within the Linux kernel, whose specification for the academic year 2023/2024 will be posted during the course delivery. Projects are individual and each student is supposed to finalize both parts of the examination within the same accademic year. The delivery of the software project does not need to coincide with the scheduled examination dates. Rather, students can deliver their projects at any student reception (see this link).

As for the evaluation, the first part (questions and answers) accounts for 18 points, while the project accounts for 12 points. In any case both parts of the examination have thresholds for their acceptance. The thresholds are the following ones: 11 points for the first part and 7 for the project. In the event of an exceptionally well done project and/or exceptionally well replied questions, a student who cumulates 30 points can be awarded with 'laude'.


References

Useful links (permanently on going)

IMPORTANT NOTICE

Even though the above references and links are provided, I must alert students that no unique hand-book can fully cover the presented topics (and/or the way of presenting them). Hope this will be an added value to the course, rather than a limitation. Please come to any available student reception as soon as any doubt, or the need for whathever clarification, arises.


List of planned topics (2023-2024) - the topics will be presented in interleaved manner


Slides and software

-->
Topic Slides Sofware Examples Latest Update
Hardware insights download link download link 5/10/2023
Kernel programming basics download link download link 11/10/2023
Kernel level memory management download link download link 24/10/2023
Cross ring data move download link download link 12/11/2023
Linux modules download link download link 14/11/2023
Kernel level task management download link download link 19/11/2023
Trap/interrupt architecture download link download link 5/12/2023
Virtual file system download link download link 16/12/2023
Software security download link download link 20/12/2023

Examples of previous examinations