Embedded & Real-time Operating Systems



Similar documents
Embedded Systems. 6. Real-Time Operating Systems

Embedded & Real-time Operating Systems Communication Libraries

Real Time Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Real Time Operating Systems. Tajana Simunic Rosing Department of Computer Science and Engineering University of California, San Diego.

Virtualization for Hard Real-Time Applications Partition where you can Virtualize where you have to

Real-Time Component Software. slide credits: H. Kopetz, P. Puschner

Middleware. Peter Marwedel TU Dortmund, Informatik 12 Germany. technische universität dortmund. fakultät für informatik informatik 12

Real-time Operating Systems. VO Embedded Systems Engineering Armin Wasicek

Performance Comparison of RTOS

Special FEATURE. By Heinrich Munz

What is best for embedded development? Do most embedded projects still need an RTOS?

Comparison between scheduling algorithms in RTLinux and VxWorks

Operating Systems 4 th Class

Overview and History of Operating Systems

Notes and terms of conditions. Vendor shall note the following terms and conditions/ information before they submit their quote.

Operating Systems. Lecture 03. February 11, 2013

Aperiodic Task Scheduling

Building Embedded Systems

Lecture 3 Theoretical Foundations of RTOS

A single user ran a single program ran on a single computer there was no need for Page 1 of 6 Copyright Virtual University of Pakistan

CS 377: Operating Systems. Outline. A review of what you ve learned, and how it applies to a real operating system. Lecture 25 - Linux Case Study

Real-Time Operating Systems for MPSoCs

Real-Time Operating Systems With Example PICOS18. What is an Operating System?

Module 8. Industrial Embedded and Communication Systems. Version 2 EE IIT, Kharagpur 1

Predictable response times in event-driven real-time systems

Real-Time Scheduling 1 / 39

Outline: Operating Systems

Virtualization: Hypervisors for Embedded and Safe Systems. Hanspeter Vogel Triadem Solutions AG

Linux A multi-purpose executive support for civil avionics applications?

White Paper. Real-time Capabilities for Linux SGI REACT Real-Time for Linux

Real-Time Systems Prof. Dr. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

Operating System Structure

Real-Time Operating Systems.

What is an RTOS? Introduction to Real-Time Operating Systems. So what is an RTOS?(contd)

Chapter 2 System Structures

Linux for Embedded and Real-Time Systems

How to Perform Real-Time Processing on the Raspberry Pi. Steven Doran SCALE 13X

Chapter 3 Operating-System Structures

Real Time Programming: Concepts

Control period can have high frequency (short control frame) ex: 0.1kHz - 1kHz in robot controllers

Review from last time. CS 537 Lecture 3 OS Structure. OS structure. What you should learn from this lecture

Introduction to Operating Systems. Perspective of the Computer. System Software. Indiana University Chen Yu

Operating System Overview. Otto J. Anshus

Page 1 of 5. IS 335: Information Technology in Business Lecture Outline Operating Systems

A Data Centric Approach for Modular Assurance. Workshop on Real-time, Embedded and Enterprise-Scale Time-Critical Systems 23 March 2011

Linux 2.4. Linux. Windows

Principles and characteristics of distributed systems and environments

Deeply Embedded Real-Time Hypervisors for the Automotive Domain Dr. Gary Morgan, ETAS/ESC

RTAI. Antonio Barbalace (modified by M.Moro 2011) RTAI

Beyond Virtualization: A Novel Software Architecture for Multi-Core SoCs. Jim Ready September 18, 2012

Enhancing the Monitoring of Real-Time Performance in Linux

PikeOS: Multi-Core RTOS for IMA. Dr. Sergey Tverdyshev SYSGO AG , Moscow

Multiprocessor Scheduling and Scheduling in Linux Kernel 2.6

evm Virtualization Platform for Windows

Operatin g Systems: Internals and Design Principle s. Chapter 10 Multiprocessor and Real-Time Scheduling Seventh Edition By William Stallings

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Open Source Software

Virtualization for Cloud Computing

CS 3530 Operating Systems. L02 OS Intro Part 1 Dr. Ken Hoganson

OPERATING SYSTEM SERVICES

A Comparison of Distributed Systems: ChorusOS and Amoeba

NETWORK OPERATING SYSTEMS. By: Waqas Ahmed (C.E.O at Treesol)

CSE 120 Principles of Operating Systems. Modules, Interfaces, Structure

A hypervisor approach with real-time support to the MIPS M5150 processor

CHAPTER 15: Operating Systems: An Overview

Cloud Operating Systems for Servers

I/O virtualization. Jussi Hanhirova Aalto University, Helsinki, Finland Hanhirova CS/Aalto

State-Machine Replication

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Cloud Computing. Up until now

Embedded OS. Product Information

SYSTEM ecos Embedded Configurable Operating System

Linux Driver Devices. Why, When, Which, How?

Real- Time Scheduling

Xenomai: integration and qualification of a real time operating system ARMadeus Systems

