Real-Time Operating Systems Ein Überblick



Ähnliche Dokumente
Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin

Echtzeitscheduling (1)

1 topologisches Sortieren

OSEK Deadline-Analyse

Analyse zum Thema: Laufzeit von Support-Leistungen für ausgewählte Server OS

Research Note zum Thema: Laufzeit von Support-Leistungen für Server OS

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003

Zeichen bei Zahlen entschlüsseln

Fragen zur GridVis MSSQL-Server

Tipps und Tricks zu Netop Vision und Vision Pro

«Eine Person ist funktional gesund, wenn sie möglichst kompetent mit einem möglichst gesunden Körper an möglichst normalisierten Lebensbereichen

Handbuch ECDL 2003 Modul 2: Computermanagement und Dateiverwaltung Der Task-Manager

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

Systeme 1. Kapitel 10. Virtualisierung

Agile Vorgehensmodelle in der Softwareentwicklung: Scrum

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

FRAGE 39. Gründe, aus denen die Rechte von Patentinhabern beschränkt werden können

Ist Excel das richtige Tool für FMEA? Steve Murphy, Marc Schaeffers

Windows Server 2008 (R2): Anwendungsplattform

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

AVS TD 6.2 Einstellungen Design/Schrift (1.7.9_82, )

Es kann maximal ein Prozess die Umladestelle benutzen.

Novell Client. Anleitung. zur Verfügung gestellt durch: ZID Dezentrale Systeme. Februar ZID Dezentrale Systeme

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Übungsbuch für den Grundkurs mit Tipps und Lösungen: Analysis

BERECHNUNG DER FRIST ZUR STELLUNGNAHME DES BETRIEBSRATES BEI KÜNDIGUNG

Eine Bürokratiekostenfolgenabschätzung zum zweiten Gesetz für moderne Dienstleistungen am Arbeitsmarkt im Hinblick auf die Einführung einer Gleitzone

Bitte verwenden Sie nur dokumentenechtes Schreibmaterial!

Thorsten Sett-Weigel Berlin, den 28. März 2012 Finowstraße Berlin

Outlook. sysplus.ch outlook - mail-grundlagen Seite 1/8. Mail-Grundlagen. Posteingang

Kurzanleitung So geht s

Versetzungsregeln in Bayern

Primzahlen und RSA-Verschlüsselung

Grundbegriffe der Informatik

Quick XMP Ü bertaktungseinstellungen

Petri-Netze / Eine Einführung (Teil 2)

Lizenzierung von System Center 2012

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Vermeiden Sie es sich bei einer deutlich erfahreneren Person "dranzuhängen", Sie sind persönlich verantwortlich für Ihren Lernerfolg.

Anti-Botnet-Beratungszentrum. Windows XP in fünf Schritten absichern

Sabotage in Scrum. dem Prozess erfolglos ins Knie schiessen. Andreas Leidig (andrena objects ag) Vortrag bei den XP Days 2007

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Auftrag zum Fondswechsel

MSSQL Server Fragen GridVis

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

Der beste Plan für Office 365 Archivierung.

Rillsoft Project - Installation der Software

2 Die Terminaldienste Prüfungsanforderungen von Microsoft: Lernziele:

Datenstrukturen & Algorithmen

Simulation (vormals Feldversuch) Cico im Gelenkbus

Korrigenda Handbuch der Bewertung

Zahlen und das Hüten von Geheimnissen (G. Wiese, 23. April 2009)

Letzte Krankenkassen streichen Zusatzbeiträge

Wichtiges Thema: Ihre private Rente und der viel zu wenig beachtete - Rentenfaktor

Installationsanleitung. Hardlock Internal PCI Hardlock Server Internal PCI

geben. Die Wahrscheinlichkeit von 100% ist hier demnach nur der Gehen wir einmal davon aus, dass die von uns angenommenen

Übungen zum Fach Betriebssysteme Kapitel 3

Installationsanleitung

Formular»Fragenkatalog BIM-Server«

Fachbereich Wirtschaftswissenschaften Die Vorsitzenden der Prüfungsausschüsse

Übungsklausur vom 7. Dez. 2007

