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.
| 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 |
| 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 |
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.
| Lecture | Topic | Date | |
|---|---|---|---|
| L01 | Introduction | 13.10.2026 | |
| L02 | Operating System Development | 13.10.2026 | |
| L03 | Interrupts, Hardware | 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 |
| Exercise | Topic | 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 |
| 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 |
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.