Course

Operating Systems and Systems Programming (DAT320)

The course gives an introduction to operating systems, how to implement them, and how to program against them efficiently, with particular focus on thread programming and synchronization between threads within a program.


Dette er emnebeskrivelsen for studieåret 2025-2026

Fakta

Emnekode

DAT320

Vekting (stp)

10

Semester undervisningsstart

Autumn

Undervisningsspråk

English

Antall semestre

1

Vurderingssemester

Autumn

Content

The course gives an introduction to operating system architectures and mechanisms for resource management in computer systems. Specific topics covered: Virtualization: the process abstraction, processor scheduling, memory management, address spaces, address translation, caching and virtual memory. Concurrency: threads, concurrency, parallelism, synchronized access to shared data, locks, condition variables, semaphores and channel-based synchronization. Persistence and Networking: File systems, networking programming, distributed systems, network file system. Operating System security.

The course includes programming assignments covering the main concepts of the course, such as memory management, scheduling, concurrency, parallelism and synchronization techniques, and tools to analyze and debug various aspects of such applications. The programming language used in this course is primarily Go (golang) along with some C and Python.

Learning outcome

Knowledge:

  • How operating system work
  • How to protect the operating systems from malicious software

Skills:

  • Be capable of programming against the operating system API
  • Be capable of programming parts of an operating system
  • Be capable of implementing simple mechanisms for resource management
  • Know how to program with threads
  • Know how to exploit virtualization for resource management

General compentancy:

  • Know important general principles for resource management for computer systems.

Forkunnskapskrav

Object-oriented Programming (DAT100)

Anbefalte forkunnskaper

Web Programming (DAT310), Applied Mathematics and Physics in Programming of Robots (ELE130)

Exam

Form of assessment Weight Duration Marks Aid
Written exam 1/1 4 Hours Letter grades None permitted, Approved, basic calculator


Written digital exam

Vilkår for å gå opp til eksamen/vurdering

Laboratory work

Approval requires submitting your solution to our system for automated evaluation, followed by in-lab approval. The students must complete 6 assignments. All programming assignments must be passed to sit for the exam.

If a student fails to pass all the mandatory programming assignments, then the student must redo all assignments again the next time the subject is taught.

Completion of mandatory lab assignments are to be made at the times and in the groups that are assigned. Absence due to illness or for other reasons must be communicated as soon as possible to the laboratory personnel. One cannot expect that provisions for completion of the lab assignments at other times are made unless prior arrangements with the laboratory personnel have been agreed upon.

Failure to complete the assignments on time or not having them approved will result in being barred from sitting for the exam.

Fagperson(er)

Course coordinator:

Nejm Saadallah

Course teacher:

Nejm Saadallah

Head of Department:

Tom Ryen

Method of work

6 hours lectures and 4 hours of guided lab exercises. Lab exercises requires additional non-guided work effort.

Overlapping

Emne Reduksjon (SP)
Operating Systems (BID200_1) , Operating Systems and Systems Programming (DAT320_1) 5

Åpent for

Battery and Energy Engineering - Bachelor in Engineering Civil Engineering - Bachelor in Engineering Computer Science - Bachelor in Engineering Computer Science - Bachelor in Engineering, Part-Time Electrical Engineering - Bachelor's Degree Programme, part-time Electrical Engineering - Bachelor's Degree Programme Energy and Petroleum Engineering - Bachelor in Engineering Geosciences and Energy Resources - Bachelor in Engineering Environmental Engineering - Bachelor in Engineering Mechanical Engineering - Bachelor in Engineering Medical technology - Bachelor in Engineering Medical Technology - Bachelor in Engineering - part time
Admission to Single Courses at the Faculty of Science and Technology
Industrial Economics - Master of Science Degree Programme, Five Year Industrial Automation and Signal Processing - Master's Degree Programme - 5 year
Exchange programme at Faculty of Science and Technology

Emneevaluering

There must be an early dialogue between the course supervisor, the student union representative and the students. The purpose is feedback from the students for changes and adjustments in the course for the current semester.In addition, a digital course evaluation must be carried out at least every three years. Its purpose is to gather the students experiences with the course.
The course description is retrieved from FS (Felles studentsystem). Version 1