spring 2021
INF-2201 Operating system fundamentals - 20 ECTS

Last changed 18.06.2021

Application deadline

Applicants from Nordic countries: 1 June for the autumn semester and 1 December for the spring semester. Exchange students and Fulbright students: 15 April for the autumn semester and 1 October for the spring semester.

Type of course

The course can be taken as a singular course.

Admission requirements

Admission requirements: Higher Education Entrance Qualification + specific entrance requirements equivalent to MATRS: R1/(S1+S2). Application code: 9354 - Singular course in computer science

Course overlap

D-240 Operating systems 15 stp

Course content

The course provides a thorough introduction to operating system. Topics include threads and processes, process coordination and synchronization, physical and virtual storage organization, interrupt handling, peripheral devices and file systems. The exercises include both analysis of abstractions, and their design and implementation. During the course each student will develop a running operating system kernel for an Intel x86 based computer.

Recommended prerequisites

INF-1101 Data structures and algorithms, INF-2200 Computer architecture and organization

Objectives of the course

Knowledge; students should get:

  • fundamental concepts of operating systems
  • fundamental knowledge of various approaches to development of operating systems
  • experience on fundamental issues of developing operating systems

Skills; students should be able to:

  • develop their own working operating systems
  • design and combine different techniques to build an operating system with required features

General competence; students should get

  • understanding of how to design and develop operating systems
  • understanding of the tradeoffs between performance and functionality, division of labor between hardware and software.

Language of instruction

The language of instruction is English and all of the syllabus material is in English. Examination questions will be given in English, but may be answered either in English or a Scandinavian language.

Teaching methods

Lectures: 60 hours, Colloquium: 60 hours, Laboratory: 60 hours. The course is given every spring semester.


Deliverables: Submission of 6 mandatory assignments (projects) is required to fullfill the course. Oral presentation of the assignments and demonstrations of a working system can in special cases be claimed by the course responsible.  Each of the 6 assignments consist of 1) a design review and possibly a demonstration of a working system, and 2) a practical programming assignment.  All design reviews and some of the practical programming assignments are evaluated as "Approved" / "Not approved". Fullfilling the course requires that all of these are approved. The remaining practical programming assignments are parts of portfolio exam and will be considered more carefully towards a single final grade in the range A-F.  NB! Attendance at the first lecture is mandatory. Students must expect an intensive coursework from the start. 

Grading scale: Letter grades A-E, F - Fail.

Re-sit examination: It will not be given a re-sit examination in in this course.

Postponed examination: Students with valid grounds for absence will be offered a postponed examination for the module in question. If practically possible the examination are arranged during the semester as soon as the reasons for absence have ceased. 

For further details see: Utfyllende bestemmelser for eksamener ved Fakultet for naturvitenskap og teknologi (only in Norwegian)  |  Regulations for examinations at the UiT (Norwegian only)


  • About the course
  • Campus: Tromsø |
  • ECTS: 20
  • Course code: INF-2201