Advanced Operating Systems (9 CFU)
Academic Year 2018-2019
Laurea Magistrale in Computer Engineering
University of Rome Tor Vergata

Lecturer: Francesco Quaglia


NEW

19/6/2019 - The results of the examination held on 16/9/2019 are available at this link

2/9/2019 -Since no student booked for participating, the examination scheduled at 3/9/2019 will not be held.

25/7/2019 -Since no student booked for participating, the examination scheduled at 26/7/2019 will not be held.

21/6/2019 - The results of the examination held on 17/6/2019 are available at this link

16/7/2019 -The examination scheduled at 17/6/2019 will be held at 11:00 in Room B6

29/5/2018 - Summer examinations will be held on June 17 2019 and July 26 2019

4/3/2019 - The results of the examination held on 26/2/2019 are available at this link

25/2/2019 -The examination scheduled at 26/2/2019 will be held at 10:00 in Room C1

31/1/2019 - The results of the examination held on 29/1/2019 are available at this link

27/1/2019 -The examination scheduled at 29/1/2019 will be held at 9:30 in Room C1

24/12/2018 -The lectures for the academic year 2018/2019 have been concluded

21/12/2018 - The project specificaton for the academic year 2018/2019 has been posted at this link

19/12/2018 - Both slides and software examples for software security have been updated

16/12/2018 - Both slides and software examples for software security have been posted

13/12/2018 - Both slides and software examples for virtual file system have been updated.

12/12/2018 - The software examples for virtual file system have been posted

7/12/2018 - The slides for virtual file system have been updated

7/12/2018 - The software examples for trap/interrupt architecture have been updated

5/12/2018 - The software examples for trap/interrupt architecture have been updated

4/12/2018 - The slides for virtual file system have been posted. This material is partial (it serves the initial part of the discussion on the topic) and will be integrated in the next days

3/12/2018 - The software examples for trap/interrupt architecture have been posted

2/12/2018 - The slides for trap/interrupt architecture have been posted

30/11/2018 - The software examples for kernel level task management have been updated

29/11/2018 - The slides for kernel level task management have been updated

27/11/2018 - Both slides and software examples for kernel level task management have been updated.

20/11/2018 - The software examples for kernel level task management have been updated.

20/11/2018 - The slides for kernel level task management have been updated

20/11/2018 - The lecture to be held on 21/11/2018 has been rescheduled at 12:15-13:30 (still in room C12)

18/11/2018 - Both slides and software examples for kernel level task management have been posted. This material is partial (it serves the initial part of the discussion on the topic) and will be integrated in the next days

15/11/2018 - Both slides and software examples for Linux modules have been updated

11/11/2018 - Both slides and software examples for Linux modules have been posted

11/11/2018 - The slides for kernel level memory management have been updated

6/11/2018 - Both slides and software examples for cross ring data move have been posted

6/11/2018 - Both slides and software examples for kernel level memory management have been updated

1/11/2018 - In compliance with institutional directives, lecturing is suspended on 2/11/2018

31/10/2018 - Winter examinations will be held on January 29 2019 and February 26 2019

25/10/2018 - Both slides and software examples for kernel level memory management have been posted.

21/10/2018 - The software examples for kernel programming basics have been updated

16/10/2018 - The lecture scheduled at 17/10/2018 has been canceled

9/10/2018 - Both slides and software examples for kernel programming basics have been posted

2/10/2018 - Both slides and software examples for hardware insights have been updated

21/9/2018 - This site has been made up and running.


Lecture schedule (starting on 24/9/2018)

Monday 9:30-11:15 Room C6
Wednesday 11:30-13:15 Room C12
Friday 11:30-13:15 Room B9

Course objectives and examination rules

The 'Advanced Operating Systems' 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.

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.

The examination consists of a set of questions and additionally requires the development of software sub-systems (a project) to be embedded within the Linux kernel, whose specification for the academic year 2018/2019 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 (2018-2019) - interleaved schedule will drive the presentation


Slides and software

Topic Slides Sofware Examples Last Update
Hardware insights download link download link 2/10/2018
Kernel programming basics download link download link 21/10/2018
Kernel level memory management download link download link 11/11/2018
Cross ring data move download link download link 6/11/2018
Linux modules download link download link 15/11/2018
Kernel level task management download link download link 29/11/2018
Trap/interrupt architecture download link download link 5/12/2018
Virtual file system download link download link 13/12/2018
Software security download link download link 16/12/2018