Operating System Methods for Real-Time Applications
Principles and methods for operating system design with application to
real-time, embedded systems. Concurrent programming: mechanisms and
languages; design approaches and issues; run-time support
(kernel). Methods for hard real-time applications. Methods for
distributed systems. Programming assignments in a suitable programming
Welcome to the Winter 2014 term!
Lectures: Tues. and Thurs., 6:05 - 7:25 pm (18:05 - 19:25), Canal Building, room 2202
Course Outline (pdf)
Assignments (in PDF)
Assignment 3 Due Mar. 13, 2014
Assignment 4 Due Apr. 3, 2014
- Assignment 1 Due Jan. 30, 2014
- Assignment 2 Due Feb. 25, 2014
Lecture Slides (in PDF)
- A classic paper by Stankovic (1988) about fundamental misconceptions and challenges in real-time systems
- Stankovic was pressed into writing more here
about the material in his 1988 paper.
(This is a good site for papers! There are download links on the right side of the page ... this one has PDF and PS links.)
- Some detailed discussion of implementation issues in real-time systems, particularly processor architecture issues,
can be found here (circa 1990, but easy to read).
- Leslie Lamport's hompage is here. He has made his
entire collected works available!
- For the Bakery Algorithm, see the paper "A New Solution of Dijkstra's Concurrent Programming Problem".
- You might enjoy his paper on "Teaching Concurrency" ... how does your thought process compare?
- Another widely respected paper from Lamport: "Time, Clocks, and the Ordering of Events in a Distributed System".
This paper starts with the "happens before" relation (discussed in the Real-Time Systems slides), and introduces a
logical clock mechanism that has been used to implement synchronization in distributed systems (we may get to this,
if time permits).
- The classic Liu and Layland paper from 1973 that launched Rate Monotonic Scheduling research is here.
- A very nice overview of interrupts can be found here.
- Hoare's classic paper on Monitors is here. Note that he uses condition variables,
which are discussed in class later (in threads discussion).
Prof. Pearce <email@example.com>