Skip to content

Operating systems

  • Number of credits 7.5 Credits
  • Level Bachelor's level
  • Starting Spring Term 2019

About the course

The goal of the course is to introduce the students to modern operating systems design. Both practical and theoretical aspects of operating Systems will be studied. The course will cover 5 main topics, namely,
Module 1: Introduction
This module will provide a top level description of modern operating systems.

Module 2: kernels and processes 
Introduces the students to the design and implementation of different operating system kernels in some details.

Module 3: concurrency, synchronization and scheduling
In this module we will cover threads and the semantics of concurrency, synchronization of multi-threaded programs, deadlocks, race conditions, processor scheduling and other related topics.

Module 4: memory management
We will cover topics related to memory such as hardware and software address translation mechanisms, caching and virtual memory. 

Module 5: I/O and File Systems
This module introduces the students to the File system abstraction, different storage devices and filesystems 

We will flip the classroom for this course, a technique that has been proven very effective to improve the learning of students. To flip the classroom, we will use the Scalable-Learning platform developed at Uppsala ( Labs and assignments will include work with an embedded operating system, a mobile operating system, and a desktop server operating system.

Course Book: The book used will be mainly "Operating Systems: Principles and Practice" by Thomas Anderson (Author), Michael Dahlin  the 2014 edition (or later). The course will follow the book closely while making use of a lot of the excellent open-source materials on the topic.

Application and eligibility

Operating systems, 7.5 hp

Det finns inga tidigare terminer för kursen Spring Term 2019 Det finns inga senare terminer för kursen


Lectures begin on week starting 21 January 2019


Lectures end during the week of 25 March 2019

Study location




Type of studies

Daytime, 50%

Required Knowledge

To be admitted you must have 60 ECTS-credits in Computing Science or 2 years of completed studies, in both cases including good knowledge and experience of the programming language C, including working with threads. You should also have knowledge and experiences of programming directly with/to an operatingsystem. These requirements are fulfulled by the course C-programming and Unix or equivalent.


Academic credits Applicants in some programs at Umeå University have guaranteed admission to this course. The number of places for a single course may therefore be limited.

Application code



Application deadline was 15 October 2018. Please note: This second application round is intended only for EU/EEA/Swiss citizens. Submit a late application at

Application and Tuition fees

As a citizen of a country outside the European Union (EU), the European Economic Area (EEA) or Switzerland, you are required to pay application and tuition fees for studies at Umeå University.

Application fee


Tuition fee, first instalment


Total fee


Contact us

Please be aware that the University is a public authority and that what you write here can be included in an official document. Therefore, be careful if you are writing about sensitive or personal matters in this contact form. If you have such an enquiry, please call us instead. All data will be treated in accordance with the General Data Protection Regulation.

Course is given by
Department of Computing Science
Contact person for the course is:
Student Office at computing science