Kernel Programming


Course Objective

Gaining a deep understanding of kernel programming and the design of
major OS subsystems.

Course Content

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,
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.

Teaching Methods

Lectures and practical assignments

Method of Assessment

Weekly examination based on practical assignments and the lectures

Entry Requirements

Operating systems course in the bachelor


Slides and online material

Recommended background knowledge

Knowledge of C and computer organization

General Information

Course Code XM_40014
Credits 6 EC
Period P1
Course Level 400
Language of Tuition English
Faculty Faculty of Science
Course Coordinator dr. K. Razavi
Examiner dr. K. Razavi
Teaching Staff dr. K. Razavi
dr. C. Giuffrida

Practical Information

You need to register for this course yourself

Last-minute registration is available for this course.

Teaching Methods Lecture
Target audiences

This course is also available as: