Hide menu

TDDB68: Concurrent Programming and Operating Systems

Lectures and Lessons VT 2013
Slides and Reading directions

This page contains the lecture series and links to the slides to be used in the lectures and lab lessons. The references to the course book relate to the 7th and 8th edition of the book (2005 resp. 2010). You may even use the 5th or 6th edition, but note that some chapters have been added, removed or rewritten in later editions.


Note 0: The first lecture is on monday 20 jan 2014 at 08:15 in C3.

Note 1: We offer a special lecture (F2, tuesday 21/1/2014 15:15-17:00) introducing C for systems programming, with focus on pointer programming, address calculations, compiling, and linking. It will be continued in the lab lessons during the first week.

Note 2: The slide material will be made available before the corresponding lecture and may be subject to updates without notice.
We will not always go through all slide material in the lectures. Some material is intended for self-studying.

Note 3: The lab series startup session on tuesday 21/1/2014 17:15-19:00 (see the schedule) is mandatory, and also the subsequent labs in the first week (Lab-0), to make sure that you have the C programming skills required for doing the Pintos labs. If not already signed up on a specific lab group in webreg then, join any of the groups in the rooms announced in the schedule, no matter which of the assistants is supervising it. To pass Lab-0 you need to be registered in webreg and show your solution to your lab group's assistant.
The remaining lab sessions are not shown in the list below, check the course time table for the lab dates.

(The slides below might be updated for 2014 shortly before each lecture. Lecture/lesson times given below are preliminary and might be subject to change; check the course time table.)

Time: Lecture topics: By: Reading (SGG 7e, 8e, 9e):
120/1 08:15-10:00 General information.
Interrupts and system calls.
C. Kessler
Ch. 1.1-1.7, 13.2, 2.3-2.5;
1.8-1.12 (background)
221/1 15:15-17:00 A short introduction to system programming in C (optional). Pointer programming, Storage classes, Compiling, Linking, Debugging. E. Hansson see slide material
21/1 17:15-19:00 Lab-0: Lab series kick-off session.
Pointer programming in C. Debugging. Lab system installation and test.
2 more lab sessions in the first week.
324/1 08:15-10:00 Processes and threads
How to switch between processes
C. Kessler Chapters 3 (not 3.6) and 4
427/1 08:15-10:00 Synchronisation I C. Kessler Chapter 6
28/1 13:15-15:00 Lesson 1 (important information for labs 1 and 2) E. Hansson
529/1 10:15-12:00 Synchronisation II C. Kessler Chapter 6 (9e: not 6.10)
64/2 13:15-15:00 Scheduling
Muddy-card mid-term evaluation
C. Kessler Chapter 5 (9e: not 5.6)
76/2 10:15-12:00 Memory management C. Kessler Chapter 8
810/2 08:15-10:00 Virtual memory C. Kessler Chapter 9
12/2 10:15-12:00 Lesson 2 (important information for Labs 3 and 4) E. Hansson
919/2 10:15-12:00 File system interface C. Kessler Chapter 10
File system implementation Chapter 11
1025/2 13:15-15:00 Mass storage, disk scheduling, RAID Chapter 12
Operating System Structures.
Virtual Machines.

C. Kessler Section 2.7
7e, 8e: Section 2.8; 9e: Section 1.11.6
11 4/3 13:15-15:00 Deadlock analysis, detection and avoidance
C. Kessler Chapter 7
1211/3 13:15-15:00 Protection and Security C. Kessler Chapter 14 (excl. 14.8, 14.9), Chapter 15 (excl. 15.4, 15.6, 15.7, 15.8)

Lab Lessons

Page responsible: Christoph W Kessler
Last updated: 2014-03-11