Course syllabus

Course-PM

EDA093 / DIT401 Operating systems lp1 HT25 (7.5 hp)

The Department of Computer Science and Engineering offers the course.

This course includes both self-managed activities and parts with live interactions with the teacher.

Course purpose

The course provides an introduction to the design and implementation of operating systems. Topics covered include concurrent processes, resource management, deadlocks, memory management, virtual memory, processor scheduling, disk scheduling, file systems, and security issues in operating systems. The labs emphasize hands-on experience with operating systems design. Students practice by using and constructing essential modules in operating systems, such as multiprogramming, the implementation of UNIX-like shell functionality, and concurrency.

Learning objectives:

After successful completion of the course, participants will be able to demonstrate knowledge and understanding of

  1. The core functionality of modern operating systems: processes/threads, scheduling, virtual memory, and file systems, aspects of parallelism, kernels, shells, microkernels, and virtual machines.
  2. Key concepts and algorithms in operating system implementations: synchronization, deadlock-avoidance/prevention, memory management, processor scheduling, disk scheduling, virtual machines, and file systems organization.
  3. Implementation of simple OS components.
  4. The participants will also be able to:
    • appreciate the design space and trade-offs involved in implementing an operating system,
    • write C programs that interface to the operating system at the system call level,
    • implement a piece of system-level code in the C programming language, and
    • program using multithread synchronization constructs.

Course literature

  • Modern Operating Systems by Andrew S. Tanenbaum (fourth or fifth edition)

Reading instructions: Reading instructions

The course is taught by:

The teaching assistants are

Student representatives

 Exam Dates

  • 2025/10/28
  • 2026/01/05
  • 2026/08/17

About how groups are formed for the labs: about_groups.pdf

Schedule

TimeEdit

NOTE: 

The Course Summary is continuously updated during the course. Check each entry just before the event takes place to make sure you are up-to-date with the planning. Thanks!

Course summary:

Course Summary
Date Details Due