Hide menu

TDDB68: Concurrent Programming and Operating Systems

Lectures and Lessons VT 2017
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.

Lectures and lessons

Note 1: We offer a special lecture introducing C for systems programming, with focus on pointer programming, address calculations, compiling, and linking. It will be complemented by the C lab session (Lab 0) during the first week (see below).

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

Lecture topics By Reading (SGG 7e, 8e, 9e)
1 Introduction. Interrupts and system calls. M. Asplund Ch. 1.1-1.7, 2.3-2.5;
2 Introduction to system programming in C Pointer programming, Storage classes, Compiling, Linking, Debugging. M. Asplund see slide material
3 Processes and threads M. Asplund Chapters 3.1-3.5 and 4.1-4.3
Lesson 1 (Lab 1) S. Ståhlberg
4 Synchronisation M. Asplund Chapter 6
Lesson 2 (Lab 2) S. Ståhlberg
Lesson 3 (Lab 3 and 4) S. Ståhlberg
5 Scheduling M. Asplund Chapter 5 (9e: not 5.6)
6 File systems M. Asplund Chapter 10 + 11
7 Deadlocks, bankers.py python script M. Asplund Chapter 7
8 Memory management Videos: [1, 2, 3, 4, 5, 6]. Note that while frame allocation and thrashing is not part of the lecture, it is still included in the course as self-study material. M. Asplund Chapter 8+9;
9 Structures, virtual machines, protection and security M. Asplund Section 2.7
7e, 8e: Section 2.8; 9e: Section 1.11.6 Chapter 14 (excl. 14.8, 14.9), Chapter 15 (excl. 15.4, 15.6, 15.7, 15.8)

Page responsible: Mikael Asplund
Last updated: 2017-03-12