Operating System Concepts and Implementations

News

Organisation

The lectures take place every week. They cover both the fundamentals and more advanced aspects of the respective topic for that week.

The exercises do not take place every week (see the semester schedule for details). They cover technical details that are important for completing the lab tasks.

The computer lab sessions take place every week and do not introduce any additional course content. Teaching assistants are available during these sessions to help with implementation-related questions concerning the lab tasks.
Please note that the lab tasks require a considerable amount of implementation work, and debugging can be complex. If you get stuck, the computer lab sessions are the appropriate place to seek help with identifying and resolving errors.
The assessment of the lab tasks is also carried out by a teaching assistant during a computer lab sessions.

Attendance at lectures and tutorials is strongly encouraged. Attendance at the computer lab sessions is on an as-needed basis.

Week Schedule

Mo Tu We Th Fr
08:15-09:45
10:15-11:45
Computer Lab
Niels Magnus
(MC 5.202)
Lecture
Benedict
(MC 4.112)
Computer Lab
Niels Magnus
(MC 5.202)
12:15-13:45
Exercise
Manuel
(MC 4.112)
14:15-15:45
16:15-17:45

Semester Schedule

CW Mo Tu We Th Fr Lecture Exercises Lab Tasks
42 12.10. 13.10. 14.10. 15.10. 16.10. Introduction / Operating System Development Organisation / C++ & Git T0: C++ & Git (optional)
  L01
L02
     
  E0      
43 19.10. 20.10. 21.10. 22.10. 23.10. – T1: Input/Output
  –      
  E1      
44 26.10. 27.10. 28.10. 29.10. 30.10. Interrupts, Hardware
  L03      
         
45 02.11. 03.11. 04.11. 05.11. 06.11. Interrupts, Software T2: Interrupt Handling
  L04      
  E2      
46 09.11. 10.11. 11.11. 12.11. 13.11. Interrupts, SoftIRQs
  L05      
         
47 16.11. 17.11. 18.11. 19.11. 20.11. Interrupts, Synchronisation T3: Interrupt Synchronisation
  L06      
  E3      
48 23.11. 24.11. 25.11. 26.11. 27.11. IA-32 — Programming Model of the Intel Architecture
  L07      
         
49 30.11. 01.12. 02.12. 03.12. 04.12. Coroutines and Threads T4: Context Switching
  L08      
  E4      
50 07.12. 08.12. 09.12. 10.12. 11.12. Thread Management
  L09      
         
51 14.12. 15.12. 16.12. 17.12. 18.12. Architecture T5: Scheduling
  L10      
  E5      
52 21.12. 22.12. 23.12. 24.12. 25.12.      
         
   
53 28.12. 29.12. 30.12. 31.12. 01.01.      
    Christmas    
01 04.01. 05.01. 06.01. 07.01. 08.01.      
         
     
02 11.01. 12.01. 13.01. 14.01. 15.01. Thread Synchronisation
  L11      
         
03 18.01. 19.01. 20.01. 21.01. 22.01. Device Driver T6: Events & Synchro
  L12      
  E6      
04 25.01. 26.01. 27.01. 28.01. 29.01. Inter-process Communication
  L13      
         
05 01.02. 02.02. 03.02. 04.02. 05.02. Summary & Conclusion T7: StuBS App (optional)
  L14      
  E7      

Exam

To pass the module, two requirements must be met:

The final grade is determined by the result of the oral examination. The lab tasks are assessed during the computer lab sessions.

Team

Benedict Herzog
Manuel Vögele
Niels Magnus Buttler
Niels Magnus Buttler Computer Lab Sessions

Lecture Slides

All lecture slides are published continuously during the course of the semester.
Lecture Topic PDF Date
L01 Introduction PDF 13.10.2026
L02 Operating System Development PDF 13.10.2026
L03 Interrupts, Hardware PDF 27.10.2026
L04 Interrupts, Software 03.11.2026
L05 Interrupts, SoftIRQs 10.11.2026
L06 Interrupts, Synchronisation 17.11.2026
L07 IA-32 — Programming Model of the Intel Architecture 24.11.2026
L08 Coroutines and Threads 01.12.2026
L09 Thread Management 08.12.2026
L10 Architecture 15.12.2026
L11 Thread Synchronisation 12.01.2027
L12 Device Driver 19.01.2027
L13 Inter-process Communication 26.01.2027
L14 Summary & Conclusion 02.02.2027

Exercises Materials

Slides

All exercise slides are published continuously during the course of the semester.
Exercise Topic PDF Date
E0 Organisation
C++ & Git
Organization
C++
Git
13.10.2026
E1 Input/Output Input / Output 20.10.2026
E2 Interrupt Handling 03.11.2026
E3 Prolog/Epilog 17.11.2026
E4 Context Switch 01.12.2026
E5 Scheduling 15.12.2026
E6 Events & Synchro 19.01.2027
E7 StuBS App 02.02.2027

Lab Tasks

The lab tasks are published continuously during the course of the semester.
Task Topic Description Period
T0 C++ & Git (optional) Description 13.10.2026 – 19.10.2026
T1 Input/Output Description 20.10.2026 – 02.11.2026
T2 Interrupt Handling 03.11.2026 – 16.11.2026
T3 Interrupt Synchronisation 17.11.2026 – 30.11.2026
T4 Context Switching 01.12.2026 – 14.12.2026
T5 Scheduling 15.12.2026 – 18.01.2027
T6 Events & Synchro 19.01.2027 – 01.02.2027
T7 StuBS App (optional) 02.02.2027 – open end

Development and Lab Environment

Details about the development and lab environment can be found in the task documentation.

Contact

Questions regarding the course contents and lab tasks will be discussed and answered in the Moodle forum or during the computer lab sessions.

For organisational or other questions please contact us via email: cs-os-osci-orga@lists.rub.de.