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
|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