Skip to content
Main menu hidden.

Operating systems

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

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

Visa tillfällen för föregående termin Spring Term 2022 Det finns inga senare terminer för kursen


17 January 2022


23 March 2022

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 fulfilled 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



The online application opens 15 September 2021 at 13:00 CET. Application deadline is 15 October 2021.

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

SEK 900

Tuition fee, first instalment

SEK 17,850

Total fee

SEK 17,850

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