DM510: Operating Systems (10 ECTS)

STADS: 15001001

Level
Bachelor course

Teaching period
The course is offered in the spring semester.
3rd and 4th quarter.

Teacher responsible
Email: daniel@imada.sdu.dk

Timetable
Group Type Day Time Classroom Weeks Comment
Common I Monday 12-14 U27A 05-06, 08-11, 16, 18-21
Common I Monday 12-14 U27A 05-06
Common I Monday 12-14 U27A 05-06
Common I Monday 12-14 U27A 05-06
Common I Monday 12-14 U27A 05-06
Common I Monday 12-14 U27A 05-06
Common I Monday 12-14 U27A 05-06
Common I Monday 12-14 U27A 05-06
Common I Monday 12-14 U27A 08-11
Common I Monday 12-14 U27A 08-11
Common I Monday 12-14 U27A 08-11
Common I Monday 12-14 U27A 08-11
Common I Monday 12-14 U27A 08-11
Common I Monday 12-14 U27A 08-11
Common I Monday 12-14 U27A 08-11
Common I Monday 12-14 U27A 16
Common I Monday 12-14 U27A 16
Common I Monday 12-14 U27A 16
Common I Monday 12-14 U27A 16
Common I Monday 12-14 U27A 16
Common I Monday 12-14 U27A 16
Common I Monday 12-14 U27A 16
Common I Monday 12-14 U27A 18-21
Common I Monday 12-14 U27A 18-21
Common I Monday 12-14 U27A 18-21
Common I Monday 12-14 U27A 18-21
Common I Monday 12-14 U27A 18-21
Common I Monday 12-14 U27A 18-21
Common I Monday 12-14 U27A 18-21
Common I Wednesday 14-16 U24 15
Common I Wednesday 14-16 U24 15
Common I Wednesday 14-16 U24 15
Common I Wednesday 14-16 U24 15
Common I Wednesday 14-16 U24 15
Common I Wednesday 14-16 U24 15
Common I Wednesday 14-16 U24 15
Common I Wednesday 14-16 U24 15, 21
Common I Wednesday 14-16 U24 21
Common I Wednesday 14-16 U24 21
Common I Wednesday 14-16 U24 21
Common I Wednesday 14-16 U24 21
Common I Wednesday 14-16 U24 21
Common I Wednesday 14-16 U24 21
Common I Wednesday 14-16 U24 21
Common I Thursday 12-14 U27A 05-06
Common I Thursday 12-14 U27A 05-06
Common I Thursday 12-14 U27A 05-06
Common I Thursday 12-14 U27A 05-06
Common I Thursday 12-14 U27A 05-06
Common I Thursday 12-14 U27A 05-06, 08, 15, 18
Common I Thursday 12-14 U27A 05-06
Common I Thursday 12-14 U27A 05-06
Common I Thursday 12-14 U27A 08
Common I Thursday 12-14 U27A 08
Common I Thursday 12-14 U27A 08
Common I Thursday 12-14 U27A 08
Common I Thursday 12-14 U27A 08
Common I Thursday 12-14 U27A 08
Common I Thursday 12-14 U27A 08
Common I Thursday 12-14 U27A 15
Common I Thursday 12-14 U27A 15
Common I Thursday 12-14 U27A 15
Common I Thursday 12-14 U27A 15
Common I Thursday 12-14 U27A 15
Common I Thursday 12-14 U27A 15
Common I Thursday 12-14 U27A 15
Common I Thursday 12-14 U27A 18
Common I Thursday 12-14 U27A 18
Common I Thursday 12-14 U27A 18
Common I Thursday 12-14 U27A 18
Common I Thursday 12-14 U27A 18
Common I Thursday 12-14 U27A 18
Common I Thursday 12-14 U27A 18
S1 TE Wednesday 14-16 U24 06-11
S1 TE Wednesday 14-16 U24 06-11, 16, 18-20, 22
S1 TE Wednesday 14-16 U24 06-11
S1 TE Wednesday 14-16 U24 06-11
S1 TE Wednesday 14-16 U24 06-11
S1 TE Wednesday 14-16 U24 06-11
S1 TE Wednesday 14-16 U24 06-11
S1 TE Wednesday 14-16 U24 06-11
S1 TE Wednesday 14-16 U24 16
S1 TE Wednesday 14-16 U24 16
S1 TE Wednesday 14-16 U24 16
S1 TE Wednesday 14-16 U24 16
S1 TE Wednesday 14-16 U24 16
S1 TE Wednesday 14-16 U24 16
S1 TE Wednesday 14-16 U24 16
S1 TE Wednesday 14-16 U24 18-20
S1 TE Wednesday 14-16 U24 18-20
S1 TE Wednesday 14-16 U24 18-20
S1 TE Wednesday 14-16 U24 18-20
S1 TE Wednesday 14-16 U24 18-20
S1 TE Wednesday 14-16 U24 18-20
S1 TE Wednesday 14-16 U24 18-20
S1 TE Wednesday 14-16 U24 22
S1 TE Wednesday 14-16 U24 22
S1 TE Wednesday 14-16 U24 22
S1 TE Wednesday 14-16 U24 22
S1 TE Wednesday 14-16 U24 22
S1 TE Wednesday 14-16 U24 22
S1 TE Wednesday 14-16 U24 22
Show entire timetable
Show personal time table for this course.

