Real-Time Operating SystemsCSCE 5013
Real-time performance is one of the most important characteristics of critical embedded systems. Those systems are present in various domain of every day life ranging from automation control to automotive trough avionics. Also military applications like cruise missile control are designed according to the real-time principles. Understanding the organization, requirements and design principle of those systems, which must react to external changes within a given period of time is the goal of this course. Upon defining the notion of task, the role of a real-time operating system will be considered, with the focus on the infrastructure and environment needed for a viable execution of tasks. A major part of the course will then be devoted to scheduling, thus providing the required theoretical foundation. Practical exercises and labs will accompany the theoretical part of the class in order to help for a better understanding of the theory. The lab will be based on a platform with a commercial embedded processor running a real-time operating system. Embedded Linux will be targeted in this course, thus offering the student the possibility to better understand the internal architecture of an operating system, to build their own operating system for a given architecture, to modify existing schedulers or write their own schedulers, integrate new modules in an existing system and visualize the results on the platform. Operating system and embedded systems courses will be useful for a better understanding of this course, but not mandatory.
- Hard Real-Time Scheduling: The Deadline-Monotonic Approach (by N. C. Audsley A. Burns M. F. Richardson A. J. Wellings)