TDDB68: Concurrent Programming and Operating Systems
Lectures and Lessons VT 2015
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, 8th and 9th edition of the book (2005, 2010 resp. 2013). 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 19 jan 2015 at 08:15 in lecture hall Visionen (B-house entry 27 opposite Cafe Java).
Note 1: We offer a special lecture (F2, tuesday 20/1/2015 13:15-15:00) introducing C for systems programming, with focus on pointer programming, address calculations, compiling, and linking. It will be complemented by the two C lab sessions during the first week (see below).
Note 2: Due to a business trip, the first two lectures will be given by the course assistant, Erik Hansson.
Note 3: 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 slide material is intended for self-studying only.
The lab series startup session on tuesday 20/1/2015 15:15-17:00
(for groups A, C, D; group B starts on thursday 22/1,
see the schedule) is mandatory.
Demonstration of Lab-0 is mandatory, 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 2015 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)|
Interrupts and system calls.
Ch. 1.1-1.7, 13.2, 2.3-2.5;
|2||20/1 13:15-15:00||A short introduction to system programming in C (optional). Pointer programming, Storage classes, Compiling, Linking, Debugging.||E. Hansson||see slide material|
|20/1 15:15-17/19:00 (A,C,D)|
22/1 17:00-21:00 (B)
Lab series kick-off session.|
Pointer programming in C. Debugging. Lab system installation and test.
Demonstration of Lab-0.
Processes and threads|
How to switch between processes
|C. Kessler||Chapters 3 (not 3.6) and 4|
|4||26/1 08:15-10:00||Synchronisation I||C. Kessler||Chapter 6|
|27/1 13:15-15:00||Lesson 1 (important information for Lab 1)||E. Hansson|
|5||28/1 10:15-12:00||Synchronisation II||C. Kessler||Chapter 6 (9e: not 6.10)|
Muddy-card mid-term evaluation
|C. Kessler||Chapter 5 (9e: not 5.6)|
|3/2 13:15-15:00||Lesson 2 (important information for Lab 2)||E. Hansson|
|7||4/2 10:15-12:00||Memory management||C. Kessler||Chapter 8|
|8||9/2 08:15-10:00||Virtual memory||C. Kessler||Chapter 9|
|11/2 10:15-12:00||Lesson 3 (important information for Labs 3 and 4)||E. Hansson|
|9||18/2 10:15-12:00||File system interface||C. Kessler||Chapter 10|
|File system implementation||Chapter 11|
|10||24/2 13:15-15:00||Mass storage, disk scheduling, RAID||Chapter 12|
Operating System Structures.|
7e, 8e: Section 2.8; 9e: Section 1.11.6
Deadlock analysis, detection and avoidance
||C. Kessler||Chapter 7|
|12||6/3 08:15-10:00||Protection and Security||C. Kessler||Chapter 14 (excl. 14.8, 14.9), Chapter 15 (excl. 15.4, 15.6, 15.7, 15.8)|
- Lesson 1: Slides 1x1, Slides 2x2. Updated 2015.
- Lesson 2: Slides 1x1, Slides 2x2. Updated 2015.
- Lesson 3: Slides 1x1, Slides 2x2. Updated 2015.
Page responsible: Christoph W Kessler
Last updated: 2015-02-10