Course syllabus

Course-PM

EDA093 / DIT401 Operating systems lp1 HT24 (7.5 hp)

The course is offered by the Department of Computer Science and Engineering.

This course contains both self-managed activities, as well as 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, 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.
    • some programming 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

  • 2024/10/26
  • 2024/01/07
  • August '25 - TBA

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

Schedule

TimeEdit

Course summary:

Date Details Due