You can find links to the PDF version of the course slide sets here. The PowerPoint version of the slides is also available but access is restricted to the UBC.ca domain. I strongly recommend that you not print the slides (save paper!).
- Course introduction
- January 10
- Logistics
- What are real-time systems?
- Foundational models
- January 12
- Task models
- Definitions
- Worst-case execution time analysis
- January 17
- Challenges for WCET estimation
- Some techniques for WCET analysis
- Periodic task scheduling and rate monotonic priority assignment
- January 14, 17
- Periodic task scheduling with static priorities
- Rate monotonic scheduling and the Liu & Layland bound
- Periodic task scheduling: EDF scheduling
- January 19, 21
- EDF: Optimality and utilization bound
- (Also) Why is RM the optimal static-priority policy?
- Periodic task scheduling: Exact analysis for static-priority scheduling
- January 26, 28
- Better utilization bounds
- Response time analysis for static-priority scheduling
- Periodic task scheduling: Time demand analysis for EDF
- January 31
- Processor demand criterion (when relative deadline < period)
- Speeding up the schedulability test
- Resource sharing and blocking
- February 2, 4
- The priority inversion problem
- Introduction to priority inheritance
- Resource sharing protocols for real-time systems
- February 7, 9, 11
- Priority inheritance and priority ceiling protocols (PIP & PCP)
- Stack-based resource sharing policy (SRP)
- Lock-free synchronization
- February 21
- Synchronization without locks
- Optimistic concurrency control
- NanoRK
- February 25
- Introduction to a real-time operating system kernel
- Static priority task servers
- March 2, 4
- Polling server
- Sporadic server
- Dynamic priority task servers
- March 2, 4
- Sporadic server
- Constant bandwidth server
- Distributed real-time systems (handwritten notes)
- March 7, 9
- Multi-stage systems
- Phase modification and release guard protocols
- Soft real-time systems
- March 14, 16
- The elastic tasks model
- Imprecise computations
- Multiprocessors
- March 18, 21
- Multiprocessor models
- Schedulability results for multiprocessors
- Reliability and fault tolerance
- March 25, 30, April 1
- Principles for reliability
- Determining system reliability
- Implementing multiprocessor scheduling policies
- March 28
- Comparisons between different policies
- A study of multiple global EDF implementations
- Hardware/software co-design and tradeoffs
- April 4
- Platform selection
- Engineering trade-offs