OS OBJECTIVE QUESTIONS

Operating Systems. III. Scheduling.

Chapter 2 Array Configuration [SATA Setup Utility] This chapter explains array configurations using this array controller.

Improvement of Scheduling Granularity for Deadline Scheduler

Fastboot Techniques for x86 Architectures. Marcus Bortel Field Application Engineer QNX Software Systems

Red Hat Linux Internals

Chapter 6, The Operating System Machine Level

3 - Introduction to Operating Systems

Mixed-Criticality: Integration of Different Models of Computation. University of Siegen, Roman Obermaisser

Programming real-time systems with C/C++ and POSIX

Deciding which process to run. (Deciding which thread to run) Deciding how long the chosen process can run

Chapter 1: Introduction. What is an Operating System?

MultiPARTES. Virtualization on Heterogeneous Multicore Platforms. 2012/7/18 Slides by TU Wien, UPV, fentiss, UPM

Kernel comparison of OpenSolaris, Windows Vista and. Linux 2.6

QoS and Communication Performance Management

print close Building Blocks

Operating Systems Introduction

Java Environment for Parallel Realtime Development Platform Independent Software Development for Multicore Systems

Achieving Real-Time Performance on a Virtualized Industrial Control Platform

Digitale Signalverarbeitung mit FPGA (DSF) Soft Core Prozessor NIOS II Stand Mai Jens Onno Krah

How To Stop A Malicious Process From Running On A Hypervisor

Enhancing Hypervisor and Cloud Solutions Using Embedded Linux Iisko Lappalainen MontaVista

Hoofdstuk 17. Operating systems uit de praktijk

Chapter 13 Embedded Operating Systems

Transcription:

Universität Dortmund 12 Embedded & Real-time Operating Systems Peter Marwedel, Informatik 12 Germany

Application Knowledge Structure of this course New clustering 3: Embedded System HW 2: Specifications 5: Scheduling, HW/SW-Partitioning, Applications to MPMapping 4: Standard Software, RealTime Operating Systems 6: Evaluation 8: Testing 7: Optimization of Embedded Systems Book chapter 4.3-2-

Reuse of standard software components Knowledge from previous designs to be made available in the form of intellectual property (IP, for SW & HW). Operating systems. - 3-

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]. - 4-

Windriver http://www.windriver.com/products/development_tools/ide/tornado2/tornado_2_ds.pdf Example: Configuration of VxWorks - 5-

Embedded operating systems -Requirement: Disc and network handled by tasks Disc & network handled by tasks instead of integrated drivers. Relatively slow discs & networks can be handled by tasks. 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. Embedded OS Standard OS kernel - 6-

Example: WindRiver Platform Industrial Automation Windriver - 7-

Embedded operating systems - Requirement: Protection is optionalprotection 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). Privileged I/O instructions not necessary and tasks can do their own I/O. Example: Let switch be the address of some switch Simply use load register,switch instead of OS call. - 8-

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. Reduced composability: if a task is connected to an interrupt, it may be difficult to add another task which also needs to be started by an event. - 9-

Embedded operating systems - Requirement: Real-time capabilitymany embedded systems are real-time (RT) systems and, hence, the OS used in these systems must be real-time operating systems (RTOSes). - 10 -

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 3. 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] - 11 -

Real-time operating systems - Real-time OS (2) 1. 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] - 12 -

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 identical on Jan. 1st, 1958. 30 seconds had to be added since then. Not without problems: New Year may start twice per night. - 13 -

Internal synchronization Synchronization with one master clock Typically used in startup-phases Distributed synchronization: 3. Collect information from neighbors 4. Compute correction value 5. 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 - 14 -

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. k=1 t - 15 -

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. GPS mouse Dell - 16 -

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 For time services and global synchronization of clocks synchronization see Kopetz, 1997. - 17 -

Real-time operating systems - Real-time OS (3) 1. The OS must be fast Practically important. [Takada, 2001] - 18 -

RTOS-Kernels 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. - 19 -

Functionality of RTOS-Kernels Includes processor management, memory management, and timer management; resource management task management (resume, wait etc), inter-task communication and synchronization. - 20 -

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. - 21 -

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 - 22 -

Example: RT-Linux Init Bash RT-tasks cannot use standard OS calls. Commercially available from fsmlabs (www.fsmlabs.com) Mozilla scheduler Linux-Kernel RT-Task driver RT-Task interrupts I/O RT-Scheduler RT-Linux interrupts interrupts Hardware - 23 -

Example: Posix 1.b RT-extensions to Linux Standard scheduler can be replaced by POSIX scheduler implementing priorities for RT tasks RT-Task RT-Task Init Bash POSIX 1.b scheduler Linux-Kernel driver I/O, interrupts Mozilla Special RT-calls and standard OS calls available. Easy programming, no guarantee for meeting deadline Hardware - 24 -

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. - 25 -

Market 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 - 26 -

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 - 27 -