Chapter 2 BASIC CONCEPTS OF REAL TIME OPERATING SYSTEMS

Real-time applications usually are executed on top of a Real-time Operating System (RTOS). Specific scheduling algorithms can be designed. When possible, static cyclic schedules are calculated off-line. If more flexibility is needed on-line techniques are applied. These algorithms are bound to priorities which can be assigned statically or dynamically. Designing a proper RTOS architecture needs some delicate decisions. The basic services like process management, inter-process communication, interrupt handling, or process synchronization have to be provided in an efficient manner making use of a very restricted resource budget. Various techniques like library-based approaches, monolithic kernels, microkernels, or virtual machines/exokernels are applied, based on specific demands. Safety critical application can be supported by separation of applications either in the time or the space domain. Multi-core architectures need special techniques for process management, memory management, and synchronization. The upcoming Wireless Sensor Networks (WSN) generate special demands for RTOS support leading to dedicated solutions. Another special area is given by multimedia applications. Very high data rates have to be supported under (soft) RT constraints. Based on the used encoding techniques (e.g. MPEG) dedicated solutions can be created.

[1]  Victor R. Basili,et al.  Software errors and complexity: an empirical investigation , 1993 .

[2]  Jeff Rose,et al.  Embedded Operating Systems for Wireless Microsensor Nodes , 2005, Handbook of Sensor Networks.

[3]  Elaine J. Weyuker,et al.  The distribution of faults in a large industrial software system , 2002, ISSTA '02.

[4]  Ivan Stojmenovic,et al.  Handbook of Sensor Networks: Algorithms and Architectures , 2005, Handbook of Sensor Networks.

[5]  James E. Smith,et al.  Virtual machines - versatile platforms for systems and processes , 2005 .

[6]  Hermann Kopetz,et al.  Real-time systems , 2018, CSC '73.

[7]  Herbert Bos,et al.  Can we make operating systems reliable and secure? , 2006, Computer.

[8]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[9]  Carsten Ditze Towards operating system synthesis , 2000 .

[10]  Gerald J. Popek,et al.  Formal requirements for virtualizable third generation architectures , 1974, SOSP '73.

[11]  Edsger W. Dijkstra,et al.  Cooperating sequential processes , 2002 .

[12]  Giorgio Buttazzo Rate Monotonic vs. EDF: Judgment Day , 2003, EMSOFT.

[13]  David E. Culler,et al.  System software techniques for low-power operation in wireless sensor networks , 2005, ICCAD-2005. IEEE/ACM International Conference on Computer-Aided Design, 2005..

[14]  Andreas Willig,et al.  Protocols and Architectures for Wireless Sensor Networks , 2005 .

[15]  Dominique Paret,et al.  Multiplexed Networks for Embedded Systems , 2007 .

[16]  Aggelos K. Katsaggelos,et al.  Advances in Efficient Resource Allocation for Packet-Based Real-Time Video Transmission , 2005, Proceedings of the IEEE.

[17]  David E. Culler,et al.  A Network-Centric Approach to Embedded Software for Tiny Devices , 2001, EMSOFT.