Hide menu

TDDB68: Concurrent Programming and Operating Systems

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

Note 2: The reading guidelines refer to the 9th edition. However, the chapter numbering has not changed significantly since the 7th edition. If you have an older copy of he book you can find the table of contents from the newest edition here, and through that find the corresponding sections in your book.

The table below contains the preliminary course schedule (lectures and lessons). For an up to date schedule check the course time table. The slides will be made available after each lecture.

Date Lecture topics By Material Reading (9e)
2018-01-15 Lecture 1: Introduction. Interrupts and system calls. M. Asplund slides Ch. 1.1-1.7, 2.3-2.5;
2018-01-16 Lecture 2: Introduction to system programming in C Pointer programming, Storage classes, Compiling, Linking, Debugging. M. Asplund slides
see slide material
2018-01-18 Lesson 1 (Lab 1) A. Maghazeh slides (2018)
2018-01-22 Lecture 3: Processes and threads and scheduling I M. Asplund slides Chapters 3.1-3.5 and 4.1-4.3
2018-01-25 Lecture 4: Synchronisation M. Asplund slides Chapter 6
2018-01-29 Lecture 5: Deadlocks, M. Asplund slides
bankers.py python script
Chapter 7
2018-01-30 Lesson 2 (Lab 2) F. Boeira slides (2018)
2018-02-05 Lecture 6: Scheduling II M. Asplund slides Chapter 5 (9e: not 5.6)
2018-02-08 Lecture 7: File systems M. Asplund slides Chapter 10 + 11
2018-02-15 Lesson 3 (Labs 3 and 4) A. Maghazeh slides (2017)
2018-02-16 Lecture 8: Memory management 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 slides Chapter 8+9;
2018-03-02 Lecture 9: OS Security M. Asplund slides Lecture slides
2018-03-06 Lecture 10: Resource M. Asplund slides Sections 2.7, 1.11.6, slides

Page responsible: Mikael Asplund
Last updated: 2018-03-15