Real-time systems

Code 160II
Credits 6

Learning outcomes

Objectives
The course introduces kernel mechanisms and analysis techniques for increasing the predictability of computer controlled systems.

Syllabus
1. Basic concepts on real-time computing
Application domains. Typical system requirements. Limits of traditional approaches. Task models. Typical timing constraints. Task Scheduling. Metrics for performance evaluation.
2. Real-Time scheduling algorithms
Algorithm tassonomy. Scheduling with precedence constraints. Scheduling periodic tasks. Utilization-based analysis. Response-time analysis. Aperiodic task handling. Fixed-priority servers. Dynamic priority servers.
3. Protocols for accessing shared resources
The priority inversion phenomenon. Non-preemptive protocol. Priority Inheritance Protocol. Priority Ceiling Protocol. Stack Resource Policy. Computing blocking times. Schedulability analysis.
4. Overload management
Definition of computational load. Methods for overload handling. Admission Control. Robust Scheduling. Imprecise Computation. Job Skipping. Elastic scheduling. Handling overruns. Resource reservation mechanisms. Resource reclaiming techniques.
5. Implementation issues
Kernel mechanisms for real-time support. Required data structures. Time representation. Taking overhead into account. Basic kernel primitives. Process states and state transitions. Synchronous and asynchronous

Course structure
6 credits consisting of front lectures, exercise, laboratory and project. Exam consists in a colloquium concerning course concepts.