Quadratische Gleichungen

Nr. 12-1/Dezember 2005-Januar A 12041

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

OSEK / OSEKtime - ein Vergleich

Mathematik. UND/ODER Verknüpfung. Ungleichungen. Betrag. Intervall. Umgebung

1 Einleitung. 1.1 Caching von Webanwendungen Clientseites Caching

Benutzerhandbuch - Elterliche Kontrolle

Internet online Update (Internet Explorer)

Ein Blick voraus. des Autors von C++: Bjarne Stroustrup Conrad Kobsch

HANDBUCH ZUR AKTIVIERUNG UND NUTZUNG DER HANDY-SIGNATUR APP

Internet Explorer Version 6

SPECTRA ist ein Full Service Institut, das das gesamte Spektrum der klassischen Markt- und Meinungsforschung anbietet.

Synchronisations- Assistent

Das große ElterngeldPlus 1x1. Alles über das ElterngeldPlus. Wer kann ElterngeldPlus beantragen? ElterngeldPlus verstehen ein paar einleitende Fakten

Häufig wiederkehrende Fragen zur mündlichen Ergänzungsprüfung im Einzelnen:

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Durch die virtuelle Optimierung von Werkzeugen am Computer lässt sich die reale Produktivität von Servopressen erhöhen

AdmiCash-Wiederherstellung auf einem neuen PC oder Betriebssystem

peer-to-peer Dateisystem Synchronisation

Dokumentation IBIS Monitor

TIMI: Technische Informatik für Medieninformatiker

Allgemeine Vertragsbedingungen für die Übertragungen von Speicherkapazitäten ( Vertragsbedingungen Kapazitätsübertragung )

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper

Projektmanagement. Vorlesung von Thomas Patzelt 9. Vorlesung

Software-Engineering Grundlagen des Software-Engineering

Powermanager Server- Client- Installation

Inventur. Bemerkung. / Inventur

Gesundheitsförderliche Mitarbeitergespräche (smag) Quelle: GeFüGe-Projekt, bearbeitet durch Karsten Lessing, TBS NRW

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Erwerbsminderungsrente

Doing Economics with the Computer Sommersemester Excel Solver 1

Fragen und Antworten

Kosten-Leistungsrechnung Rechenweg Optimales Produktionsprogramm

ANYWHERE Zugriff von externen Arbeitsplätzen

Gewinnvergleichsrechnung

Herzlich Willkommen bei der nfon GmbH

Transkript:

Real-Time Operating Systems Ein Überblick Stefan Tittel Universität Dortmund Proseminar: Werkzeuge und Techniken zur Spezifikation, Simulation und Implementierung von eingebetteten Systemen, 2004 1 Einführung 1.1 Operating Systems 1.1.1 Definition: Operating System Das Operating System ist das Programm, welches beim Start eines Rechners geladen wird. Es dient als eine Schnittstelle zwischen den Rechnerkomponenten wie Hardware und BIOS und den Anwendungen, die auf dem Rechner laufen. Es bietet außerdem grundlegende Funktionen für die Verwaltung und Pflege des Operating System und Dateisystems. 1.1.2 Aufgaben eines Operating System Verwaltet: Rechenleistung (Scheduling) Speicher Dateisystem Geräte Stellt bereit: Hardwareabstraktion gegenüber Applikationen Benutzerschnittstelle gegenüber Anwendern Berücksichtigt dabei: Effizienz Sicherheit 1

1 EINFÜHRUNG 2 1.1.3 Eigenschaften eines Operating System Ein Operating System ist im Allgemeinen sehr komplex. Ein Operating System versucht im Allgemeinen unterschiedliche, teils gegensätzliche Anforderungen gut zu erfüllen (z. B. Effizienz trotz Sicherheit). Das Verhalten des Operating System ist dadurch nicht mit vertretbarem Aufwand determinierbar. 1.2 Notwendigkeit eines Real-Time Operating System 1.2.1 Motivation Oftmals muss ein System auf ein Ereignis in gewissen Grenzen temporal determinierbar reagieren. Ein herkömmliches Operating System leistet dies in der Regel nicht oder in nicht ausreichendem Maße. 1.2.2 Definition: Real-Time System Ein Real-Time System ist ein System, dessen Korrektheit nicht nur korrekte Berechnungen verlangt, sondern darüber hinaus zeitliche Vorgaben über das Eintreffen des Ergebnisses macht. Ein Real-Time System reagiert auf zeitlich vorhersehbare Weise auf das Eintreten externer Stimuli. 1.2.3 Definition: Real-Time Operating System Ein Real-Time Operating System ist ein Operating System mit den notwendigen Eigenschaften zum Betrieb eines Real-Time System. 1.3 Klassifizierung von Real-Time Systems 1.3.1 Definition: Soft Real-Time System Stellt in einem System das gelegentliche Verpassen von Deadlines eine akzeptable Qualitätsminderung dar, so handelt es sich um ein Soft Real-Time System. 1.3.2 Definition: Firm Real-Time System Stellt in einem System das Verpassen von Deadlines eine nicht akzeptable Qualitätsminderung dar, so handelt es sich um ein Firm Real-Time System.

2 SCHEDULING 3 1.3.3 Definition: Hard Real-Time System Wenn das Verpassen einer Deadline katastrophale Folgen nach sich zieht, handelt es sich um ein Hard Real-Time System. 2 Scheduling 2.1 Grundlegende Definitionen 2.1.1 Definition: Worst-Case Execution Time Die Worst-Case Execution Time (WCET) ist die obere Grenze der Ausführungszeit eines Task. 2.1.2 Definition: Periodizität von Tasks Ein Task, der alle p Zeiteinheiten ausgeführt wird, heißt periodisch; p ist dabei seine Periode. Tasks, die nicht periodisch sind, heißen nicht-periodisch. Nicht-periodische Tasks, die zu nicht vorhersehbaren Zeitpunkten eintreffen, heißen sporadisch 2.1.3 Definition: Dynamisches und statisches Scheduling Werden die Scheduling-Entscheidungen während der Laufzeit getroffen, so handelt es sich um dynamisches Scheduling. Werden die Scheduling-Entscheidungen bereits zur Zeit der Entwicklung festgelegt, handelt es sich um statisches Scheduling. Systeme mit Zeitgeber, die Tasks ausschließlich nach Start- und Stoppzeiten schedulen, heißen entirely time triggered (TT). 2.1.4 Definition: Kooperatives und präemptives Scheduling Nimmt der Scheduler einen Kontextwechsel nur dann vor, wenn der laufende Task dies explizit anbietet oder beendet ist, handelt es sich um kooperatives Scheduling. Nimmt der Scheduler einen Kontextwechsel vor, ohne dass die Bedingungen für kooperatives Scheduling erfüllt sind, handelt es sich um präemptives Scheduling.

2 SCHEDULING 4 2.1.5 Weitere Merkmale Ein- oder Mehrprozessor-Scheduling Online- oder Offline-Scheduling Scheduling mit abhängigen oder unabhängigen Tasks 2.1.6 Weitere Definitionen Die Differenz zwischen der Ausführungszeit eines Tasks und dem Deadline- Intervall heißt Laxity. Die Differenz zwischen der Fertigstellungszeit und der Deadline maximiert über alle Tasks heißt Maximum Lateness. Wenn kein Task seine Deadline überschreitet, ist die Maximum Lateness negativ. Ein Menge von Tasks heißt schedulable, wenn ein Schedule der Form existiert, dass jeder Task seine Deadline erfüllt. 2.2 Algorithmen 2.2.1 Earliest Due Date (EDD) Voraussetzungen nicht-periodische, voneinander unabhängige, gleichzeitig eintreffende Tasks; Einprozessorsystem Merkmale kooperativ; kann statisch implementiert werden, wenn Ausführungszeiten aller Tasks bekannt 1. Sortiere alle Tasks nach Deadline aufsteigend. 2. Führe die Tasks gemäß dieser Sortierreihenfolge aus. 2.2.2 Earliest Deadline First (EDF) nicht-periodische, voneinander unabhängige Tasks; Ein- Voraussetzungen prozessorsystem Merkmale präemptiv; dynamisch