Comment:
Ubegrænset deltagerantal. 3. + 4. kvartal.

Prerequisites:
None

Academic preconditions:
The content of DM506 Computer Architecture must 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.

Qualifications
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.

Expected learning outcome
When the course has been taught the students will be able to

• Describe different architecture styles for realizing operating systems and the fundamental abstractions managed by an operating system.
• Describe how several control flows can be realized, discuss problems related to concurrency, and describe how synchronization and communication between control flows can be achieved.
• Discuss the methods used for CPU, disc and page-replacement scheduling.
• Describe how memory can be virtualized and how it can be managed as a resource.
• Describe the notion of file systems, possible implementations, and discuss how mass-storage can be attached to a computer system.
• Describe the interplay between system software/applications, operating system kernel, and computer hardware.
• Describe the two main distributed operating system design principles, and describe the notion of networks and the layered approach to realize network protocols.
• Describe the notion of protection in an operating system, discuss existing solutions, and describe the security problems virus, worm, Trojan horse and buffer overflow attack.
• Implement system programs using contemporary operating system abstractions.
• Apply basic operating system abstractions in networked programming.
• Use the programming language C.

When the programming projects have been followed the students will be able to

• Add a system call to a Linux operating system.
• Implement a kernel module for a Linux operating system.
• Implement the organization layer of a file system.
• Write a clear and well-structured report.

Subject overview
Operating systems structure, system calls, interrupts, processes concept, 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, file concept, directory implementation, mounting, free space management, disk structure, disk scheduling, RAID structure, protection, access matrix concept, security threats, encryption, authentication, distributed operating systems, networks, distributed file systems, programming in C

Literature
  • Meddeles ved kursets start..


Syllabus
See syllabus.

Website
This course uses e-learn (blackboard).

Prerequisites for participating in the exam
None

Assessment and marking:
(a) A number of programming assignments (internal marking by lecturer, passed/not passed) which will account for 4 ECTS of the total 10 ECTS of the course. It is required that these projects be approved in order to take the examination.
(b) Oral exam. 20 minutes. No preparation time. External marking. Marks according to the Danish 7-scale.

Reexamination after 2nd quarter.

Expected working hours
The teaching method is based on three phase model.

Forelæsninger (36 timer), eksaminatorier (24 timer) og projektarbejde.
Educational activities

Language
This course is taught in Danish or English, depending on the lecturer. However, if international students participate, the teaching language will always be English.

Course enrollment
See deadline of enrolment.

Tuition fees for single courses
See fees for single courses.