After completion of the course, the student can:|
Explain the typical way of reasoning about Real Time (RT) systems: achieving predictability, timing constraints, definition of scheduling, scheduling anomalies, basic scheduling algorithms, (non) pre-emption.
Explain the basic concepts for RT scheduling mechanisms: when can these mechanisms be used, what are advantages and disadvantages of scheduling choices.
Execute feasibility analyses of well known scheduling protocols such as Rate Monotonic, Deadline Monotonic, Earliest Deadline First and Stack Resource, with and without the use of shared resources.
Execute feasibility analysis for single rate applications executed on multiprocessor systems using dataflow analysis theory.
Indicate limits, possibilities and pitfalls of RT mechanisms in real-life systems.
The aim of the real-time system 1 course is to study the theory and practice of real-time system design as applied in embedded systems for which guarantees must be given on the completion time of tasks.Topics that will be addressed are (1) the theoretical basis for real-time techniques, (2) several scheduling algorithms and their schedulability analysis techniques. Furthermore, we present some well known real-time operating systems and perform experiments with a micro-kernel for an ARM processor. Furthermore, an experiment will be performed with multi-core simulator. Some successful and less successful real-time system designs (MARS radio, Mars surveyor) will be presented.|
Prerequisite: To finish the course successfully a student must have the following qualifications to start with:
• General knowledge of Operating Systems
• Basic C/C++-programming and Unix experience
Contents: Basic concepts, aperiodic task scheduling, periodic task scheduling, servers, resource access protocols, real-time OS design, implementation of synchronization primitives, deadlock, starvation