DM510: Operating Systems

The Study Board for Science

Teaching language: Danish or English depending on the teacher, but English if international students are enrolled
EKA: N330031102
Assessment: Second examiner: External
Grading: 7-point grading scale
Offered in: Odense
Offered in: Spring
Level: Bachelor

STADS ID (UVA): N330031101
ECTS value: 10

Date of Approval: 07-11-2024


Duration: 1 semester

Version: Archive

Entry requirements

None

Academic preconditions

The content of DM548: Computer architecture and system programming should be known.

Course introduction

To obtain knowledge of the structure of computer systems, the interplay of hardware and software, the role of operating systems in this task, and the resource abstractions provided by an operating system.

Students will gain knowledge about actual operating systems, scheduling algorithms, security and protection mechanisms, file systems and process communication. Students will learn C-programming on operating system level.

In relation to the competence profile of the degree it is the explicit focus of the course to:
  • Give competence to
    • handle complex and development-oriented situations in academic and work settings
    • identify their own learning needs and to structure own learning in different learning environments
  • Give skills to
    • make and justify decisions within the subject area
    • describe, formulate, and communicate problems and results to either peers and non-specialists or partners and users
  • Provide knowledge about
    • principles for the design of computer hardware and operating systems, including distributed and parallel systems

Expected learning outcome

After the course the student is expected to have the following.

Knowledge of

  • different architecture styles for realizing operating systems and the fundamental abstractions managed by an operating system.
  • how several control flows can be realized and how synchronization and communication between control flows can be achieved.
  • how memory can be virtualized and how it can be managed as a resource.
  • file systems in general, their internals, and possible implementations of them.
  • the interplay between system software/applications, operating system kernel, and computer hardware.
  • the two main distributed operating system design principles.
  • the notion of networks and the layered approach to realize network protocols, on a basic level.
  • the notion of protection in an operating system and security problems such as virus, worm, Trojan horse and buffer overflow attack.
  • different methods for virtualization of execution in operating systems (e.g. containerization), including advantages and disadvantages of the methods.

Skills in

  • implementation of system programs using contemporary operating system abstractions.
  • programming in the C programming language on the operating system level.

Competences in

  • discussing problems related to concurrency
  • discussing the methods used for CPU, disc and page-replacement scheduling.
  • discussing how mass-storage can be attached to a computer system in the context of file systems, and discuss access to I/O systems in general.
  • discussing existing solutions to security problems in operating systems.

Content

The following main topics are contained in the course:
Operating systems structure, system calls, interrupts, processes, multithreading, CPU scheduling, critical section problem, synchronization mechanisms, classical synchronization problems, atomic transactions, deadlock handling, swapping, memory allocation, paging, segmentation, demand paging, page replacement, frame allocation, files, directories, mounting, free space management, disk structure, disk scheduling, RAID, protection and security considerations, access matrices, encryption, authentication, distributed operating systems, networks, distributed file systems, virtualization,  programming in C on operating system level

Literature

See itslearning for syllabus lists and additional literature references.

Examination regulations

Exam element a)

Timing

June

Tests

Portfolio exam

EKA

N330031102

Assessment

Second examiner: External

Grading

7-point grading scale

Identification

Full name and SDU username

Language

Normally, the same as teaching language

Duration

Written exam: 3 hours 

Examination aids

The written exam is without aids.

Internet is not allowed. However, you may access the course page in itslearning to open system "DE–Digital Exam" and complete any tests within the system.

ECTS value

10

Additional information

The portfolio consists of the following elements:
1) a number of assignements handed in during the course
2) A written exam during the exam period. The exam paper is free format and is handed out as a PDF document, and the answer must be submitted as a single PDF document.

To achieve a passing grade overall, both element 1 and element 2 must independently meet the objectives. The assessment of element 1 will take place in conjunction with the completion of element 2.

Element 1 counts for 20% and element 2 counts for 80%, in which a overall evaluation is applied.

Indicative number of lessons

60 hours per semester

Teaching Method

The teaching activities are:

  • Intro phase (lectures) - 36 hours
  • Training phase: 24 hours

Teacher responsible

Name E-mail Department
Lars Rohwedder rohwedder@imada.sdu.dk Institut for Matematik og Datalogi

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period

Transition rules

Transitional arrangements describe how a course replaces another course when changes are made to the course of study. 
If a transitional arrangement has been made for a course, it will be stated in the list. 
See transitional arrangements for all courses at the Faculty of Science.