- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Embedded operating systems - Requirement: Configurability - Configurability.

Slides:



Advertisements
Similar presentations
Fakultät für informatik informatik 12 technische universität dortmund Resource Access Protocols Peter Marwedel Informatik 12 TU Dortmund Germany 2008/12/06.
Advertisements

Operating Systems Components of OS
Threads, SMP, and Microkernels
Operating System Structures
Part IV: Memory Management
Distributed Systems Major Design Issues Presented by: Christopher Hector CS8320 – Advanced Operating Systems Spring 2007 – Section 2.6 Presentation Dr.
COM vs. CORBA.
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
Computer Systems/Operating Systems - Class 8
Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides use Microsoft.
Embedded & Real-time Operating Systems Peter Marwedel TU Dortmund, Informatik 12 Germany Graphics: © Alexandra Nolte, Gesine Marwedel, 2003 These slides.
Chapter 13 Embedded Systems
Operating Systems High Level View Chapter 1,2. Who is the User? End Users Application Programmers System Programmers Administrators.
INTRODUCTION OS/2 was initially designed to extend the capabilities of DOS by IBM and Microsoft Corporations. To create a single industry-standard operating.
3.5 Interprocess Communication Many operating systems provide mechanisms for interprocess communication (IPC) –Processes must communicate with one another.
Embedded and Real Time Systems Lecture #4 David Andrews
3.5 Interprocess Communication
Fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany.
Chapter 13 Embedded Systems
Figure 1.1 Interaction between applications and the operating system.
CprE 458/558: Real-Time Systems
1 Chapter 13 Embedded Systems Embedded Systems Characteristics of Embedded Operating Systems.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
CS4101 嵌入式系統概論 RTOS and MQX Prof. Chung-Ta King Department of Computer Science National Tsing Hua University, Taiwan ( Materials from Freescale; Prof.
Advances in Language Design
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Chapter 2: System Structures.
Chapter 6 Operating System Support. This chapter describes how middleware is supported by the operating system facilities at the nodes of a distributed.
B.Ramamurthy9/19/20151 Operating Systems u Bina Ramamurthy CS421.
Chapter 2: Operating-System Structures. 2.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 14, 2005 Operating System.
CS 390- Unix Programming Environment CS 390 Unix Programming Environment Topics to be covered: Distributed Computing Fundamentals.
Real Time Operating Systems Lecture 10 David Andrews
Real-Time Systems Design1 Priority Inversion When a low-priority task blocks a higher-priority one, a priority inversion is said to occur Assume that priorities:
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 3: Operating-System Structures System Components Operating System Services.
Chapter 101 Multiprocessor and Real- Time Scheduling Chapter 10.
Universität Dortmund Technische Universität Dortmund Embedded & Real-time Operating Systems Peter Marwedel TU Dortmund, Germany.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Threads, SMP, and Microkernels Chapter 4. Process Resource ownership - process is allocated a virtual address space to hold the process image Scheduling/execution-
Advanced Design and System Patterns The Microkernel Pattern.
Embedded & Real-time Operating Systems Peter Marwedel TU Dortmund, Informatik 12 Germany 2012 年 11 月 27 日 These slides use Microsoft clip arts. Microsoft.
CE Operating Systems Lecture 3 Overview of OS functions and structure.
Operating Systems David Goldschmidt, Ph.D. Computer Science The College of Saint Rose CIS 432.
Real-Time, Clocking, and Porting (My Job ) Determining the Real Time Capabilities of various Operating Systems. Writing code to support Real Time Clocking.
1 Threads, SMP, and Microkernels Chapter Multithreading Operating system supports multiple threads of execution within a single process MS-DOS.
Introduction Contain two or more CPU share common memory and peripherals. Provide greater system throughput. Multiple processor executing simultaneous.
Operating Systems Unit 2: – Process Context switch Interrupt Interprocess communication – Thread Thread models Operating Systems.
OPERATING SYSTEM OVERVIEW. Contents   O.S.Functions   The Evolution of O.S.   Characteristics of O.S.   Basic hardware elements.
Embedded Real-Time Systems Processing interrupts Lecturer Department University.
Threads, SMP, and Microkernels Chapter 4. Processes and Threads Operating systems use processes for two purposes - Resource allocation and resource ownership.
Real-Time Operating Systems RTOS For Embedded systems.
1 OPERATING SYSTEMS. 2 CONTENTS 1.What is an Operating System? 2.OS Functions 3.OS Services 4.Structure of OS 5.Evolution of OS.
Computer System Structures
REAL-TIME OPERATING SYSTEMS
Credits: 3 CIE: 50 Marks SEE:100 Marks Lab: Embedded and IOT Lab
The Mach System Sri Ramkrishna.
Operating System Structure
Real Time Operating System
Real-time Software Design
Embedded & Real-time Operating Systems
Threads, SMP, and Microkernels
Operating Systems Bina Ramamurthy CSE421 11/27/2018 B.Ramamurthy.
CS4101 嵌入式系統概論 RTOS Prof. Chung-Ta King Department of Computer Science
Real-time Linux Evaluation
Threads Chapter 4.
Operating Systems : Overview
Chapter 2: Operating-System Structures
Operating Systems : Overview
Operating Systems : Overview
Chapter 2: Operating-System Structures
Chapter 13: I/O Systems.
Presentation transcript:

- 1 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Embedded operating systems - Requirement: Configurability - Configurability No single RTOS will fit all needs, no overhead for unused functions tolerated  configurability needed.  simplest form: remove unused functions (by linker ?).  Conditional compilation (using #if and #ifdef commands).  Dynamic data might be replaced by static data.  Advanced compile-time evaluation useful.  Object-orientation could lead to a derivation subclasses. Verification a potential problem of systems with a large number of derived OSs:  Each derived OS must be tested thoroughly;  potential problem for eCos (open source RTOS from Red Hat), including 100 to 200 configuration points [Takada, 01]. Configurability No single RTOS will fit all needs, no overhead for unused functions tolerated  configurability needed.  simplest form: remove unused functions (by linker ?).  Conditional compilation (using #if and #ifdef commands).  Dynamic data might be replaced by static data.  Advanced compile-time evaluation useful.  Object-orientation could lead to a derivation subclasses. Verification a potential problem of systems with a large number of derived OSs:  Each derived OS must be tested thoroughly;  potential problem for eCos (open source RTOS from Red Hat), including 100 to 200 configuration points [Takada, 01].

- 2 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Example: Configuration of VxWorks © Windriver

- 3 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Embedded operating systems -Requirement: Disc and network handled by tasks- Disc & network handled by tasks instead of integrated drivers Many ES without disc, a keyboard, a screen or a mouse. Effectively no device that needs to be supported by all versions of the OS, except maybe the system timer. Relatively slow discs & networks can be handled by tasks. Disc & network handled by tasks instead of integrated drivers Many ES without disc, a keyboard, a screen or a mouse. Effectively no device that needs to be supported by all versions of the OS, except maybe the system timer. Relatively slow discs & networks can be handled by tasks. RTOSStandard OS

- 4 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Example: WindRiver Platform Industrial Automation © Windriver

- 5 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Embedded operating systems - Requirement: Protection is optional- Protection mechanisms not always necessary: ES typically designed for a single purpose, untested programs rarely loaded, SW considered reliable. (However, protection mechanisms may be needed for safety and security reasons). No desire to implement I/O instructions as privileged instructions and tasks can be allowed to do their own I/O. Example: Let switch be the address of some switch Simply use load register,switch instead of OS call. No desire to implement I/O instructions as privileged instructions and tasks can be allowed to do their own I/O. Example: Let switch be the address of some switch Simply use load register,switch instead of OS call.

- 6 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Embedded operating systems - Requirement: Interrupts not restricted to OS - Interrupts can be employed by any process For standard OS: serious source of unreliability. Since  embedded programs can be considered to be tested,  since protection is not necessary and  since efficient control over a variety of devices is required,  it is possible to let interrupts directly start or stop tasks (by storing the tasks start address in the interrupt table).  More efficient than going through OS services.  However, composability suffers: if a specific task is connected to some interrupt, it may be difficult to add another task which also needs to be started by an event. Interrupts can be employed by any process For standard OS: serious source of unreliability. Since  embedded programs can be considered to be tested,  since protection is not necessary and  since efficient control over a variety of devices is required,  it is possible to let interrupts directly start or stop tasks (by storing the tasks start address in the interrupt table).  More efficient than going through OS services.  However, composability suffers: if a specific task is connected to some interrupt, it may be difficult to add another task which also needs to be started by an event.

- 7 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Embedded operating systems - Requirement: Real-time capability- Many embedded systems are real-time (RT) systems and, hence, the OS used in these systems must be real-time operating systems (RTOSes).

- 8 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Real-time operating systems - Real-time OS (1) - Def.: (A) real-time operating system is an operating system that supports the construction of real-time systems The following are the three key requirements 1.The timing behavior of the OS must be predictable.  services of the OS: Upper bound on the execution time! RTOSs must be deterministic:  unlike standard Java,  short times during which interrupts are disabled,  contiguous files to avoid unpredictable head movements. [Takada, 2001] Def.: (A) real-time operating system is an operating system that supports the construction of real-time systems The following are the three key requirements 1.The timing behavior of the OS must be predictable.  services of the OS: Upper bound on the execution time! RTOSs must be deterministic:  unlike standard Java,  short times during which interrupts are disabled,  contiguous files to avoid unpredictable head movements. [Takada, 2001]

- 9 -  P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Real-time operating systems - Real-time OS (2) - 2.OS must manage the timing and scheduling  OS possibly has to be aware of task deadlines; (unless scheduling is done off-line).  OS must provide precise time services with high resolution. [Takada, 2001] 2.OS must manage the timing and scheduling  OS possibly has to be aware of task deadlines; (unless scheduling is done off-line).  OS must provide precise time services with high resolution. [Takada, 2001]

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Time services Time plays a central role in “real-time” systems. Actual time is described by real numbers. Two discrete standards are used in real-time equipment: International atomic time TAI (french: temps atomic internationale) Free of any artificial artifacts. Universal Time Coordinated (UTC) UTC is defined by astronomical standards UTC and TAI were identical on Jan. 1st, In the meantime, 30 seconds had to be added. Not without problems: New Year may start twice per night. Time plays a central role in “real-time” systems. Actual time is described by real numbers. Two discrete standards are used in real-time equipment: International atomic time TAI (french: temps atomic internationale) Free of any artificial artifacts. Universal Time Coordinated (UTC) UTC is defined by astronomical standards UTC and TAI were identical on Jan. 1st, In the meantime, 30 seconds had to be added. Not without problems: New Year may start twice per night.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Internal synchronization Synchronization with one master clock  Typically used in startup-phases Distributed synchronization: 1.Collect information from neighbors 2.Compute correction value 3.Set correction value. Precision of step 1 depends on how information is collected: Application level: ~500 µs to 5 ms Operation system kernel: 10 µs to 100 µs Communication hardware: < 10 µs Synchronization with one master clock  Typically used in startup-phases Distributed synchronization: 1.Collect information from neighbors 2.Compute correction value 3.Set correction value. Precision of step 1 depends on how information is collected: Application level: ~500 µs to 5 ms Operation system kernel: 10 µs to 100 µs Communication hardware: < 10 µs

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Byzantine Error Erroneous local clocks can have an impact on the computed local time. Advanced algorithms are fault-tolerant with respect to Byzantine errors. Excluding k erroneous clocks is possible with 3k+1 clocks (largest and smallest values will be excluded. Many publications in this area. Erroneous local clocks can have an impact on the computed local time. Advanced algorithms are fault-tolerant with respect to Byzantine errors. Excluding k erroneous clocks is possible with 3k+1 clocks (largest and smallest values will be excluded. Many publications in this area. t k=1

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund External synchronization External synchronization guarantees consistency with actual physical time. Recent trend is to use GPS for ext. synchronization GPS offers TAI and UTC time information. Resolution is about 100 ns. External synchronization guarantees consistency with actual physical time. Recent trend is to use GPS for ext. synchronization GPS offers TAI and UTC time information. Resolution is about 100 ns.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Problems with external synchronization Problematic from the perspective of fault tolerance: Erroneous values are copied to all stations. Consequence: Accepting only small changes to local time. Many time formats too restricted; e.g.: NTP protocol includes only years up to 2036 Problematic from the perspective of fault tolerance: Erroneous values are copied to all stations. Consequence: Accepting only small changes to local time. Many time formats too restricted; e.g.: NTP protocol includes only years up to 2036 For time services and global synchronization of clocks synchronization see Kopetz, 1997.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Real-time operating systems - Real-time OS (3) - 3.The OS must be fast Practically important. [Takada, 2001] 3.The OS must be fast Practically important. [Takada, 2001]

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund RTOS-Kernels Distinction between real-time kernels and modified kernels of standard OSes. Distinction between real-time kernels and modified kernels of standard OSes. Distinction between general RTOSes and RTOSes for specific domains, standard APIs (e.g. POSIX RT-Extension of Unix, ITRON, OSEK) or proprietary APIs. Distinction between general RTOSes and RTOSes for specific domains, standard APIs (e.g. POSIX RT-Extension of Unix, ITRON, OSEK) or proprietary APIs.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Functionality of RTOS-Kernels Includes processor management, memory management, and timer management; task management (resume, wait etc), inter-task communication and synchronization. Includes processor management, memory management, and timer management; task management (resume, wait etc), inter-task communication and synchronization. resource management

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Classes of RTOSes according to R. Gupta 1. Fast proprietary kernels Fast proprietary kernels For complex systems, these kernels are inadequate, because they are designed to be fast, rather than to be predictable in every respect [R. Gupta, UCI/UCSD] Examples include QNX, PDOS, VCOS, VTRX32, VxWORKS. Fast proprietary kernels For complex systems, these kernels are inadequate, because they are designed to be fast, rather than to be predictable in every respect [R. Gupta, UCI/UCSD] Examples include QNX, PDOS, VCOS, VTRX32, VxWORKS.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Classes of RTOSes according to R. Gupta 2. Real-time extensions to standard OSs Real-time extensions to standard OSes: Attempt to exploit comfortable main stream OSes. RT-kernel running all RT-tasks. Standard-OS executed as one task. + Crash of standard-OS does not affect RT-tasks; - RT-tasks cannot use Standard-OS services; less comfortable than expected + Crash of standard-OS does not affect RT-tasks; - RT-tasks cannot use Standard-OS services; less comfortable than expected

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Example: RT-Linux RT-tasks cannot use standard OS calls. Commercially available from fsmlabs ( Hardware RT-Task RT-Linux RT-Scheduler Linux-Kernel driver scheduler Init BashMozilla interrupts I/O

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Example: Posix 1.b RT-extensions to Linux Standard scheduler can be replaced by POSIX scheduler implementing priorities for RT tasks Hardware Linux-Kernel driver POSIX 1.b scheduler Init BashMozilla I/O, interrupts RT-Task Special RT-calls and standard OS calls available. Easy programming, no guarantee for meeting deadline Special RT-calls and standard OS calls available. Easy programming, no guarantee for meeting deadline

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Evaluation (Gupta) According to Gupta, trying to use a version of a standard OS: not the correct approach because too many basic and inappropriate underlying assumptions still exist such as optimizing for the average case (rather than the worst case),... ignoring most if not all semantic information, and independent CPU scheduling and resource allocation. Dependences between tasks not frequent for most applications of std. OSs & therefore frequently ignored. Situation different for ES since dependences between tasks are quite common. According to Gupta, trying to use a version of a standard OS: not the correct approach because too many basic and inappropriate underlying assumptions still exist such as optimizing for the average case (rather than the worst case),... ignoring most if not all semantic information, and independent CPU scheduling and resource allocation. Dependences between tasks not frequent for most applications of std. OSs & therefore frequently ignored. Situation different for ES since dependences between tasks are quite common.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Classes of RTOSes according to R. Gupta 3. Research systems trying to avoid limitations Research systems trying to avoid limitations. Include MARS, Spring, MARUTI, Arts, Hartos, DARK, and Melody Research issues [Takada, 2001]:  low overhead memory protection,  temporal protection of computing resources  RTOSes for on-chip multiprocessors  support for continuous media  quality of service (QoS) control. Competition between  traditional vendors (e.g. Wind River Systems) and  Embedded Windows XP and Windows CE Research systems trying to avoid limitations. Include MARS, Spring, MARUTI, Arts, Hartos, DARK, and Melody Research issues [Takada, 2001]:  low overhead memory protection,  temporal protection of computing resources  RTOSes for on-chip multiprocessors  support for continuous media  quality of service (QoS) control. Competition between  traditional vendors (e.g. Wind River Systems) and  Embedded Windows XP and Windows CE Market

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Middleware 1.Real-time data bases 2.Access to remote objects 1.Real-time data bases 2.Access to remote objects

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Real-time data bases (1) Goal: store and retrieve persistent information Transaction= sequence of read and write operations Changes not final until they are committed Requested (“ACID”) properties of transactions 1.Atomic: state information as if transaction is either completed or had no effect at all. 2.Consistent: Set of values retrieved from several accesses to the data base must be possible in the world modeled. 3.Isolation: No user should see intermediate states of transactions 4.Durability: results of transactions should be persistent. Goal: store and retrieve persistent information Transaction= sequence of read and write operations Changes not final until they are committed Requested (“ACID”) properties of transactions 1.Atomic: state information as if transaction is either completed or had no effect at all. 2.Consistent: Set of values retrieved from several accesses to the data base must be possible in the world modeled. 3.Isolation: No user should see intermediate states of transactions 4.Durability: results of transactions should be persistent.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Real-time data bases (2) Problems with implementing real-time data bases: 1.transactions may be aborted various times before they are finally committed. 2.For hard discs, the access times to discs are hardly predictable. Problems with implementing real-time data bases: 1.transactions may be aborted various times before they are finally committed. 2.For hard discs, the access times to discs are hardly predictable. Possible solutions: 1.Main memory data bases 2.Relax ACID requirements Possible solutions: 1.Main memory data bases 2.Relax ACID requirements

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Access to remote objects Software packages for access to remote objects; Example: CORBA (Common Object Request Broker Architecture). Information sent to Object Request Broker (ORB) via local stub. ORB determines location to be accessed and sends information via the IIOP I/O protocol. Software packages for access to remote objects; Example: CORBA (Common Object Request Broker Architecture). Information sent to Object Request Broker (ORB) via local stub. ORB determines location to be accessed and sends information via the IIOP I/O protocol. Access times not predictable.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Real-time (RT-) CORBA A very essential feature of RT-CORBA is to provide  end-to-end predictability of timeliness in a fixed priority system.  This involves respecting thread priorities between client and server for resolving resource contention,  and bounding the latencies of operation invocations.  Thread priorities might not be respected when threads obtain mutually exclusive access to resources (priority inversion).  RT-CORBA includes provisions for bounding the time during which such priority inversion can happen. A very essential feature of RT-CORBA is to provide  end-to-end predictability of timeliness in a fixed priority system.  This involves respecting thread priorities between client and server for resolving resource contention,  and bounding the latencies of operation invocations.  Thread priorities might not be respected when threads obtain mutually exclusive access to resources (priority inversion).  RT-CORBA includes provisions for bounding the time during which such priority inversion can happen.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Real-time COBRA - Thread priority management -  RT-CORBA includes facilities for thread priority management.  Priority independent of the priorities of the underlying OS, even though it is compatible with the RT-extensions of the POSIX standard for OSs [Harbour, 1993].  The thread priority of clients can be propagated to the server side.  Priority management for primitives for mutually exclusive access to resources. Priority inheritance protocol must be available in implementations of RT-CORBA.  Pools of preexisting threads avoid the overhead of thread creation and thread-construction.  RT-CORBA includes facilities for thread priority management.  Priority independent of the priorities of the underlying OS, even though it is compatible with the RT-extensions of the POSIX standard for OSs [Harbour, 1993].  The thread priority of clients can be propagated to the server side.  Priority management for primitives for mutually exclusive access to resources. Priority inheritance protocol must be available in implementations of RT-CORBA.  Pools of preexisting threads avoid the overhead of thread creation and thread-construction.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Message passing interface (MPI)  Message passing interface (MPI): alternative to CORBA  MPI/RT: a real-time version of MPI [MPI/RT forum, 2001].  MPI-RT does not cover issues such as thread creation and termination.  MPI/RT is conceived as a potential layer between the operating system and standard (non real-time) MPI.  Message passing interface (MPI): alternative to CORBA  MPI/RT: a real-time version of MPI [MPI/RT forum, 2001].  MPI-RT does not cover issues such as thread creation and termination.  MPI/RT is conceived as a potential layer between the operating system and standard (non real-time) MPI.

 P. Marwedel, Univ. Dortmund, Informatik 12, 05/06 Universität Dortmund Summary  General requirements for embedded operating systems Configurability, I/O, interrupts  General properties of real-time operating systems Predictability Time services, synchronization Classes of RTOSs, device driver embedding  Middleware (briefly) RT-data bases Access to remote objects (RT-CORBA, RT-MPI)  General requirements for embedded operating systems Configurability, I/O, interrupts  General properties of real-time operating systems Predictability Time services, synchronization Classes of RTOSs, device driver embedding  Middleware (briefly) RT-data bases Access to remote objects (RT-CORBA, RT-MPI)