Course ObjectiveGaining a deep understanding of design and implementation of major OS
Course ContentThe 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
Teaching MethodsLectures and practical assignments.
Method of AssessmentWeekly examination based on practical assignments and the lectures. Each
week, the student can get 10 points: 5 points from the practical
assignment and 5 points from an oral discussion that is based on the
assignment and its lecture for that week. The overall grade is composed
from these points for each week.
There is no resit opportunity for the practical assignments (and oral
Entry RequirementsOperating systems course in the bachelor
LiteratureSlides and online material
Recommended background knowledgeKnowledge of C and computer organization
|Language of Tuition||English|
|Faculty||Faculty of Science|
|Course Coordinator||dr. K. Razavi|
dr. K. Razavi
You need to register for this course yourself
Last-minute registration is available for this course.
This course is also available as: