TDT4186 Operating Systems (Spring 2022)


Lecture videos and additional resources

Videos will be posted on youtube.

MIT's "The Missing Semester of Your CS Education" with an introduction to the Unix shell, version control, makefiles etc.


Syllabus, slides and videos

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 PDF Video
2Mon10.01.2022 videoC crash course part 1 c-course.pdf video
Wed12.01.2022 videoC crash course part 2 video
3Mon17.01.2022 zoomIntroduction and organization pdf video
Mon17.01.2022 videoLecture 1: Introduction to operating systems os01.pdfvideo 1
Wed19.01.2022 videoLecture 2: Resources and computer architecture os02.pdf video 2
4Mon24.01.2022 videoLecture 3: Challenges and tasks of operating systems os03.pdf video 3
Wed26.01.2022 videoLecture 4: Processes os04.pdf video 4.1
video 4.2
3Wed26.01.2022
14:15-15:45
Live session pdf video
Fri28.01.2022 Handout Theoretical Exercise 1 - Processes tdt4186_t1.pdf
Solution Theoretical Exercise 1 - Synchronization tdt4186_t1_solution.pdf video
4Mon31.01.2022 Lecture 5: Threads os05.pdf video 5
Mon31.01.2022 Live session pdf video
Additional material: Unix shell future
programming
video
Additional material: init systems survey
systemd
criticism
LISA 18
fosdem 16
Mon31.01.2022 Handout Practical Exercise 1 - Processes tdt4186_p1.pdf
Wed2.02.2022 Lecture 6: Concurrency: Mutual Exclusion and Synchronization os06.pdf video 6.1
video 6.2
6Mon7.02.2022 Lecture 7: Concurrency: Deadlocks and Starvation os07.pdf video 7
Mon7.02.2022 Handout Theoretical Exercise 2 - Synchronization tdt4186_t2.pdf
Solution Theoretical Exercise 2 - Synchronization tdt4186_t2_solution.pdf video
Mon7.02.2022 Live session pdf video
Wed9.02.2022 Lecture 8: From source code to process os08.pdf video 8.1
video 8.2
video 8.3
7Mon14.02.2022 Lecture 9: Memory management os09.pdf video 9.1
video 9.2
Mon14.02.2022 Handout Theoretical Exercise 3 - Deadlocks and Software Development Process tdt4186_t3.pdf
Mon14.02.2022 Live session pdf video
Wed16.02.2022 Lecture 10: Virtual memory os10.pdf video 10.1
video 10.2
8Mon21.02.2022 Lecture 11: Inter-process communication os11.pdf video 11.1
video 11.2
Mon21.02.2022 Live session pdf video
Mon21.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
Wed25.02.2022 Lecture 12: Uniprocessor scheduling os12.pdf video 12
9Mon28.02.2022 Lecture 13: Real-time scheduling os13.pdf video 13
Mon28.02.2022 Handout Theoretical Exercise 5 - Scheduling tdt4186_t5.pdf
Solution Theoretical Exercise 4 - Memory allocation and virtual memory tdt4186_t4_solution.pdf
Mon28.02.202212:15-14:00 Live session pdf video
Tue01.03.2022 Handout Practical Exercise 2 - Threads and IPC tdt4186_p2.pdf
sem.h
bbuffer.h
Wed02.03.2022 Lecture 14: I/O management and disk scheduling os14.pdf video 14.1
video 14.2
10Mon07.03.2022 Lecture 15: File systems 1 os15.pdf video 15
Mon07.03.2022Live session pdf video
Mon07.03.2022 Handout Theoretical Exercise 6 - RT, I/O Scheduling, File Systems tdt4186_t6.pdf
Solution Theoretical Exercise 5 - Scheduling tdt4186_t5_solution.pdf
Wed09.03.2022 Lecture 16: File systems 2 os16.pdf video 16
11Mon14.03.2022 Lecture 17: Virtual machines and microkernels os17.pdf video 17
Mon14.03.2022Live session pdf video
Mon14.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
Wed16.03.2022 Lecture 18: Cloud, Unikernels, single-address space OS os18.pdf video 18
12Mon21.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)>
Mon21.03.2022Sorry, NO live session today!
There will be a three-hour live session with Espen instead, starting at 12:15!
Mon21.03.2022 No Theoretical Exercise this week
Wed23.03.2022 Lecture 20: Embedded systems 2
(from TU Dortmund)
open access text book (ch. 4)
os20.pdf video 20
(TU Dortmund)
Tue22.03.2022 Handout Practical Exercise 3 - Shell tdt4186_p3.pdf
13Mon28.03.2022 Lecture 21: OS Security 1 os21.pdf video 21.1
video 21.2
Mon28.03.2022Live session pdf video
Mon28.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
Wed30.03.2022 Lecture 22: Security 2
36C3 talk by Ross Anderson (Cambridge)
The sustainability of safety, security and privacy
video
14Mon04.04.2022 Lecture 23: Semester review os23.pdf video 23
Mon04.04.2022 Handout example exam pdf
Mon04.04.2022
12:15
Live session
Wed06.04.2022 No Lecture
15
16
Mon
Mon
11.04.2022
-18.04.2022
🐰 Easter break – påskeferie 🐣
16Wed20.04.2022 Discussion of the example exam slides video
--- End of course ---
20Sat21.05.2022 Exam (09:00-13:00) Inspera
Check emne side for official information!
emne info

Additional material:

Topic PDF
Mapping of lectures to the Three Easy Pieces textbook pdf
Exam Spring 2021 pdf

Literature

The lecture will be loosely based on the two following textbooks plus additional material.

AuthorsRemzi H. Arpaci-Dusseau and Andrea C. Arpaci-Dusseau
TitleOperating Systems: Three Easy Pieces
Freely availablebook website

AuthorsWilliam Stallings
TitleOperating Systems - Internals and Design Principles, 9th Global Edition
PublisherPearson 2017
ISBN9781292214290