2 SCHEDULING 5 1. Führe immer den Task mit der am nächsten liegenden Deadline aus (ähnlich EDD). 2. Bei Neuankunft eines Tasks mit früherer Deadline, wechsele zu diesem. 2.2.3 Least Laxity (LL) Voraussetzungen nicht-periodische, voneinander unabhängige Tasks, bei denen die Länge ihrer Ausführungszeit im Voraus bekannt ist; Einprozessorsystem Merkmale präemptiv; dynamisch Führe immer den Task mit der geringsten Laxity aus. 2.2.4 Latest Deadline First (LDF) Voraussetzungen nicht-periodische, voneinander abhängige, gleichzeitig eintreffende Tasks, von denen die Länge ihrer Ausführungszeit im Voraus bekannt ist; Abhängigkeiten liegen als Halb- oder vollständige Ordnung vor; Einprozessorsystem Merkmale kooperativ; dynamisch 1. Liegen die Abhängigkeiten als Halbordnung vor, erzeuge mittels topologischer Sortierung eine vollständige Ordnung. 2. Führe die Tasks in der Reihenfolge der vollständigen Ordnung aus. 2.2.5 Rate Monotonic Scheduling (RM) Voraussetzungen Periodische, voneinander unabhängige Tasks Deadline und Periodendauer bei jedem einzelnen Task gleich lang Länge alle Ausführungszeiten im Voraus bekannt Es gilt n c i i=1 p i n(2 1 n 1), wobei i {Tasks}, c i Ausführungszeit, d i Dead- line-intervall, p i Periodendauer und n Anzahl der Tasks.

3 EMBEDDED LINUX 6 Vergib Prioritäten nach Periodenlänge: Je kürzer p i desto höher die Priorität. 3 Embedded Linux 3.1 Bestandsaufnahme 3.1.1 Linux als Betriebssystem für Soft Real-Time Systems Linux unterstützt die Vergabe von statischen Prioritäten. Kernelpatches mit alternativen Schedulern sind verfügbar. Dank offener Quellen ist die Entwicklung eines Schedulers mit dynamischen Prioritäten denkbar. 3.1.2 Linux als Betriebssystem für Hard Real-Time Systems Mangelnde Scheduling-Fähigkeiten Ungeeignetes Interrupt-Handling Optimierung auf Effizienz, nicht auf Einhaltung von Deadlines 3.2 Vom Non-Real-Time zum Real-Time Operating System 3.2.1 Implementierung von Hard Real-Time Hardware- und Interruptverwaltung durch Real-Time Kernel Linux-Kernel läuft als Idle-Task, wenn Real-Time Kernel unbeschäftigt. System erhält zum eigentlichen Kernel- und User-Space einen Realtime- Space. Interrupt-Anforderungen des Linux-Kernel werden vom Real-Time Kernel abgefangen.

LITERATUR 7 3.2.2 Real-Time Space Real-Time Tasks im Real-Time Space sind völlig autonom vom Rest des Systems, d. h. kein Schutz durch Linux-Kernel kein Einsatz konventioneller Debugger keine Interprozess-Kommunikation ohne weitere Maßnahmen, wie z. B. FIFOs Shared Memory Mailboxes Messages Literatur [1] Peter Marwedel. Embedded System Design. Kluwer Academic Publishers, a. a. O., 2003 [2] Raquel S. Whittlesey-Harris [online]. Real-Time Operating Systems. Internet: <http://tinyurl.com/3dgb6>, 2001 [angeführt 2004-04-10] [3] Robert Schwebel. Embedded Linux Handbuch für Entwickler. mitp-verlag, Bonn, 2001 [4] Rüdiger Brause. Betriebssysteme Grundlagen und Konzepte, 2. Aufl., Springer-Verlag, Berlin/Heidelberg, 2001 [5] Mathai Joseph, Alan Burns, Andy Wellings, Krithi Ramamritham, Jozef Hooman, Steve Schneider, Zhiming Lui, Henk Schepers [online]. Real-time Systems Specification, Verification and Analysis. Internet: <http://www. tcs.com/techbytes/htdocs/rtsbook.zip>, 2001 [angeführt 2004-04-10].