Advanced Operating Systems

2026-2027

Algemene informatie

Vakcode XM_40014
Studiepunten 6 EC
Periode P1
Vakniveau 500
Onderwijstaal Engels
Faculteit Faculteit der Bètawetenschappen
Vakcoördinator prof. dr. C. Giuffrida
Examinator prof. dr. C. Giuffrida
Docenten prof. dr. C. Giuffrida
dr. E. van der Kouwe
Onderdeel van opleiding(en)

Praktische informatie

Voor dit vak moet je zelf intekenen. De inteken- en afmeldtermijnen staan op VU.nl

Onderwijsvorm Hoorcollege

Doelgroepen

Dit vak is ook toegankelijk als:

Dit vak wordt in het Engels aangeboden. Omschrijvingen kunnen daardoor mogelijk alleen in het Engels worden weergegeven.

Doel vak

Gaining a deep understanding of design and implementation of major OS subsystems.

Upon completion of this course, students will:

- have knowledge of advanced operating system design and implementation principles adopted by mainstream operating systems such as Linux (K&U)

- have a basic understanding of recent trends in operating systems research (LS)

- be familiar with design and implementation principles of physical memory management (K&U, AK&U, MJ)

- be familiar with design and implementation principles of page table management (K&U, AK&U, MJ)

- be familiar with design and implementation principles of process management (K&U, AK&U, MJ)

- be familiar with design and implementation principles of virtual memory management (K&U, AK&U, MJ)

- be familiar with design and implementation principles of multiprocessing (K&U, AK&U, MJ)

- be familiar with design and implementation principles of multicore management (K&U, AK&U, MJ)

- be familiar with design and implementation principles of page reclaiming (K&U, AK&U, MJ)

The acronyms above refer to the Dublin Descriptors covered by each learning objective, specifically: Knowledge and Understanding (K&U), Applied Knowledge and Understanding (AK&U), Making Judgments (MJ), Learning Skills (LS), and Communication Skills (CS).

Inhoud vak

The course will feature a number of hands-on assignments accompanied by lectures on advanced operating system kernel design and programming concepts. In each assignment, students will be expected to start with a minimal kernel implementation and exercise their kernel hacking skills on one of the major operating subsystems (i.e., memory management, process management, drivers, etc.). This will involve programming in both C and assembly as well as directly interfacing with the hardware. The course will also link lectures and assignments to modern operating system features and offer insights into state-of-the-art OS research efforts.

Aanvullende informatie onderwijsvormen

Lectures (with voluntary attendance) and (mandatory) practical assignments, focusing on a different OS subsystem each week. Specifically, each (1-7) week focuses on the corresponding (3-10) course objective.

Toetsvorm

The assessment consists of weekly group programming assignments and an individual final digital exam. Each week, the student can get up to 11 points for the weekly examination: 9 points from a practical assignment and 2 points for the bonus parts of the assignment. Bonus points are only awarded if the grade is at least 5.5 without them.

In each of the first six weeks, students must submit the corresponding programming assignment and pass all basic compliance tests for that assignment. The seventh and last practical assignment is special: it includes a written report and has no basic compliance test requirement to pass the assignment. Additional details about the format of the final digital exam and the exact formula used to calculate the final grade from the different assessment components will be provided on Canvas. To pass the course, the digital exam grade must be at least 5.5 and the final grade must be at least 5.5.

Please note that your final grade will be registered as follows:

- If you do not submit any assignment and do not participate in the final digital exam, you will receive a NS.

- In all other cases, you will receive either a numeric grade or incomplete (NVD).

- If you did not meet the minimum grade requirements for the assignments or for the final digital exam, your grade is NVD.

- If you plan to drop the course, do not submit anything, as NVD is administratively considered a failing grade.

There is a resit opportunity for the digital exam, but no resit opportunity for the practical assignments. Results for practical assignments may be transferred from previous years if their contents did not change significantly since the result was obtained (as determined by the examiner). If you submit an assignment, the new result replaces any transferred results.

We ensure that each student individually demonstrates their abilities through the final digital exam, through active plagiarism detection for the assignments, and by investigating whether each group member contributed sufficiently for each group assignment.

Literatuur

Slides and online material.

Aanvullende informatie doelgroep

Master Computer Security (year 2)

Master Computer Science

Overige informatie

Use of AI: Level 2a Use of generative AI is only permitted for orientation and brainstorming

In this course, generative AI (GenAI), such as ChatGPT or similar tools, may only be used for orientation and brainstorming, for example to explore ideas or clarify questions. GenAI may not be used to generate content that becomes part of the final submission. The final product must be based entirely on the student's own understanding, analysis, and wording. Incorrect use of GenAI is considered fraud. If established, the submitted work or assessment result will be declared invalid, and the Examination Board may impose further measures.

Aanbevolen voorkennis

Students are expected to have completed a Bachelor-level Operating systems course as well as to have experience in C/C++ programming and knowledge of assembly and computer organization.