Real-Time Systems

What is a real-time system?

according to DIN 44300, the following definition applies to term "real-time system": An operation of a computing system in which programs for the processing of accumulating data are always operational, such that the processing results are available within a predetermined period of time. depending on the application, the data may be generated randomly or at predetermined times. This means that a real-time system must guarantee both the functional correctness and the duration of the determination of the results (temporal correctness). Here, a distinction must be made between hard and soft real-time. For example, a video conferencing system that captures, sends, and displays video and audio within milliseconds only needs to meet soft real-time requirements because delaying a few pictures merely results in a "jerky" display. In contrast, the engine control of a car must meet hard real-time, as improper compliance will result in mechanical damage or, in the worst case, an accident.

Content of the lecture

The lecture "Realtime Systems" introduces general fundamentals of realtime systems. Among other things, hardware requirements (such as interrupt technology, timers) and real-time operating systems, in particular scheduling techniques such as Rate Monotonic Scheduling or Earliest Deadline First, priority inversion or priority increase are discussed. Finally, the lecture covers various software requirements and programming languages, design methodologies (eg, Finite State Machines, Petri Nets), and performance assessment.

Content of the exercise

The aim of the exercise is that the participants can independently solve real-time tasks. Practical computing exercises with QNX, a microkernel (Neutrino), real-time operating system (RTOS) and development environment (Momentics) therefore occupy a large space.

The emphasis of the exercise is on thread synchronization and different scheduling algorithms.

Information