Videos will be posted on youtube.
Lecture slides and videos will be published twice a week. Assignments for theoretical (TE) and practical (PE) exercises will be handed out weekly on Thursdays, alternating between theoretical and practical exercises.
We will still have to decide if the exercises can be graded depending on the availability of TAs.
The C crash course serves as an introduction to C for students who have only programmed in Java (or other languages) before. It is also useful as a refresher of your knowledge.
Week | Day | Date | Mode | Topic | Video | ||
---|---|---|---|---|---|---|---|
2 | Mon | 10.01.2022 | video | C crash course part 1 | c-course.pdf | video | |
Wed | 12.01.2022 | video | C crash course part 2 | video | |||
3 | Mon | 17.01.2022 | zoom | Introduction and organization | video | ||
Mon | 17.01.2022 | video | Lecture 1: Introduction to operating systems | os01.pdf | video 1 | ||
Wed | 19.01.2022 | video | Lecture 2: Resources and computer architecture | os02.pdf | video 2 | ||
4 | Mon | 24.01.2022 | video | Lecture 3: Challenges and tasks of operating systems | os03.pdf | video 3 | |
Wed | 26.01.2022 | video | Lecture 4: Processes | os04.pdf | video 4.1 video 4.2 | ||
3 | Wed | 26.01.2022 14:15-15:45 | Live session | video | |||
Fri | 28.01.2022 | Handout Theoretical Exercise 1 - Processes | tdt4186_t1.pdf | ||||
Solution Theoretical Exercise 1 - Synchronization | tdt4186_t1_solution.pdf | video | |||||
4 | Mon | 31.01.2022 | Lecture 5: Threads | os05.pdf | video 5 | ||
Mon | 31.01.2022 | Live session | video | ||||
Additional material: Unix shell | future programming | video | |||||
Additional material: init systems | survey systemd criticism | LISA 18 fosdem 16 | |||||
Mon | 31.01.2022 | Handout Practical Exercise 1 - Processes | tdt4186_p1.pdf | ||||
Wed | 2.02.2022 | Lecture 6: Concurrency: Mutual Exclusion and Synchronization | os06.pdf | video 6.1 video 6.2 | |||
6 | Mon | 7.02.2022 | Lecture 7: Concurrency: Deadlocks and Starvation | os07.pdf | video 7 | ||
Mon | 7.02.2022 | Handout Theoretical Exercise 2 - Synchronization | tdt4186_t2.pdf | ||||
Solution Theoretical Exercise 2 - Synchronization | tdt4186_t2_solution.pdf | video | |||||
Mon | 7.02.2022 | Live session | video | ||||
Wed | 9.02.2022 | Lecture 8: From source code to process | os08.pdf | video 8.1
video 8.2 video 8.3 | |||
7 | Mon | 14.02.2022 | Lecture 9: Memory management | os09.pdf | video 9.1
video 9.2 | ||
Mon | 14.02.2022 | Handout Theoretical Exercise 3 - Deadlocks and Software Development Process | tdt4186_t3.pdf | ||||
Mon | 14.02.2022 | Live session | video | ||||
Wed | 16.02.2022 | Lecture 10: Virtual memory | os10.pdf | video 10.1
video 10.2 | |||
8 | Mon | 21.02.2022 | Lecture 11: Inter-process communication | os11.pdf | video 11.1
video 11.2 | ||
Mon | 21.02.2022 | Live session | video | ||||
Mon | 21.02.2022 | Handout Theoretical Exercise 4 - Memory allocation and virtual memory (fixed: typo 232 -> 2^32) | tdt4186_t4.pdf | ||||
Solution Theoretical Exercise 3 - Deadlocks and SW Development Process | tdt4186_t3_solution.pdf | video | |||||
Wed | 25.02.2022 | Lecture 12: Uniprocessor scheduling | os12.pdf | video 12 | |||
9 | Mon | 28.02.2022 | Lecture 13: Real-time scheduling | os13.pdf | video 13 | ||
Mon | 28.02.2022 | Handout Theoretical Exercise 5 - Scheduling | tdt4186_t5.pdf | ||||
Solution Theoretical Exercise 4 - Memory allocation and virtual memory | tdt4186_t4_solution.pdf | ||||||
Mon | 28.02.2022 | 12:15-14:00 | Live session | video | |||
Tue | 01.03.2022 | Handout Practical Exercise 2 - Threads and IPC | tdt4186_p2.pdf sem.h bbuffer.h | ||||
Wed | 02.03.2022 | Lecture 14: I/O management and disk scheduling | os14.pdf | video 14.1
video 14.2 | |||
10 | Mon | 07.03.2022 | Lecture 15: File systems 1 | os15.pdf | video 15 | ||
Mon | 07.03.2022 | Live session | video | ||||
Mon | 07.03.2022 | Handout Theoretical Exercise 6 - RT, I/O Scheduling, File Systems | tdt4186_t6.pdf | ||||
Solution Theoretical Exercise 5 - Scheduling | tdt4186_t5_solution.pdf | ||||||
Wed | 09.03.2022 | Lecture 16: File systems 2 | os16.pdf | video 16 | |||
11 | Mon | 14.03.2022 | Lecture 17: Virtual machines and microkernels | os17.pdf | video 17 | ||
Mon | 14.03.2022 | Live session | video | ||||
Mon | 14.03.2022 | Handout Theoretical Exercise 7 - File systems | tdt4186_t7.pdf | ||||
Solution Theoretical Exercise 6 - Realtime Scheduling, I/O Scheduling and File Systems | tdt4186_t6_solution.pdf | ||||||
Wed | 16.03.2022 | Lecture 18: Cloud, Unikernels, single-address space OS | os18.pdf | video 18 | |||
12 | Mon | 21.03.2022 | Lecture 19: Embedded systems 1 (from TU Dortmund) open access text book (ch. 4) | os19.pdf | video 19.1
video 19.2 (TU Dortmund)> | ||
Mon | 21.03.2022 | Sorry, NO live session today! There will be a three-hour live session with Espen instead, starting at 12:15! | |||||
Mon | 21.03.2022 | No Theoretical Exercise this week | |||||
Wed | 23.03.2022 | Lecture 20: Embedded systems 2 (from TU Dortmund) open access text book (ch. 4) | os20.pdf | video 20 (TU Dortmund) | |||
Tue | 22.03.2022 | Handout Practical Exercise 3 - Shell | tdt4186_p3.pdf | ||||
13 | Mon | 28.03.2022 | Lecture 21: OS Security 1 | os21.pdf | video 21.1 video 21.2 | ||
Mon | 28.03.2022 | Live session | video | ||||
Mon | 28.03.2022 | Handout Theoretical Exercise 8 - VMs, the Cloud and everything | tdt4186_t8.pdf | ||||
Solution Theoretical Exercise 7 - File Systems | tdt4186_t7_solution.pdf | ||||||
Solution Theoretical Exercise 8 - VMs... | tdt4186_t8_solution.pdf | ||||||
Wed | 30.03.2022 | Lecture 22: Security 2 36C3 talk by Ross Anderson (Cambridge) The sustainability of safety, security and privacy | video | ||||
14 | Mon | 04.04.2022 | Lecture 23: Semester review | os23.pdf | video 23 | ||
Mon | 04.04.2022 | Handout example exam | |||||
Mon | 04.04.2022 12:15 | Live session | |||||
Wed | 06.04.2022 | No Lecture | |||||
15 16 | Mon Mon | 11.04.2022 -18.04.2022 | 🐰 Easter break – påskeferie 🐣 | ||||
16 | Wed | 20.04.2022 | Discussion of the example exam | slides | video | ||
--- End of course --- | |||||||
20 | Sat | 21.05.2022 | Exam (09:00-13:00) Inspera Check emne side for official information! | emne info |
Additional material:
Topic | |
---|---|
Mapping of lectures to the Three Easy Pieces textbook | |
Exam Spring 2021 |
The lecture will be loosely based on the two following textbooks plus additional material.
Authors | Remzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau |
Title | Operating Systems: Three Easy Pieces |
Freely available | book website |
Authors | William Stallings |
Title | Operating Systems - Internals and Design Principles, 9th Global Edition |
Publisher | Pearson 2017 |
ISBN | 9781292214290 |