Real Time Operating System

Slides:



Advertisements
Ähnliche Präsentationen
Service Oriented Architectures for Remote Instrumentation
Advertisements

E-Solutions mySchoeller.com for Felix Schoeller Imaging
Operating Systems Principles
Finite state machines & message passing: SDL
IndraMotion MLC RoCo Electric Drives and Controls
1. 2 Microsoft.NET Überblick Dirk Primbs Technologieberater Developer Platform & Strategy Group Microsoft Deutschland GmbH.
Dr. M. Schlottke Common Description of Web Services Source: P. Gerbert, 2002 Web Services allow to establish B2B e-commerce on the fly Web Services allow.
Institut für Angewandte Mikroelektronik und Datentechnik Fachbereich Elektrotechnik und Informationstechnik, Universität Rostock Vorlesung Echtzeitbetriebssysteme.
Embedded & Real-time Operating Systems
Fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/17 Graphics:
fakultät für informatik informatik 12 technische universität dortmund Optimizations Peter Marwedel TU Dortmund Informatik 12 Germany 2009/01/10 Graphics:
Fakultät für informatik informatik 12 technische universität dortmund Mapping of Applications to Platforms Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Universität Dortmund Middleware Peter Marwedel TU Dortmund, Informatik 12 Germany.
Fakultät für informatik informatik 12 technische universität dortmund Specifications Peter Marwedel TU Dortmund, Informatik 12 Graphics: © Alexandra Nolte,
Peter Marwedel TU Dortmund, Informatik 12
Nsp Semaphore sind einfache Synchronisationsobjekte, ähnlich wie Ereignisse, aber unabhängig von Monitoren: (das) Semaphor: altes Flügelsignal.
3 Prozessverwaltung  sieht einen Prozess als Objekt der Verwaltung,
Objektorientierter Entwurf
Prof. Dr.-Ing. habil. B. Steinbach - Informatik / Softwaretechnologie und Programmierungstechnik - Institut für Informatik Verteilte Software - Java -
Enno Rehling und Roger Butenuth, Uni-GH Paderborn: Arminius: Software für Linux-basierte SCI-Cluster Arminius: Software für Linux-basierte SCI-Cluster.
Kapitel 7.2 Dining philosophers problem
OpenMP Präsentation im Rahmen des Seminars
Vorl. 6: Single- und Multitasking Universität Bielefeld – Technische Fakultät AG Rechnernetze und verteilte Systeme Peter B. Ladkin
Operating Systems Principles
Der C-Präprozessor EDV1 - 04Präprozessor.
Fachabteilung 16A Überörtliche Raumplanung Cross border co-operation from the view of a public administration unit.
Deutsche Gesellschaft für Technische Zusammenarbeit GmbH Integrated Experts as interface between technical cooperation and the private sector – An Example.
Entwicklung verteilter eingebetteter Systeme - Einführung
Multitasking im Betriebssystem
RTAI-Linux Echtzeiterweiterung für Linux
Entwicklung verteilter Anwendungen I, WS 13/14 Prof. Dr. Herrad Schmidt WS 13/14 Kapitel 4 Folie 2 Message Passing mittels Sockets (1) s.a.
Ein Rechensystem ist ein aus Hard- und Software bestehendes System zur Speicherung und Verarbeitung von Informationen.
Verbesserung der Reaktivität des Linux-Kernels Steffen Mazanek.
FINSB01FINSB02FINSB03FINSB04 Phase 2: Phase Burkhalter (Inauguration or Phase 2a): FINSB01FINSB02FINSB03 FINSB01FINSB02FINSB03FINSB04 Phase 3 (some time.
Sanjay Patil Standards Architect – SAP AG April 2008
Das deutsche Schulsystem
Bsafe Software Solutions zeigt heute Dataflow … Bsafe/Global Security for iSeries Version 3.5.
BAS5SE | Fachhochschule Hagenberg | Daniel Khan | S SPR5 MVC Plugin Development SPR6P.
| Basel Von der SharePoint Taskliste zum gemanagten Project in Project Server Luca Argentiero Solution Specialist Microsoft
TechNet Schweiz – Herzlich Willkommen System Center 2012 LIVE - Modernes Systems Management als Kernstück der Microsoft Private Cloud 28. März 2012 Walter.
Einführung in die Programmierung
Parallel Programming Thread Synchronization. Heute 1. Lösung zu Assignment 2 2. Erstellen und Starten von Threads in Java 3. Das synchronized Schlüsselwort.
Parallel Programming Proofs ( yay !)
Parallel Programming ( J ) CSP
XML IV: Cocoon 2.
Signal-Prozessoren DSV1, 2009, Hhrt, 1 Mikro-Prozessor Von Neumann-Architektur Daten und Programmcode im gleichen Speicher => Sequenzieller Zugriff auf.
Computerorientierte Physik VORLESUNG
Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Aus-drücke, arithmetische Operatoren.
Ein Projekt des Technischen Jugendfreizeit- und Bildungsvereins (tjfbv) e.V. kommunizieren.de Blended Learning for people with disabilities.
Travelling Salesman Problem (TSP)
C-Einstieg. Agenda 1Vorbereitung 2Aufbau eines Programms 2.1Header 2.2 Methoden 2.3Main 3Datentypen & Variablen 4Operatoren(+, -, *, /) 5Logik 5.1IF 5.2Switch.
Betriebssysteme Übung Tutorium „System Calls & Multipgrogramming“
Objectives Verstehen was unterDelegate verstanden wird
Μ Version 1.0Seite 1µVision Start Debugger Set Breakpoint µVision Debugger.
Systemsoftware und Betriebssysteme
Ciiema CITEM - Dr. Siegl VU Dr. Manfred Siegl ENTWURF, ERRICHTUNG, BETRIEB VON DATENNETZEN VU Dr. Manfred Siegl
1 Intern | ST-IN/PRM-EU | | © Robert Bosch GmbH Alle Rechte vorbehalten, auch bzgl. jeder Verfügung, Verwertung, Reproduktion, Bearbeitung,
1 1 Panda Managed Office Protection Switch from Antivirus to Security as a Service Sales training presentation.
Ressourcen in Process-Aware Information Systems Paul Hübner | | DBIS Seminar Betreuer : Andreas Lanz.
Ressourcen in Process-Aware Information Systems Paul Hübner | | DBIS Seminar Betreuer : Andreas Lanz Quelle : Seven Fallacies.
Launch ON Global.vi System ID object name classname Services to suscribe Observer Control Ref vi-path Service name Step 1 : Objects register to the Global.vi´s,
Java Thread Scheduling Jin Zhou Proseminar Java Thread Scheduling November 2000.
Java-Kurs - 4. Übung Hausaufgabe Weitere Kontrollstrukturen
1 Vorlesung 6 Peter B. Ladkin Single- und Multitasking Peter B. Ladkin
Ablauf von Daten- verarbeitungsprozessen Gliederung: ● Zeitliche Steuerung von Abläufen – Druckauftragsverarbeitung – scheinbare Gleichzeitigkeit von Prozessen.
Praktische Informatik 1
1.Event Queue.
Echtzeit-Betriebssysteme
CSL211 Computer Architecture
 Präsentation transkript:

Real Time Operating System Tasks voneinander weitgehend unabhängige Aufgaben die möglichst gleichzeitig auszuführen sind. Operating System übernimmt die Verwaltung und Koordination der Tasks. Task 1 Task 2 Task 3 Real Time möglichst rechtzeitige Reaktion auf eintreffende Ereignisse, möglichst exaktes Einhalten von Zeitanforderungen 19.3.2010 Embedded Systems

Real Time Operating System Task Management Task kreieren. Task terminieren. Scheduler: Untersucht ob Wartebedingungen erfüllt sind. Dispatcher: Entscheidet welche der wartenden Tasks zur Ausführung kommt. Resource Management Speicher-Verwaltung I/O-Verwaltung Dateiverwaltung Protokoll-Stacks, usw. Reliability Fehlererkennung, -behandlung. Security Zugriffskontrolle Object Protection 19.3.2010 Embedded Systems

Task Konzept Task Task Control Block Task Zustände Funktionelle und strukturelle Einheit des Betriebssystems Programm mit eigener abgeschlossener Umgebung. Task Control Block Informationen über Zustand und Priorität der Task CPU und System Context Task Zustände ready, running, waiting, suspended. 19.3.2010 Embedded Systems

Taskzustände suspended ready busy waiting suspended: Die Task nimmt nicht am Geschehen teil. busy ready: Die Task ist ablauf-fähig und wartet auf die Zuteilung des Prozessors. busy: Der Code der Task wird ausgeführt waiting: Die Task wartet auf das Eintreten eines Ereignisses. waiting 19.3.2010 Embedded Systems

Task Management ready busy waiting suspended Dispatcher Scheduler Tasks werden kreiert suspended Prozessor ist verfügbar Dispatcher busy RTX166tiny: Beim Start wird Task 0 ausgeführt, sie aktiviert alle erforderlichen weiteren Tasks. Wartebedingung ist erfüllt waiting Scheduler 19.3.2010 Embedded Systems

Task Management Scheduler sorgt für die Bereitstellung der Tasks (u.U. unter Berücksichtigung der Taskpriorität): Zeitscheiben: Maximale Zeit, die der Task zur Verfügung steht. Round-Robin-Scheduling - preemptive Scheduling Kooperatives Scheduling: Task wartet auf Eintreten eines Ereignisses - non preemptive Scheduling Dispatcher sorgt für die korrekte Umschaltung zur bereitgestellten Task Synchronization Interprozesskommunikation mittels: Signal Semaphore Mailboxes Messages 19.3.2010 Embedded Systems

Task Interaction - Synchronization Asynchronous via Mailbox Synchronous via Message Passing  Sender Task Receiver Sender Task Receiver 19.3.2010 Embedded Systems

Real Time Operating System RTX166 RTX166 Full Task Switching Round Robin Cooperative 256 Tasks max.  128 task priorities signal passing message passing with mailbox system semaphores "os_wait" function  interrupt timeout signal from task or interrupt message from task or interrupt semaphore 19.3.2010 Embedded Systems

Real Time Operating System RTX166 RTX166 Tiny Task Switching Round Robin Cooperative 32 Tasks max. signal passing "os_wait" function  interval timeout signal from task or interrupt 19.3.2010 Embedded Systems

Real Time Operating System RTX166 Single Task Program int counter; void main (void) { counter = 0; while (1) { /* repeat forever */ counter++; /* increment counter */ } 19.3.2010 Embedded Systems

Real Time Operating System RTX166 Round-Robin Task Switching #include <rtx166t.h> int counter0, counter1; void job0 (void) _task_ 0 { os_create_task (1); /* Mark task 1 as "ready" */ while (1) { /* Endless loop */ counter0++; /* Increment counter 0 */ } void job1 (void) _task_ 1 { while (1) { /* Endless loop */ counter1++; /* Increment counter 1 */ Rtx_1 19.3.2010 Embedded Systems

Real Time Operating System RTX166 Cooperative Task Switching: Wait for Timeout #include <rtx166t.h> int counter0, counter1; void job0 (void) _task_ 0 { os_create_task (1); while (1) { counter0++; /* Increment counter 0 */ os_wait (K_TMO, 3, 0); /* Wait 3 timer ticks */ } void job1 (void) _task_ 1 { counter1++; /* Increment counter 1 */ os_wait (K_TMO, 5, 0); /* Wait 5 timer ticks */ Rtx_1 19.3.2010 Embedded Systems

Real Time Operating System RTX166 Cooperative Task Switching: Wait for Signal #include <rtx166t.h> int counter0, counter1; void job0 (void) _task_ 0 { os_create_task (1); while (1) { if (++counter0 == 0) { /* On counter 0 overflow*/ os_send_signal (1);/* Send signal to task 1*/ } void job1 (void) _task_ 1 { os_wait (K_SIG, 0, 0); /* Wait for signal; no timeout */ counter1++; /* Increment counter 1 */ Rtx_1 19.3.2010 Embedded Systems