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. 2009). You may 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 14 jan 2013 at 08:15 in KEY1.
Note 1: We offer an optional lecture (Fo2, tuesday 15/1/2013 15:15-17:00) introducing C for systems programming, with focus on pointer programming, address calculations, compiling, and linking. This lecture is intended and highly recommended mainly for those participants who have only little experience in C, in order to alleviate the start of the lab series, which uses C as lab programming language. If you know the low-level programming parts of C well, you may skip this lecture.
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.
The lab series startup session on tuesday 15/1/2013 17:15-19:00 (19:15-21:00)
(see the schedule) is mandatory.
Join any of the groups in the rooms announced in the schedule, no matter
which of the assistants is supervising it.
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 2013 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):|
Interrupts and system calls.
Ch. 1.1-1.7, 13.2, 2.3-2.5;
|2||15/1 15:15-17:00||A short introduction to system programming in C (optional). Pointer programming, Storage classes, Compiling, Linking, Debugging.||C. Kessler||see slide material|
Lab series kick-off session.|
Pointer programming in C. Debugging. Lab system installation and test.
Processes and threads|
How to switch between processes
|C. Kessler||Chapters 3 and 4|
|4||18/1 08:15-10:00||Synchronisation I||C. Kessler||Chapter 6|
|22/1 15:15-17:00||Lesson 1 (important information for labs 1 and 2)||E. Hansson|
|5||29/1 13:15-15:00||Synchronisation II||C. Kessler||Chapter 6|
Scheduling (updated 2013-01-29)|
Muddy-card mid-term evaluation
|C. Kessler||Chapter 5 + 19.4|
|7||5/2 15:15-17:00||Memory management||C. Kessler||Chapter 8|
|8||6/2 10:15-12:00||Virtual memory||C. Kessler||Chapter 9|
|8/2 08:15-10:00||Lesson 2 (important information for Labs 3 and 4)||E. Hansson|
|9||13/2 08:15-10:00||File system interface (updated 11/2/2013)||C. Kessler||Chapter 10|
|File system implementation||Chapter 11|
|10||19/2 13:15-15:00||Mass storage, disk scheduling, RAID||Chapter 12|
Operating System Structures.|
Deadlock analysis, detection and avoidance
||C. Kessler||Chapter 7|
|12||5/3 13:15-15:00||Protection and Security||C. Kessler||Chapter 14, 15 (excl. 15.4)|
Page responsible: Christoph W Kessler
Last updated: 2013-02-11