Course syllabus

Course-PM

EDA093 / DIT401 EDA093 / DIT401 Operating systems lp1 HT21 (7.5 hp)

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

Due to the ongoing covid19 pandemic the course will be conducted remotely here: https://chalmers.zoom.us/j/61616276761?pwd=cEFHcEZLMWRTR2ZKZWsyaHlENkxvZz09 
(in principle, you do not need to type a password, but if needed password: 814061)

Log of events

  • 21/10/06: Published Lab 3.
  • 21/10/06: Minutes from the second meeting with the student representatives published (see announcement)
  • 21/09/28: Security lecture published
  • 21/09/23: remaining lecture added to calendar
  • 21/09/22: Published Lab 2.
  • 21/09/22: updated Zoom link
  • 21/09/20: shared announcement on lab remote servers + updated lab 1 template code.
  • 21/09/19: shared announcement on exam decision + 2 examples of previous exams (see announcements)
  • 21/09/13: added links to play.chalmers.se for the videos of lecture 3
  • 21/09/06: fixed subs in 1 video for lecture 2, discussion session uploaded
  • 21/09/01: Published Lab 1.
  • 21/08/31: Student representatives added
  • 21/08/23: the page (still under construction) is published. The page will be updated throughout the course. All necessary information will be given during the first lecture (on the 2nd of September 2021).

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 part emphasizes 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, virtual machines.
  2. Key concepts and algorithms in operating system implementations: synchronization, deadlock-avoidance/prevention, memory management, processor scheduling, disk scheduling, virtual machines, 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 edition)

The course is taught by:

The teaching assistants are

  • Amir Keramatian, amirke#at#chalmers.se
  • Dimitris Palyvos-Giannas, palyvos#at#chalmers.se
  • Mateo Vázquez Maceiras, maceiras#at#chalmers.se
  • Fareed Mohammad Qararyah, qarayah#at#chalmers.se
  • Martin Hilgendorf, marhilg#at#student.chalmers.se
  • Oskar Fredriksson, oskfre#at#student.chalmers.se
  • Samuel Rörgren, rorgren#at#student.chalmers.se

Student representatives

  • Enmin Su, enmin#at#student.chalmers.se
  • Konrad Rej, rkonrad#at#student.chalmers.se
  • Theodoros Alexopoulos, thealex#at#student.chalmers.se
  • David Hedgren, davhedg#at#student.chalemrs.se

Exam Dates

  • 23/10/2021
  • 03/1/2021

Schedule

TimeEdit

Course summary:

Date Details Due