Principles of Operation Systems and Concurrency


Content, progress and pedagogy of the module

Learning objectives


  • processes and threads: application, realization, state models, multi-threading programming with threads, creation of process or thread and scheduling
  • filesystems: namespace, realization of file systems, strategies for space allocation
  • memory management, allocation of primary storage: solid subdivision, virtual memory, paged memory, page replacement algorithms, shared storage, copy-on-write, demand paging, frame allocation
  • operating system kernel: interrupts, realization of system calls, drivers for peripheral devices, I / O planning and execution, hardware support
  • concurrency / parallelism: relative time synchronization, race conditions, mutex, semaphores, monitors, fairness, deadlocks, necessary and sufficient conditions for deadlock, strategies for deadlock handling, multi-core architectures, parallel programming, techniques and tools for simultaneous -/parallel programming, inter-thread/-process communication


  • be able to  explain the establishment, structure, functionality and operation of control systems accurately and using the correct terminology and notation
  • be able to analyze simple programs which make use of parallelism and / or simultaneity
  • be able to apply relevant techniques to ensure mutual exclusion, fairness and absence of deadlock in simple concurrent / parallel systems

One or more additional advanced topics may be included in the course, e.g. further principles for realization of parallelism or techniques applicable to operating systems.


Using the synthesis of the concepts and techniques, students should be able to develop system close simple programs that take advantage of parallelism and / or concurrency.

The student must be able to acquire new knowledge about operating systems and programming of concurrent and parallel systems

Type of instruction

The teaching is organized according to the general teaching methods for the education, cf. chapter 3

Extent and expected workload

It is expected that the student uses 30 hours per ECTS, which for this activity means 150 hours



Name of examPrinciples of Operation Systems and Concurrency
Type of exam
Written or oral exam
Assessment7-point grading scale
Type of gradingExternal examination
Criteria of assessmentThe criteria of assessment are stated in the Examination Policies and Procedures

Additional information

Contact: The Study board for Computer Science at or 9940 8854

Facts about the module

Danish titlePrincipper for styresystemer og parallelitet
Module codeDSNCSITK204
Module typeCourse
Duration1 semester
Language of instructionDanish and English
Empty-place SchemeYes
Location of the lectureCampus Aalborg
Responsible for the module


Study BoardStudy Board of Computer Science
DepartmentDepartment of Computer Science
FacultyTechnical Faculty of IT and Design