Kies de Nederlandse taal
Course module: 192130200
Real-time Systems 1
Course infoSchedule
Course module192130200
Credits (ECTS)5
Course typeCourse
Language of instructionEnglish
Contact M.J.G. Bekooij
Contactperson for the course M.J.G. Bekooij
Examiner M.J.G. Bekooij
Academic year2021
Starting block
Application procedureYou apply via OSIRIS Student
Registration using OSIRISYes
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
Assumed previous knowledge
Compulsory: completed bachelor's prior knowledge for: Real-time Systems 2
Participating study
Master Embedded Systems
Required materials
Giorgio Butazzo, "Hard Real-Time Computing Systems", Kluwer, 3rd edition
Recommended materials
Course material
Topics from lectures
Instructional modes

Project supervised

Project unsupervised

Self study without assistance


Kies de Nederlandse taal