Linköpings universitet's sign

Department of Computer and Information Science (IDA)

TDDB68: Concurrent Programming and Operating Systems
TDDB72: Concurrent Programming, Operating Systems,
and Real-Time Operating Systems

Slides HT 2006


This page contains the lecture series and links to the slides to be used in the lectures and lab lessons of 2006. The references to the course book relate to the 7th edition of the book (2005). You may use the 5th or 6th edition, but note that some chapters have been added, removed or rewritten in later editions.

Lectures

Note 1: We offer an introductory lecture into C and C++, (programming, compiling, and linking) for students with a background in Java programming. This lecture (Fo2) is optional. It is intended mainly for those who have never before programmed in C or C++, in order to alleviate the start of the lab series, which uses C/C++ as lab programming language. If you know C or are taking or have taken the course TDDB89 Advanced programming in C++, you may skip this lecture.

Note 2: There will be 2 lectures for TDDB72 covering Real Time systems specifically, and they are planned as Fo10 and Fo11 at the end of HT1. These lectures are optional for TDDB68.
Lecture 12 (early in HT2) introduces the TDDB72 real-time project and is for TDDB72 students only.

Note3: Some lectures (e.g., 1-4 and 8) will, to some detail, recapitulate computer architecture concepts that are needed for enabling operating system functionality, as not all participants have taken computer architecture courses such as TSEA20 and TDTS55.

Note 4: The slide material will be made available before the corresponding lecture and may be subject to updates without notice.

Time: Lecture topics: Readings:
124/8 10-12 General information and overview
Introduction

Chapter 1 and 13.2
224/8 17-19 A short introduction to C/C++ (optional).
For students with a background in Java.
Programming, Compiling, Linking.
web material for C lessons
325/8 08-10 Operating System Structures Chapter 2
428/8 13-15 Processes and threads
How to switch between processes
Chapters 3 and 4
529/8 08-10 Synchronisation
Chapter 6
604/9 13-15 Scheduling
Chapter 5, 19.4-5
712/9 10-12 Deadlock analysis, detection and avoidance Chapter 7
818/9 13-15 Memory management Chapter 8
925/9 13-15 Virtual memory Chapter 9
102/10 13-15 TDDB72: Real-time operating systems (1) Chapter 19
116/10 08-10 TDDB72: Real-time operating systems (2) Chapter 19

Exam period
12 TDDB72: The Real Time Project
13 File system interface Chapter 10
File system implementation Chapter 11
Mass storage, disk scheduling, RAID Chapter 12
14 Protection and Security Chapters 14 and 15
15 TDDB72: Real-time project presentation sessions

Notes for Lab Lessons

2006

2005