Definitionenen und Grundlagen

Größe: px
Ab Seite anzeigen:

Download "Definitionenen und Grundlagen"

Transkript

1 Echtzeitbetriebssysteme & verteilte Systeme, Teil 1 Dozent: Dr. rer. nat. Frank Dopatka Voraussetzung: Grundkenntnisse in Betriebssystemen & -Verfahren Ziel: Einführung in industrielle Echtzeitanforderungen, Echtzeit- Betriebssysteme und verteile Anwendungen mit dem Hintergrund der Automatisierungstechnik Themen: ; Programmiermodelle; Anforderungen an Echtzeit- Systeme -Verfahren und deren Bewertung Verteilte Systeme; Kommunikation und (Zeit-)Synchronisation en und Grundlagen Folie 3 Arten von Betriebssystemen Folie 4 Arten von Betriebssystemen Monolithische Systeme Strukturierung nur durch Prozeduren - z.b. Hauptfunktion, Serviceprozedur für jeden Systemaufruf, Hilfsfunktionen - alle Prozeduren im selben Adreßraum - jede Prozedur kann (prinzipiell) jede andere aufrufen Probleme: Sicherheit, Software-Engineering Betriebssysteme haben zum Teil mehrere 10 Millionen Zeilen Code! Geschichtete Systeme Hierarchische Strukturierung der Funktionen - Interaktion nur zwischen benachbarten Schichten Ggf. auch Schutz der Schichten möglich - untere Schichten höher privilegiert als obere - Übergang zwischen Schichten nur über Systemaufrufe

2 Folie 5 Arten von Betriebssystemen: Geschichtet Folie 6 Arten von Betriebssystemen Mikrokern Betriebssystem stellt nur Minimalfunktionalität bereit andere Dienste werden in Serverprozesse (bzw. -threads) ausgelagert ->Ausführung meist im Benutzermodus Client-Server-Modell Mikrokern realisiert typischerweise... - Prozeßwechsel - maschinennahe - Basis-Interprozeßkommunikation - Verwaltung von E/A-Adressen und Interrupts Folie 7 Arten von Betriebssystemen: Mikrokern Folie 8 Vorteile der Mikrokern-Architektur Einheitliche Schnittstellen für Dienste auf Benutzer- und Kernelebene Erweiterbarkeit durch neue Dienste Flexibiltät: Baukasten von Diensten Portierbarkeit: prozessorspezifischer Code (fast) nur im Mikrokern Zuverlässigkeit Unterstützung verteilter Systeme Unterstützung objektorientierter Betriebssysteme => heutige Betriebsysteme mit hohen Echtzeitanforderungen sind meist Mikrokern-Systeme => auch Standard-Betriebssysteme wechseln langsam in eine Mikrokern-Architektur, um überschaubar zu bleiben (Dienste-Modell)

3 Folie 9 Was sind eingebettete Systeme? Folie 10 Anwendungsbereiche Ein eingebettetes System ist ein Computersystem, das in ein umgebendes (technisches) System eingebettet ist und mit diesem in Wechselwirkung steht. Ein eingebettetes System erfüllt komplexe Aufgaben in der Steuerung, Regelung und Überwachung des technischen Systems. - mehr als 90% aller elektronischenbauelemente sind integriert - mehr Prozessoren sind integriert als in PCs verbaut - Oberklasse-PKW: Steuergeräte! Folie 11 Interaktion von System & Umgebung Folie 12 Interaktion von System & Umgebung

4 Folie 13 Steuerung Folie 14 Regelung Die Führungsgröße ist die Vorgabe des Benutzers Offene Wirkungskette: keine Rückkopplung von x(t) Das Steuersignal u(t) wird ohne Kenntnis von x(t) bestimmt -> benötigt ein Modell der Strecke: Zusammenhang zwischen x(t) und y(t) Eine Steuerung kann nicht auf Störungen im Prozeß reagieren Geschlossene Wirkungskette: x(t) wird kontinuierlich erfaßt und mit Sollwert verglichen => Regler stellt u(t) so ein, daß x(t) = w(t) wird (Istwert mit Sollwert vergleichen und anpassen) Ein Regler kann auch Störungen des Prosesses ausgleichen Ist das Lenken eines Autos eine Steuerung oder eine Regelung? Folie 15 Regelung in der Automatisierungstechnik Folie 16 Antriebsregelung: Stromregelung Spitzen- und Dauerstrom des jeweiligen Antriebes begrenzen -> Arbeiten im Arbeitsbereich PI-Regler; Aktualisierung: ca. alle 10µs Gleichstrommotor: Stromrichter Wechselstrommotor: Frequenzumrichter

5 Folie 17 Antriebsregelung: Drehzahlregelung Folie 18 Antriebsregelung: Positionsregelung Sollwert des Stroms -> Sollvorgabe der Drehmomentes Drehzahlregelung nach dem Stromleitverfahren Frequenzumrichter sind in der Lage, direkt über den Ankerstrom des Antriebs die Istdrehzahl zu ermitteln und eine sensorlose Regelung durchzuführen -> Update ca. alle 10 ms Definition der Verfahrstrecke -> Start-/Endpos. Update zwischen 10 ms und 100 ms sehr komplexe Regelung -> mikrocontroller- oder -basierte Lösungen alles in einem Antrieb: Siemens PROFIdrive Folie 19 Antriebsregelung in den Antrieben Folie 20 Antriebsregelung in der Steuerung

6 Folie 21 Antriebsregelung: Fallbeispiel Walzwerk Folie 22 früher: zentrale Welle - Kurvenscheibe Problem der durchlaufenden Warenbahn! Folie 23 Software-Welle Folie 24 Klassen von Computersystemen Ein Problem liegt in der hohen Synchronität der Antriebe zueinander. Diese Anforderung resultiert aus der Anlagenmechanik, die gerade bei einer durchlaufenden Warenbahn kritisch ist. Für einige technologische Prozesse wird ein Gleichlauf mehrerer Arbeitsmaschinen oder ein festes Drehzahlverhältnis zueinander gefordert. Dies kann ohne Kopplung mechanischer Wellen durch eine elektrische Welle erfüllt werden. In Verbindung mit modernen taktsynchronen Feldbussen verwenden Moning und Lanz sogar den Begriff der Software-Welle. Transformationelle Systeme: - berechnen Ausgaben aus vorliegenden Eingaben - keine Interaktion während der Berechnung Interaktive Systeme: - interagieren mit der Umgebung - System fordert Umgebung bzw. Benutzer zur Interaktion auf: -> Computer entscheidet, wann Interaktion stattfindet -> Benutzer reagiert auf Interaktions-Aufforderung Reaktive Systeme: - Systemumgebung bestimmt die Interaktion - Computer reagiert auf Stimuli der Umgebung

7 Folie 25 Reaktive Systeme Folie 26 Referenzarchitektur für eingebettete Systeme -häufig nebenläufig (Reaktion auf mehrere Stimuli) -> deterministisches Verhalten Reaktion ist eindeutig durch Eingabesignale und ggf. deren zeitliche Reihenfolge bestimmt - hohe Zuverlässigkeit - häufig Einhaltung von Zeitschranken -> Reaktion muß rechtzeitig erfolgen -> Echtzeitsysteme - Meist in eine Umgebung eingebettet -> eingebettete Systeme Folie 27 Arten der Echtzeit Folie 28 Was ist ein Echtzeitsystem? Weiche Echtzeitsysteme: Zeitbedingungen sind Richtlinien, die gelegentlich bzw. leicht überschritten werden dürfen (z.b. bei Multimedia) Feste Echtzeitsysteme: Ergebnisse werden nutzlos, es entsteht aber kein Schaden, z.b.: Positionsmessungen bewegter Objekte Harte Echtzeitsysteme: Es entsteht ein (größerer) Schaden, z.b.: - Anhalten eines autonomen Fahrzeugs vor Hindernis -ABS-System - Not-Aus Betätigung vor einer Presse Ein Rechnersystem, bei dem neben logischer Korrektheit auch der Zeitpunkt der Ausgaben von Bedeutung ist! Ein Echtzeitsystem erfüllt die Anforderung der Rechtzeitigkeit Gleichzeitigkeit Vorhersehbarkeit Verlässlichkeit Verfügbarkeit

8 Folie 29 Rechtzeitigkeit: Nutzen der Information Folie 30 Rechtzeitigkeit: Zeitbedingungen Die Erfassung und Auswertung von Prozeßdaten, sowie die geeignete Reaktion muss stets innerhalb einer vorgegebenen Zeitschranke ausgeführt werden. Die verschiedenen Zeitschranken werden meist in Zeit/Nutzen-Diagrammen festgelegt. Diese stellen dar, zu welcher Zeit eine Information, z.b. ein übertragener Meßwert, von Nutzen für die Anlage ist: Das Echtzeitsystem muß also Daten rechtzeitig abholen und liefern -> es existieren Zeitbedingungen für Eingabe und Ausgabe Varianten zur Angabe von Zeitbedingungen: - Angabe eines genauen Zeitpunkts - Angabe eines spätesten Zeitpunkts (Zeitschranke, Deadline) - Angabe eines frühesten Zeitpunkts - Angabe eines Zeitintervalls weiche feste harte Echtzeit Folie 31 Rechtzeitigkeit: zyklische Abarbeitung Folie 32 Rechtzeitigkeit: Geschwindigkeit und Vorhersagbarkeit Periodische Zeitbedingungen: - Zeitbedingung wiederholt sich periodisch - z.b. regelmäßiges Auslesen von Sensoren: zeitlich äquidistante Werte sind wichtig für numerische Berechnungen -> a = dv/dt = d²s/dt² Aperiodische Zeitbedingungen: - ausgelöst durch das Auftreten von Ereignissen - z.b. Not-Aus Schalter betätigt Um Zeitbedingungen einhalten zu können, muß Echtzeitsystem zwei Eigenschaften besitzen: hinreichende Verarbeitungsgeschwindigkeit genügend schnelle CPUs, effiziente Programmierung zeitliche Vorhersagbarkeit - Zeitbedingungen müssen in jedem Fall garantiert werden - wesentliche Anforderung an Betriebssysteme und Laufzeitsysteme!

9 Folie 33 Rechtzeitigkeit: Geschwindigkeit und Vorhersagbarkeit Folie 34 Gleichzeitigkeit Hohe Geschwindigkeit ohne Vorhersagbarkeit ist bedeutungslos: Echtzeitfähigkeit ist nicht gleich Geschwindigkeit! z.b. sind cache-basierte Systeme problematisch: im Mittel sehr schnell, bei Cachefehlern jedoch deutlich höhere Verarbeitungszeit z.b. ist Ethernet 100MBit/s schnell (im Gegensatz zu Feldbussen)! Was passiert, wenn der Not-Aus-Frame aufgrund von hohem Traffic in einem Switch verworfen wird? -> Neu-Senden mit TCP? -> Priorisierung! -> Deterministisches, vorhersehbares Verhalten! -> Worst/Case-Rechnungen! Die Forderung nach Gleichzeitigkeit besagt, dass ein Echtzeitsystem in der Lage sein muss, auch auf mehrere gleichzeitig ablaufende Vorgänge des technischen Prozesses zu reagieren. Insbesondere wird von jedem Rechenprozess erwartet, dass er alle Operationen vor Ablauf einer in der Einplanung angegebenen Zeitschranke erfolgreich abschließt. Folie 35 Vorhersehbarkeit Folie 36 Verlässlichkeit Ein System ist vorhersehbar, wenn alle Reaktionen planbar und deterministisch sind. Es dürfen nur definierte und reproduzierbare Zustände auftreten. Dabei ist besonders von Bedeutung, dass sich keine zufälligen Komponenten im System befinden. Zur Verläßlichkeit zählt die Zuverlässigkeit, Sicherheit und Verfügbarkeit eines Systems. Im industriellen Bereich bedeutet dies, das ein Netzwerk unter Industriebedingungen ordnungsgemäß arbeitet. Zu den Anforderungen zählen Standhaftigkeit gegenüber EMV-Belastung, mechanischer und chemischer Beschädigung, Temperatur, Vibration und Feuchtigkeit.

10 Folie 37 Verfügbarkeit RTSs müssen unterbrechungsfrei betriebsbereit sein, sonst Verletzung der Zeitbedingungen! Verbietet u.a. Reorganisationsphasen z.b. Index- und Speicher-Reorganisation bei Datenbanksystemen, Garbage Collection in Java,... Abhilfe: reorganisations-freie Algorithmen oder Reorganisation in kleinen Schritten (z.b. bei ) Programmiermodelle Folie 39 Arten der Programmierung Folie 40 Arten der Programmierung Es gibt zwei grundlegende Verfahren zur Realisierung von Systemen mit Echtzeitanforderungen: synchrone Programmierung, Stichwort: Polling bzw. Timer-Interrupt - Sensoren werden vom Programm abgefragt -> einfache, preisgünstige passive Sensoren - zeitliches Verhalten periodischer Aktionen wird vor der Ausführung geplant (Offline-Schedule) - für zeitgesteuerte Systeme (time-based) asynchrone Programmierung, Stichwort: Interrupts - Sensoren erzeugen Ereignisse - Programm wird durch die externen Ereignisse gesteuert, Ablauf der Aktionen wird erst zur Laufzeit geplant -> Online-Schedule -> Schedule wird vom Echtzeit-Betriebssystem verwaltet - für ereignisgesteuerte Systeme (event-based)

11 Folie 41 Synchrone Programmierung Folie 42 Synchrone Programmierung Die periodisch auszuführenden Aktionen werden auf ein festes Zeitraster T synchronisiert - Aktionen starten zu den Zeiten k T mit k N - ein Zeitgeber erzeugt im festen Zeitabstand T Unterbrechungen - Unterbrechungen starten ggf. Teilprogramme für Aktionen - Reihenfolge der Teilprogramme wird fest vorgegeben Programme einfach durch zeitgesteuerte Ablaufsteuerung realisierbar: Folie 43 Synchrone Programmierung: Beispiel Folie 44 Synchrone Programmierung: Beispiel Autonomes Fahrzeug mit Kamera und Motor: Kameradatenvererbeitung mit Periode T Motorsteuerung mit Periode 2T Zeitlicher Ablauf:

12 Folie 45 Synchrone Programmierung: exakter Ablauf Folie 46 Synchrone Programmierung: Verletzung Periodenzeiten exakt eingehalten, falls: Summe der Ausführungszeiten T jede Periodenzeit ist ganzzahliges Vielfaches der nächst kürzeren Summe der Ausführungszeiten T: Nicht eingehalten! Folie 47 Synchrone Programmierung: Verletzung Folie 48 Synchrone Programmierung: Verletzung Summe der Ausführungszeiten T: Nicht eingehalten! Summe der Ausführungszeiten T: Nicht eingehalten! -> Fehler stauen sich auf -> Zeitbedingungen sind in der Regel nicht mehr einzuhalten

13 Folie 49 Synchrone Programmierung: Verletzung Folie 50 Synchrone Programmierung: Verletzung jede Periodenzeit ist ganzzahliges Vielfaches der nächst kürzeren: Nicht eingehalten! Kameradaten: Periode 2T Motorsteuerung: Periode 3T jede Periodenzeit ist ganzzahliges Vielfaches der nächst kürzeren: Nicht eingehalten! -> Abweichung der Periodendauer ist maximal T -> meist tolerierbar, wenn ggf. auf einen Meßwert verzichtet werden kann Folie 51 Synchrone Programmierung: Diskussion Folie 52 Synchrone Programmierung: Diskussion Vorteile: - festes, vorhersagbares und garantierbares Zeitverhalten - gut geeignet bei sicherheitsrelevanten Aufgaben: Analyse und Test des Systems sind einfach - besonders geeignet bei zyklischen Abläufen - leichter programmierbar Nachteile: - geringe Flexibilität bei Änderungen der Aufgabenstellung - Ablaufplan ist fest im Programm codiert - asynchrone / aperiodische Ereignisse passen nicht ins Modell - Behandlung nur durch Polling möglich - bei Polling mit Periode k T: Reaktionszeit schwankt zwischen 0 und T

14 Folie 53 Asynchrone Programmierung Folie 54 Asynchrone Programmierung: Beispiel Realisierung der Programme mit unterbrechungsgesteuerter Ablaufsteuerung: Autonomes Fahrzeug mit zwei Sensoren für asynchrone Ereignisse: Als eine Landmarke bezeichnet man ein auffälliges, meist weithin sichtbares topographisches Objekt. Beispielsweise können Kirchen, Türme, Burgen oder Einzelbäume Landmarken darstellen. Landmarken spielen bei der räumlichen Orientierung z.b. bei der Navigation eine wichtige Rolle. Folie 55 Asynchrone Programmierung: Beispiel Folie 56 Asynchrone Programmierung: Beispiel Signalisiert der Laserscanner eine drohende Kollision, so muss das Fahrzeug unmittelbar reagieren. Diese Verarbeitung hat demnach die höchste Priorität. Im Folgenden wird der zeitliche Ablauf skizziert, falls HPF (Highest Priority First) als der Aktionen benutzt wird: Worst-Case Fall: Alle Ereignisse treten in einem Zyklus auf und werden dennoch vor Ende des Zyklus abgearbeitet!

15 Folie 57 Asynchrone Programmierung: Beispiel Folie 58 Asynchrone Programmierung: Diskussion Die Zeitbedingungen können jedoch schwanken (Jitter): Vorteile: - flexibler Programmablauf, flexible Programmstruktur - Reaktion auf periodische und aperiodische Ereignisse möglich Folie 59 Asynchrone Programmierung: Diskussion Folie 60 Fazit Nachteile: - Rechtzeitigkeit nicht in jedem Fall im Voraus garantierbar: * je niedriger die Priorität, desto größer die Schwankungen - Systemanalyse und Test schwieriger: *bei geeignetem ist Einhaltung der Rechtzeitigkeit aber im Voraus beweisbar (Feasibility Analysis) * ggf. können nur Garantien für kritische hochpriore Ereignisse gegeben werden Asynchrone Programmierung wird wegen hoher Flexibilität eingesetzt, die synchrone Programmierung vor allem für kritische Anwendungen!

16 Folie 61 Programmiermodelle: Fallbeispiel Folie 62 Aufgabe: Förderband 2 inc mb M 12 read inc 13 inc Prozessrechner 3 Die Pakete mit den Strichcodes 6 und 7 sollen auf dem Förderband 2 weiter transportiert werden, die Pakete mit anderen Strichcodes auf dem Förderband 3. Die Förderbänder werden über Schrittmotoren angetrieben. Das Auslesen eines Strichcodes benötigt 3 Zeiteinheiten (ZE): 1ZE für das eigentliche Auslesen, 2ZE für die Interpretation im Leser. Ist kein Werkstück auf dem Band, so gibt der Leser 0 zurück. Das Verstellen der Schranke durch den Motor benötigt 4ZE. Davon 1ZE, um den Impuls des Drehens zu geben und 3ZE für die Bewegung an sich. In welcher Reihenfolge kommen die Pakete im schlimmsten Fall an? Folie 63 Aufgabe: Förderband Folie 64 Übung: Förderband I Die Pakete liegen genau alle 10 Plätze entfernt voneinander auf dem Band. Die Förderbänder werden alle zusammen über eine zentrale Welle inkrementiert. Der Schrittmotor der Förderbänder wird 1x inkrementiert, bevor der Strichcode ausgelesen wird. Nach dem Auslesen muss das Band weitere 10x inkrementiert werden, bis das Paket bei der Weiche ankommt. Die 12. Inkrementierung der Förderbänder transportiert das Paket dann - je nach Weichenstellung - auf das Förderband 2 oder 3. Um ein Paket durchzuschleusen, sind insgesamt 13 Zeiteinheiten nötig. Schreiben Sie ein synchrones Programm in Pseudo- Code, welches die Aufgabe erfüllt. Auf dem Prozeßrechner sind folgende Operationen möglich: - read: Strichcodeleser auslesen (3ZE -> 1+2) - mb2: Weiterleitung auf Band2 (4ZE -> 1+3) - mb3: Weiterleitung auf Band3 (4ZE -> 1+3) - inc: Föderbänder inkrementieren (1ZE) - jede andere Anweisung innerhalb des Prozeßrechners (z.b. Variablen lesen/schreiben), Verzweigung, Schleifenbedingung prüfen: (1ZE) Nach der Initialisierung soll auf Förderband 3 weitergeleitet werden. Zählen Sie die Zeiteinheiten, die das Programm im besten/schlechtesten Fall benötigt. Der schlechsteste Fall ergibt dann die Zykluszeit T.

17 Folie 65 Lösung: Förderband I Folie 66 Lösung: Förderband I Initialisierungs-/Hochlaufphase: fast immer bei einem automatisierten System vorhanden: Hier existieren noch keine Echtzeitanforderungen! min. Durchlaufzeit ohne Pakete: = 25ZE x inc 2 x inc inc c=read() 3 q.add(c) x=q.front() x=0 ja b!=b nein 1 x in {6,7} b!=b3 ja ja 4 mb2 mb Folie 67 Lösung: Förderband I Folie 68 Lösung: Förderband I max. Durchlaufzeit; Band wechselt immer, wenn ein Paket davor ist: 7 x inc 2 x inc = 37ZE 7 2 inc c=read() 3 q.add(c) x=q.front() x=0 ja b!=b nein 1 x in {6,7} b!=b3 ja ja 4 mb2 mb Hinweis: Das Programm wird normalerweise über einen Timer- Interrupt gestartet und 1x vollständig abgearbeitet. Es gibt also keinen Rückweg. Wichtig: Dabei wird stets der Worst-Case betrachtet! Der Interrupt würde also alle 37ZE kommen und das Programm 1x abarbeiten. Ggf. restliche Zeit wird gewartet.

18 Folie 69 Übung: Förderband II Folie 70 Lösung: Förderband II Schreiben Sie ein asynchrones Programm in Pseudo-Code, welches die Aufgabe erfüllt. Die einzelnen Prozesse sind hier unabhängig voneinander und kommunizieren über Ereignisse: Nach den Befehlen read und mbx (je 1ZE), senden die Geräte nach ihrer Ausführungszeit (2ZE bzw. 3 ZE) später asynchron eine Antwort. Die Inkrementierung der Förderbänder sei periodisch über einen Zeitgeber gesteuert. Überlegen Sie sich für die Prozesse sinnvolle Prioritäten, bevor Sie mit der Erstellung des Pseudo-Codes beginnen. Zählen Sie die Zeiteinheiten, die das Programm im besten/schlechtesten Fall benötigt. Der schlechsteste Fall ergibt dann die Zykluszeit T. I-Ereignis: Zeitgeber Aktion: inc(); Dauer: 1 Periode: T Priorität: 4 R-Ereignis: Zeitgeber Aktion: read.start(); Dauer: 1 Periode: Ergebnis wird zeigen: 16T Priorität: 3 D-Ereignis: read.ende Aktion: q.add(c); Dauer: 1 Periode: async. Priorität: 2 Folie 71 Lösung: Förderband II Folie 72 Lösung: Förderband II M-Ereignis: inctimer.ende Aktion: x=q.front(); (1) if (x!=0){ (1) if (x in {6,7}){ (1) mb2; } else { (1) mb3; } } Dauer: 2-4 Periode: Ergebnis wird zeigen: 16T Priorität: 1 A-Ereignis: Weiche durch Motor ausgerichtet Aktion: - Dauer: 0 (nur Anzeige) Periode: async. Priorität:? max. Durchlaufzeit (Band wechselt immer, wenn ein Paket davor ist): 19ZE I R I I D I I I I I I M I I R I I D I I I I I I M A Paket n-1 A Paket n Paket n+1 Warum ist das asynchrone Programm so viel schneller? Antwort: Dadurch, dass das Drehen des Motors und das Interpretieren des Barcodes parallel zum Inkrementieren statt finden kann! Man sieht jedoch auch, dass die asynchrone Zeit- Analyse wesentlich schwieriger ist! A

19 Folie 73 Beispiel: Werkstück-Simulation Anforderungen an (Echtzeit-)Betriebssysteme Folie 75 Grundlegende Aufgaben eines Betriebssystems Folie 76 Erweiterung (Veredelung) der Hardware Erweiterung (Veredelung) der Hardware Abstraktion der Hardware Verwaltung von Betriebsmitteln Hardware muß billig, schnell und zuverlässig sein -> Beschränkung auf das absolut Notwendige -> Folge: schwierige Programmierung ein Betriebssystem stellt komplexe Funktionen bereit, die die Anwendungsprogramme verwenden können * Beispiel: Schreiben auf Festplatte -> Das Betriebssystem findet automatisch freie Sektoren auf der Platte, legt Verwaltungsinformation an -> interne Struktur der Platte (Anzahl Köpfe, Zylinder, Sektoren, etc.) für Anwendung nicht mehr wichtig => Folge: erhebliche Vereinfachung der Programmierung

20 Folie 77 Abstraktion der Hardware Folie 78 Verwaltung von Betriebsmitteln PCs sind trotz ähnlicher Architektur im Detail sehr unterschiedlich, z.b.: - Einteilung des Adreßraums (Speicher, E/A-Controller) - verschiedenste E/A-Controller und Geräte Fallunterscheidung wird vom Betriebssystem vorgenommen Betriebssystem realisiert einheitliche Sicht für Anwendungen * Beispiel: Dateien abstrahieren Externspeicher -> für Anwendungen kein Unterschied zwischen Festplatte, Diskette, CD-ROM, USB-Stick, Netzlaufwerk,... -> UNIX: selbst Drucker wie Datei behandelt Betriebssystem realisiert eine virtuelle Maschine Betriebsmittel (Ressourcen): alles was eine Anwendung zur Ausführung braucht - Prozessor, Speicher, Geräte (Festplatte, Netzwerk,...) Rechner im Mehrprozeß- und Mehrbenutzerbetrieb: - mehrere Anwendungen verschiedener Benutzer werden quasi gleichzeitig ausgeführt Notwendig ist Fairness: gerechte Verteilung der Betriebsmittel Notwendig ist Sicherheit: Schutz der Anwendungen und Benutzer voreinander Folie 79 Mittler zwischen Anwendungen und Hardware Folie 80 Prozessmodell Essentiell: Anwendungen können nicht direkt (unkontrolliert) auf die Hardware zugreifen Unterstützende Hardware-Mechanismen: - Ausführungsmodi des Prozessors (System- und Benutzermodus) - Systemaufrufe, Ausnahmen, Unterbrechungen - Adreßumsetzung (virtueller Speicher) Umschalten durch Umladen der CPU-Register (incl. Program Counter) Beachte: Annahmen über die Geschwindigkeit der Ausführung sind nur bei Echtzeit- Betriebssystemen möglich!

21 Folie 81 Prozesse & Threads Folie 82 Typische Zugriffszeiten & Zuständigkeiten Prozeß: - Einheit des Ressourcenbesitzes und Schutzes Thread: - Einheit der Ausführung (Prozessorzuteilung) - Ausführungsfaden, leichtgewichtiger Prozeß - Innerhalb eines Prozesses existiert ein oder mehrere Threads: Folie 83 Ausführungsmodi einer CPU Folie 84 Interrupts Systemmodus: ausgeführtes Programm hat vollen Zugriff auf alle Rechnerkomponenten -> für das Betriebssystem Benutzermodus: eingeschränkter Zugriff -> Speicher nur über Adreßabbildung zugreifbar -> keine privilegierten Befehle z.b. Ein-/Ausgabe, Zugriff auf Konfigurationsregister Ausführung eines privilegierten Befehls im Benutzermodus führt zu einer Ausnahme (Exception, Software Interrupt): - CPU bricht gerade ausgeführten Befehl ab - CPU sichert Rückkehradresse (Adresse des Befehls) - Programmausführung wird an vordefinierter Adresse im Systemmodus fortgesetzt -> d.h. Verzweigung an eine feste Stelle im Betriebssystem - Betriebssystem behandelt die Ausnahme -> z.b. Abbruch des laufenden Prozesses - Rückkehrbefehl schaltet wieder in Benutzermodus

22 Folie 85 Interrupts Folie 86 Interrupts CPU kann auf externe, asynchrone Ereignisse reagieren spezielles Eingangssignal: Interrupt-Signal Signal wird jeweils nach Abarbeitung eines Befehls abgefragt; falls Signal gesetzt: - sichern des Program Counters im Keller (Rückkehradresse) - Umschalten in Systemmodus - Sprung an vordefinierte Adresse im Betriebssystem (Unterbrechungsbehandlungsroutine, interrupt handler) - Im Betriebssystem: Behandlung des Interrupts - Rückkehrbefehl schaltet wieder in Benutzermodus In der Regel mehrere Interrupts mit verschiedenen Prioritäten: - jedem Interrupt kann eine eigene Behandlungsroutine zugewiesen werden -> Tabelle von Adressen: Unterbrechungsvektor -> ggf. Unterbrechung aktiver Behandlungsroutinen Interrupts können maskiert ( ausgeschaltet ) werden -> privilegierter Befehl! Folie 87 Anforderungen echtzeitfähiger Betriebssystems Folie 88 Anforderungen echtzeitfähiger Betriebssystems Echtzeit-Betriebssysteme haben prinzipiell dieselben Aufgabe wie normale Betriebssysteme, aber mit speziellen Anforderungen: Deterministisches zeitliches Verhalten: - insbesondere bei zyklischer Einplanung von Aufgaben (Tasks) - unabhängig von der Last des Systems Bearbeitung vieler externer Ereignisse (Unterbrechungen): - definierte, kurze Antwortzeiten auf Unterbrechungen Geringer Ressourcenverbrauch (eingebettetes System!) Geringer Overhead - beim Zugriff auf Hardware bzw. technischen Prozeß - beim Taskwechsel, etc. Zuverlässigkeit - Robustheit gegenüber HW- und SW-Fehlern - ggf. Notbetrieb von Teilsystemen - Stabilität: falls nicht alle Fristen eingehalten werden können, müssen zumindest die wichtigsten Tasks ihre Fristen einhalten Multitasking-Fähigkeit - mit Prioritäten für Tasks (Prozesse oder Threads) Effiziente, schnelle Interprozeßkommunikation

23 Folie 89 Echtzeit-Betriebssystem vs. PC-Betriebssystem Folie 90 Echtzeit-Betriebssystem vs. PC-Betriebssystem Echtzeit-Betriebssysteme gewährleisten die Einhaltung von Zeitbedingungen Echtzeit-Betriebssysteme liegen im Allgemeinen als Bibliothek vor: - benötigte Module werden mit Anwendung gebunden und in einem ROM abgelegt Echtzeit-Betriebssysteme erlauben detaillierte Kontrolle/Anpassung durch Benutzer bzw. Programmierer, z.b.: - Task-Prioritäten - unterschiedliche -Verfahren - Einsatz von Schutzmechanismen - Art der Echtzeit-Betriebssysteme besitzen oft keine Datei-/Plattenverwaltung: - keine mechanischen Laufwerke vorhanden bzw. erlaubt - Datenträgerzugriff hat nichtdeterministisches Zeitverhalten teilweise aber Dateisysteme im Speicher (RAM oder Flash-ROM) häufig einfachere keine Auslagerung von Seiten oft nur Threads statt Prozesse - ggf. expliziter Speicherschutz zwischen Theads möglich Kein Mehrbenutzerbetrieb Folie 91 Alternative: Echtzeit-Erweiterungen Basis: herkömmliches PC-Betriebssystem mit gewohnter Bedienbarkeit und Treibern Erweiterungen unterstützen Echtzeit-Anwendungen; mögliche Erweiterungen sind: - Memory-Locking verhindert Auslagerung einer Seite auf Hintergrundspeicher - Deaktivierung von Caches erhöht die Vorhersagbarkeit auf Kosten der Performanz - Echtzeit- Strategien z.b. Linux: neue klassen - prioritätsgesteuertes FIFO/RoundRobin - höhere Priorität als Nicht-Threads - ist pro Thread wählbar Übersicht über -Verfahren

24 Folie 93 Was wird geschedult? Folie 94 Task-Modell Tasks werden geschedult! dies können Prozesse bzw. Threads sein (bei PC-Betriebssystem bzw. Echtzeit-System) Task ist normalerweise blockiert und wartet auf Aktivierung nach Aktivierung: Task führt Aufgabe aus und ruht dann wieder ein Task besitzt 4 mögliche Zustände: * ruhend (hat nichts zu tun) * bereit (hat was zu tun und wartet auf CPU) * rechnend (hat gerade die CPU) * blockiert (wartet auf Betriebsmittel) Folie 95 Zustände eines Tasks Folie 96 Zeitparameter Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben:

25 Folie 97 Zeitparameter Folie 98 Zeitparameter Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Folie 99 Zeitparameter Folie 100 Zeitparameter Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben:

26 Folie 101 Zeitparameter Folie 102 Zeitparameter Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Folie 103 Zeitparameter Folie 104 Zeitparameter Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben:

27 Folie 105 Zeitparameter Folie 106 Zeitparameter Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Das Zeitverhalten eines Task wird durch mehrere Parameter beschrieben: Folie 108 Teilaufgabe des Betriebssystems: Mehrprogammbetrieb Grundlagen der -Verfahren Gleichzeitige Abarbeitung meherer Tasks im schnellen Wechsel ist eine Auswahlstrategie: Welcher Prozeß darf als nächstes wie lange rechnen? -> Verwaltung des Betriebsmittels Prozessor Prozeßcharakteristik:

28 Folie 109 beeinflußt die Nutzbarkeit des Systems Folie 110 Betriebsarten eines Systems Beispiel: interaktives Programm (I) und Hintergrundprozeß (H) Darstellung als Gantt-Diagramm: Stapelverarbeitungs-Betrieb - System arbeitet nicht-interaktive Aufträge ab - häufig bei Großrechnern Interaktiver Betrieb - typisch für Arbeitsplatzrechner, Server Echtzeitbetrieb - Steueraufgaben, Multimedia-Anwendungen Folie 111 Kriterien für das (Benutzersicht) Folie 112 Kriterien für das (Systemsicht) Minimierung der Durchlaufzeit (Stapelbetrieb) - Zeit zwischen Eingang und Abschluß eines Jobs (inkl. aller Wartezeiten) Minimierung der Antwortzeit (Interaktiver Betrieb) - Zeit zwischen Eingabe einer Anfrage und Beginn der Ausgabe Einhaltung von Terminen (Realzeitbetrieb) - Ausgabe muß nach bestimmter Zeit erfolgt sein Maximierung des Durchsatzes (Stapelbetrieb) - Anzahl der fertiggestellten Jobs pro Zeiteinheit Optimierung der Prozessorauslastung (Stapelbetrieb) - prozentualer Anteil der Zeit, in der Prozessor beschäftigt ist Balance - gleichmäßige Auslastung aller Ressourcen Fairness - vergleichbare Prozesse sollten gleich behandelt werden Durchsetzung von Prioritäten - Prozesse mit höherer Priorität bevorzugt behandeln

29 Folie 113 Probleme der Kriterien Folie 114 Präemptiv?...sie sind nicht gleichzeitig erfüllbar! z.b. Prozessorauslastung kurze Antwortzeit -Ziele und -Verfahren sind von der Betriebsart abhängig - Stapelverarbeitung: hoher Durchsatz, gute Auslastung -> bevorzuge Aufträge, die freie Ressourcen nutzen - Interaktiver Betrieb: kurze Antwortzeiten -> bevorzuge Prozesse, die auf E/A gewartet haben und nun rechenbereit sind - Echtzeitbetrieb: Einhaltung von Zeitvorgaben -> bevorzuge Prozesse, deren Ausführungsfristen ablaufen Nicht-präemptives - Prozeß darf so lange rechnen, bis er freiwillig CPU aufgibt oder blockiert -> sinnvoll bei Stapelverarbeitung Präemptives - Scheduler kann Prozeß die CPU zwangsweise entziehen, wenn anderer Prozeß (mit höherer Priorität) rechenbereit geworden ist - nach Ablauf einer bestimmten Zeit -> unterstützt interaktive Systeme und Echtzeitsysteme Folie 115 -Zeitpunkte Folie 116 -Verfahren: FCFS - First Come, First Served bei Beendigung eines Prozesses bei freiwilliger CPU-Aufgabe eines Prozesses bei Blockierung eines Prozesses bei Erzeugung eines Prozesses bei E/A-Interrupt - evtl. werden blockierte Prozeße rechenbereit regelmäßig bei Timer-Interrupt Nicht-präemptives Verfahren Der am längsten wartende bereite Prozess darf als nächstes rechnen nach Aufhebung einer Blockierung reiht sich ein Prozeß wieder hinten in die Warteschlange ein

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Betriebssysteme I WS 2013/2014 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 16. Januar 2014 Betriebssysteme / verteilte Systeme Betriebssysteme

Mehr

Systeme 1. Kapitel 5. Scheduling

Systeme 1. Kapitel 5. Scheduling Systeme 1 Kapitel 5 Scheduling Scheduling Verteilung und Zuweisung von begrenzten Ressourcen an konkurrierende Prozesse Beispiel: -> Zeitablaufsteuerung Zwei Prozesse zur gleichen Zeit rechenbereit auf

Mehr

5) Realzeitscheduling

5) Realzeitscheduling Inhalte Anforderungen Klassifizierungen Verschiedene Verfahren: FIFO, Round Robin, Least Laxity, EDF, fixed/dyn. Prio. Beispiele und Aufgaben Seite 1 Motivation Gegeben: Ein Einprozessorsystem, das Multiprogrammierung

Mehr

CPU-Scheduling - Grundkonzepte

CPU-Scheduling - Grundkonzepte CPU-Scheduling - Grundkonzepte Sommersemester 2015 Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen

Mehr

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden.

Datentechnik. => Das Rechenergebnis ist nur dann sinnvoll, wenn es rechtzeitig vorliegt. Die Zeit muß daher beim Programmdesign berücksichtigt werden. 5. Steuerung technischer Prozesse 5.1 Echtzeit (real time) Im Gegensatz zu Aufgabenstellungen aus der Büroumgebung, wo der Anwender mehr oder weniger geduldig wartet, bis der Computer ein Ergebnis liefert

Mehr

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 7 Scheduling. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 7 Scheduling Maren Bennewitz Version 23.01.2013 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 4 Prozesse Maren Bennewitz Version 20.11.2013 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Wdhlg.: Attributinformationen in

Mehr

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7

Echtzeitprogrammierung und Echtzeitverhalten von Keil RTX. Frank Erdrich Semester AI 7 Echtzeitprogrammierung und Echtzeitverhalten von Frank Erdrich Semester AI 7 Inhalt Einleitung Echtzeit und Echtzeitsysteme Echtzeitprogrammierung Real-Time Operating System Keil RTOS RTX Zusammenfassung

Mehr

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

Scheduling in Echtzeitbetriebssystemen. Prof. Dr. Margarita Esponda Freie Universität Berlin Scheduling in Echtzeitbetriebssystemen Prof. Dr. Margarita Esponda Freie Universität Berlin Echtzeitsysteme Korrekte Ergebnisse zum richtigen Zeitpunkt Hart Echtzeitsysteme Eine verspätete Antwort ist

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten

Mehr

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme

OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme OSEK / OSEKtime Ausgewählte Kapitel eingebetteter Systeme Wilhelm Haas Wilhelm.Haas@informatik.stud.uni-erlangen.de Friedrich-Alexander-Universität Erlangen-Nürnberg Institut für Informatik Lehrstuhl 4

Mehr

Round-Robin Scheduling (RR)

Round-Robin Scheduling (RR) RR - Scheduling Reigen-Modell: einfachster, ältester, fairster, am weitesten verbreiteter Algorithmus Entworfen für interaktive Systeme (preemptives Scheduling) Idee: Den Prozessen in der Bereitschaftsschlange

Mehr

Operating System Kernels

Operating System Kernels Operating System Kernels von Patrick Bitterling 1 Themenübersicht -Eine Einleitung über Kernel -Begriffserklärung, Architekturen -Kernel Subsysteme -Prozess-Scheduling, Speichermanagement,... -Der Networking

Mehr

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse)

Begriff: Scheduling Planung, Schedule Plan. Verplanung der CPU-Zeit an die Threads (bzw. Prozesse) 5 CPU-Scheduling Im folgenden wird von Threads gesprochen. Bei Systemen, die keine Threads unterstützen, ist der einzige "Thread" eines Prozesses gemeint. Früher wurde dieser Thread synonym mit dem Begriff

Mehr

Vorbereitung zur Prüfung Echtzeitbetriebssysteme

Vorbereitung zur Prüfung Echtzeitbetriebssysteme Vorbereitung zur Prüfung Echtzeitbetriebssysteme Zugelassene Hilfsmittel: Taschenrechner Bitte verwenden Sie keinen roten Farbstift! 1. Echtzeitbetriebssysteme - Allgemein (15 Punkte) 1.1. Warum setzen

Mehr

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

Task A Zündung. Task B Einspritzung. Task C Erfassung Pedalwert. J. Schäuffele, Th. Zurawka: Automotive Software Engineering, Vieweg, 2003 Task! evt. parallel zu bearbeitende Ausführungseinheit! Beispiel: Task A Zündung Task B Einspritzung Task C Erfassung Pedalwert Zeit t J. Schäuffele, Th. Zurawka:, Vieweg, 2003 Echtzeitbetriebssysteme

Mehr

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2

Kapitel I Betriebssysteme: Aufgaben und Überblick Betriebssysteme: VO Betriebssysteme 2 Vorlesung: Betriebssysteme T. Fahringer Institut für Informatik Universität Innsbruck VO Betriebssysteme Thomas.Fahringer@uibk.ac.at 1 Kapitel I Betriebssysteme: Aufgaben und Überblick VO Betriebssysteme

Mehr

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads

Prozesse und Prozessmanagement des BS. 1 Unterschied Prozess, Threads. 1.1 Prozess. 1.2 Threads Prozesse und Prozessmanagement des BS 1 Unterschied Prozess, Threads 1.1 Prozess Bei jedem Programm muss gespeichert werden, welche Betriebsmittel (Speicherplatz, CPU- Zeit, CPU-Inhalt,...) es benötigt.

Mehr

Prozesse und Scheduling

Prozesse und Scheduling Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen

Mehr

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012

Übung zu Grundlagen der Betriebssysteme. 7. Übung 27.11.2012 Übung zu Grundlagen der Betriebssysteme 7. Übung 27.11.2012 Threads Thread (Faden des (Kontrollflusses)): ist ein sequentieller Abarbeitungsablauf (Kontrollfluss) innerhalb eines Prozesses. Umfasst ein

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche

Mehr

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012

Scheduling. Prozess-Ablaufplanung. Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduling Prozess-Ablaufplanung Prof. Dr. Margarita Esponda Freie Universität Berlin WS 2011/2012 Scheduler Der Scheduler ist ein besonders wichtiges Programmteil jedes Betriebssystems. Prozesse P 1 P

Mehr

Der Scheduler von Windows Konzepte und Strategien

Der Scheduler von Windows Konzepte und Strategien Gliederung Der Scheduler von Windows Konzepte und Strategien Daniel Lohmann 1 Grundbegriffe 2 Eigenschaften des Schedulers Grundlegende Eigenschaften Prioritätenmodell Dynamische Prioritätenanpassungen

Mehr

Betriebssysteme (BTS)

Betriebssysteme (BTS) 9.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 10.5.2007 Exkursion Die Exkursion wird am Freitag, den 18.5.2007

Mehr

Echtzeitscheduling (1)

Echtzeitscheduling (1) Echtzeitscheduling (1) Scheduling in Betriebssystemen Ressourcenausteilung (CPU, Speicher, Kommunikation) Faire Ressourcenvergabe, insbesondere CPU Hohe Interaktivität / kurze Reaktionszeit für interaktive

Mehr

Betriebssysteme II SS 2012. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 23.

Betriebssysteme II SS 2012. Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404. Stand: 23. Betriebssysteme II SS 2012 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 23. April 2014 Betriebssysteme / verteilte Systeme Betriebssysteme II (1/13)

Mehr

Seminar: Mobile Geräte QNX Einführung

Seminar: Mobile Geräte QNX Einführung Seminar: Mobile Geräte QNX Einführung Vortragender: Alex Maurer 2010/2011 Philipps Universität Marburg Echtzeitbetriebssystem QNX QNX ist ein RTOS (Real Time OS) vorhersagbares Zeitverhalten niedrige Latenz

Mehr

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems

Aufbau eines Echtzeit-Betriebssystems für Embedded Systems Aufbau eines Echtzeit-Betriebssystems für Embedded Systems I. Begriffsdefinition II. Anforderungen III. Struktur und Komponenten Dr.-Ing. Ludwig Eckert, Seite 1 I. Begriffsdefinition: Embedded System Bsp.:

Mehr

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?

Was machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161? Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1

Mehr

Verteilte Echtzeit-Systeme

Verteilte Echtzeit-Systeme - Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 9: Scheduling gemischter Prozessmengen CSI Technische Universität Ilmenau www.tu-ilmenau.de

Mehr

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind

Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme

Mehr

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien

Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Friedrich-Alexander-Universität Erlangen-Nürnberg Ausgewählte Kapitel eingebetteter Systeme Echtzeitfähige Ereignisgetriebene Scheduling-Strategien Sven Kerschbaum 1. Einführung Bei einem eingebetteten

Mehr

2 Echtzeitbetriebssysteme

2 Echtzeitbetriebssysteme 35 2 Echtzeitbetriebssysteme In den letzten Jahren hat sich die Automobilindustrie zu einem der wesentlichen Anwender von Echtzeitbetriebssystemen für eingebettete Systeme entwickelt. Relativ zeitig erkannten

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 1: Prozesse und Threads Aufgabe 1: Prozesse und Threads a) Wie verhält sich eine Applikation die aus mehreren Prozessen

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 6. Übung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Agenda Vorstellung

Mehr

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008

Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Name: Matrikel-Nr: Prüfung VO Betriebssysteme SS2008 / 7. Juli 2008 Bitte schreiben Sie leserlich und antworten Sie kurz und präzise. 1. Zeichnen Sie das Schichten-Modell eines Computersystems und markieren

Mehr

13. Übung mit Musterlösung

13. Übung mit Musterlösung 13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten

Mehr

Real-Time Operating Systems Ein Überblick

Real-Time Operating Systems Ein Überblick 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

Mehr

Quantitative Methoden. Betriebssysteme

Quantitative Methoden. Betriebssysteme Quantitative Methoden Betriebssysteme Problem und Gegenstand Problem Erfüllen von QoS-Anforderungen mit zeit- bzw. größenbeschränkten Ressourcen Gegenstand Scheduling basierend auf deterministischen Modellen

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Speicherverwaltung Aufgaben der Speicherverwaltung wichtigstes Betriebsmittel - neben dem Prozessor: Speicher Sowohl die ausführbaren Programme selbst als auch deren Daten werden in verschiedenen Speicherbereichen

Mehr

8. Vorlesung Betriebssysteme

8. Vorlesung Betriebssysteme Dr. Christian Baun 8. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/69 8. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik wolkenrechnen@gmail.com Dr. Christian

Mehr

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet.

Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozessverwaltung Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) von einem Rechner abgearbeitet. Prozesse sind Abfolgen von Aktionen, die unter Kontrolle

Mehr

Domänenmodell: Fadenkommunikation und -synchronisation

Domänenmodell: Fadenkommunikation und -synchronisation Domänenmodell: Fadenkommunikation und -synchronisation Alexander Humphreys, Reinhard Rösch, Fabian Scheler 15. Mai 2003 Inhaltsverzeichnis 1 Domänendefinition 1 2 Domänenlexikon 1 3 Konzeptmodelle 4 4

Mehr

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition)

Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Ein Prozess kann unmittelbar vom Zustand 1. Running in den Zustand Ready 2. Running in den Zustand Blocked 3. Ready in den Zustand Running Klausurvorbereitung VS1 (Prof. Brecht) (B0rg Edition) Der Adressraum

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Lösungsskizzen zur Abschlussklausur Betriebssysteme Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,

Mehr

3. Scheduler und Schedulingstrategien

3. Scheduler und Schedulingstrategien 5 3 Scheduler und Schedulingstrategien Unter Scheduling versteht man einen Ablaufplan, einen Fahrplan oder eine Auswahlstrategie, nach der ein knappes Betriebsmittel im Wettbewerb befindlichen Prozessen

Mehr

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4.

Scheduling. Gliederung. Was ist Scheduling? Scheduling. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3. Interrupts. 4. Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts 4. 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung Cl. Schnörr / HM 1 Gliederung Cl. Schnörr / HM 2 Was

Mehr

TIMI: Technische Informatik für Medieninformatiker

TIMI: Technische Informatik für Medieninformatiker TIMI: Technische Informatik für Medieninformatiker Bachelor-Studiengang Digitale Medien Medieninformatik SS 2004 Niels Pollem Arbeitsgruppe Rechnernetze (Prof. Dr.-Ing. Ute Bormann) Scheduling:

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

RTEMS- Echtzeitbetriebssystem

RTEMS- Echtzeitbetriebssystem RTEMS- Echtzeitbetriebssystem Name: Hussein Hammoud Matrikel- Nr.: 230768 Studiengang: Technische Informatik Fach: Projekt Eingebettete Kommunikation Technische Universität Berlin Sommersemester 2006 RTEMS-

Mehr

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

Architektur Verteilter Systeme Teil 2: Prozesse und Threads Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =

Mehr

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst

5 CPU Scheduling. FH Regensburg BT/SS04 Betriebssysteme Wirtschaftsinformatik. 5.1 Grundlagen - 54 - 5.1.1 CPU Burst / I/O Burst FH Regensburg BT/SS04 5 CPU Scheduling 5.1 Grundlagen 5.1.1 CPU Burst / I/O Burst Beobachtung: Programme rechnen typischerweise etwas, dann tätigen sie Ein/Ausgabe: CPU-Burst: das Programm rechnet eine

Mehr

Prozessor (CPU, Central Processing Unit)

Prozessor (CPU, Central Processing Unit) G Verklemmungen G Verklemmungen Einordnung: Prozessor (CPU, Central Processing Unit) Hauptspeicher (Memory) Ein-, Ausgabegeräte/ Periphere Geräte (I/O Devices) externe Schnittstellen (Interfaces) Hintergrundspeicher

Mehr

Ethernet als Bus für Echtzeitanwendungen im Automobil:

Ethernet als Bus für Echtzeitanwendungen im Automobil: Ethernet als Bus für Echtzeitanwendungen im Automobil: Konzepte aus der Automatisierungsbranche Hochschule für Angewandte Wissenschaften Hamburg Anwendungen 1 WS 08/09 16. Dezember 2008 Wie alles began

Mehr

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung

Thread-Erzeugung kostengünstiger als Prozesserzeugung Thread-Umschaltung kostengünstiger als Prozessumschaltung 1.5 Threaded Server Server als ein Prozess mit mehreren Threads Threads Thread als Aktivitätsträger virtueller Prozessor eigener Programmzähler eigener Stackbereich eingebettet in den Kontext eines Prozesses

Mehr

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.4. B.4 Betriebssysteme. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Betriebssysteme Betriebssysteme 2002 Prof. Dr. Rainer Manthey Informatik II 1 Bekannte Betriebssysteme Windows 2000 CMS UNIX MS-DOS OS/2 VM/SP BS 2000 MVS Windows NT Solaris Linux 2002 Prof. Dr. Rainer

Mehr

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1

B.5 Prozessverwaltung B.5. Prozessverwaltung. 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozessverwaltung Prozessverwaltung 2002 Prof. Dr. Rainer Manthey Informatik II 1 Prozesse Programme werden durch den Ablauf eines oder mehrerer Prozesse (engl.: process, task) ) von einem Rechner abgearbeitet.

Mehr

Übung I Echtzeitbetriebssysteme

Übung I Echtzeitbetriebssysteme Übung I Echtzeitbetriebssysteme a) Von welchen drei Faktoren hängt bei der Echtzeitverarbeitung das korrekte Ergebnis ab? b) Wann ist ein System echtzeitfähig? c) Was versteht man unter Harter und Weicher

Mehr

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis...

A Kompilieren des Kernels... 247. B Lineare Listen in Linux... 251. C Glossar... 257. Interessante WWW-Adressen... 277. Literaturverzeichnis... 1 Einführung................................................ 1 1.1 Was ist ein Betriebssystem?............................... 1 1.1.1 Betriebssystemkern................................ 2 1.1.2 Systemmodule....................................

Mehr

Betriebssysteme und Systemsoftware

Betriebssysteme und Systemsoftware Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments

Mehr

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle

Scheduler. Optimierung des Schedulings. Gliederung. Allgemeine Ziele. Synchronisationsprotokolle Aufgabe: Zuteilung der auf die CPU Automatisches Entwurfs- und Entwicklungssystem für harte Echtzeitsysteme Zuteilungsstrategien: Satz Jan Blumenthal 20.02.2003 Zyklisch 4 Gliederung Optimierung des Schedulings

Mehr

Dämon-Prozesse ( deamon )

Dämon-Prozesse ( deamon ) Prozesse unter UNIX - Prozessarten Interaktive Prozesse Shell-Prozesse arbeiten mit stdin ( Tastatur ) und stdout ( Bildschirm ) Dämon-Prozesse ( deamon ) arbeiten im Hintergrund ohne stdin und stdout

Mehr

SPS (Fragenkatalog - Dipl.-Ing. U. Held. Inhaltsverzeichnis

SPS (Fragenkatalog - Dipl.-Ing. U. Held. Inhaltsverzeichnis Inhaltsverzeichnis 1. Die wichtigsten Anforderungen an eine SPS ist schnelle Signalverar-beitung. Erläutern Sie ausführlich, welche Signale eine SPS verarbeiten kann und wie diese Verarbeitung funktioniert!

Mehr

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum

Moderne Betriebssysteme. Kapitel 8. Kapitel 8. Folie: 1. Multiprozessorsysteme. Autor: Andrew S. Tanenbaum Moderne Betriebssysteme Kapitel 8 Multiprozessorsysteme Kapitel 8 Folie: 1 Multiprozessorsysteme Autor: Andrew S. Tanenbaum Pearson Studium 2009 2 3 4 5 6 7 Betriebssystemarten für Multiprozessoren Jede

Mehr

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG

Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Ein Scheduler für alle Fälle Robert Kaiser, SYSGO AG Am Pfaffenstein 14 D-55270 Klein-Winternheim Tel. +49 (0) 6136 9948-0 Fax. +49 (0) 6136 9948-10 PikeOS: multiple VM Umgebung VM #0 VM #1 VM #2... PikeOS

Mehr

20 Eingebettete Software

20 Eingebettete Software 20 Eingebettete Software 20.0 Einführung Lernziele Echtzeitsysteme Eingebettete Systeme 20.1 Entwurf eingebetteter Systeme Modellierung von Echtzeitsystemen Programmierung von Echtzeitsystemen 20.2 Architekturmuster

Mehr

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant? Übersicht Aktuelle Themen zu Informatik der Systeme: Nebenläufige Programmierung: Praxis und Semantik Einleitung 1 2 der nebenläufigen Programmierung WS 2011/12 Stand der Folien: 18. Oktober 2011 1 TIDS

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt für Systemprogrammierung WS 06/07 Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware

Mehr

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET

SurefireKernel ÜBERSICHT SPEZIFIKATION. www.triadem.ch. Sicherheitskernel DATASHEET Sicherheitskernel ÜBERSICHT SurefireKernel ist ein schlanker skalierbarer nicht preemptiver Echtzeit-Kernel der für den Einsatz auf Kontrollersysteme optimiert ist. Er verfügt über eine Realtime-Überwachung

Mehr

Verbessertes Konzept: Monitore

Verbessertes Konzept: Monitore Verbessertes Konzept: Monitore Ein Nachteil von Semaphoren ist die Notwendigkeit zur expliziten Anforderung P und Freigabe V des kritischen Bereiches durch den Programmierer Vergißt der Entwickler z.b.

Mehr

Grundlagen verteilter Systeme

Grundlagen verteilter Systeme Universität Augsburg Insitut für Informatik Prof. Dr. Bernhard Bauer Wolf Fischer Christian Saad Wintersemester 08/09 Übungsblatt 5 26.11.08 Grundlagen verteilter Systeme Lösungsvorschlag Aufgabe 1: Erläutern

Mehr

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen

Betriebssysteme. 4y Springer. Eine kompakte Einführung mit Linux. Albrecht Achilles. Mit 31 Abbildungen Albrecht Achilles 2008 AGI-Information Management Consultants May be used for personal purporses only or by libraries associated to dandelon.com network. Betriebssysteme Eine kompakte Einführung mit Linux

Mehr

(b) Worin besteht der Unterschied zwischen online und offline Scheduling?

(b) Worin besteht der Unterschied zwischen online und offline Scheduling? Universität Paderborn Fachgebiet Rechnernetze SoSe 2013 Konzepte und Methoden der Systemsoftware Präsenzübung 3 2013-05-06 bis 2013-05-10 Aufgabe 1: Scheduling - Grundbegriffe Bekanntlich gibt es für das

Mehr

Musterlösung Prüfung SS 2002

Musterlösung Prüfung SS 2002 Musterlösung Prüfung SS 2002 Fach: I4neu (SEE, KOS, GRS, BTS) Teilprüfung: Betriebssystem Tag: 2.7.2002 8:15 12:15 Raum 1006 Bearbeitungszeit: 72 Minuten Name:... Matr.Nr.:... Punkte:... Note:... Hilfsmittel:

Mehr

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem)

Von der Platte zur Anwendung (Platte, Treiber, Dateisystem) (Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren

Mehr

Kapitel 2: Betriebssysteme

Kapitel 2: Betriebssysteme LUDWIG- MAXIMILIANS- UNIVERSITY MUNICH DEPARTMENT INSTITUTE FOR INFORMATICS Skript zur Vorlesung: Einführung in die Informatik: Systeme und Anwendungen Sommersemester 2013 Kapitel 2: Betriebssysteme Vorlesung:

Mehr

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002

Die L4-Mikrokern. Mikrokern-Familie. Hauptseminar Ansätze für Betriebssysteme der Zukunft. Michael Steil. Michael Steil 18.04.2002 Die L4-Mikrokern Mikrokern-Familie Hauptseminar Ansätze für Betriebssysteme der Zukunft 18.04.2002 Folie 1 Aufbau des Vortrags 1. Mikrokerne: Idee und Geschichte 2. L4: ein schneller Mikrokern 3. L4Linux:

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

Reaktive Systeme und synchrones Paradigma

Reaktive Systeme und synchrones Paradigma Sascha Kretzschmann Freie Universität Berlin Reaktive Systeme und synchrones Paradigma Einführung in das Seminar über synchrone Programmiersprachen Worum geht es? INHALT 2 Inhalt 1. Einleitung - Wo befinden

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016 Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i

Mehr

POSIX Echtzeit: Kernel 2.6 und Preempt-RT

POSIX Echtzeit: Kernel 2.6 und Preempt-RT POSIX Echtzeit: Kernel 2.6 und Preempt-RT Slide 1 - http://www.pengutronix.de - 21.01.2007 Echtzeit-Systemplanung Wenn das zeitliche Verhalten spezifiziert ist, kann auch spezifiziert werden, welche Applikationsteile

Mehr

Hausübung 2(Musterlösung)

Hausübung 2(Musterlösung) SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 2(Musterlösung) 2014-05-12 bis 2014-05-23 Hausübungsabgabe: Format: Lösungen in schriftlicher

Mehr

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen

Mehr

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss Systeme 1 Kapitel 6 Nebenläufigkeit und wechselseitiger Ausschluss Threads Die Adressräume verschiedener Prozesse sind getrennt und geschützt gegen den Zugriff anderer Prozesse. Threads sind leichtgewichtige

Mehr

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling

Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling Betriebssysteme Kap F: CPU-Steuerung CPU-Scheduling 1 termini technici Der englische Fachausdruck scheduler wurde eingedeutscht : Der Scheduler Für scheduling ist im Deutschen auch zu verwenden: Ablaufplanung

Mehr

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg

Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene. Andi Drebes Fachbereich Informatik Universität Hamburg Schedulingalgorithmen Rechenzeitverteilung auf Betriebssystemebene Andi Drebes Fachbereich Informatik Universität Hamburg Gliederung Notwendigkeit des Schedulings Einführung: Begriff des Multitaskings

Mehr

Echtzeitanforderung und Linux

Echtzeitanforderung und Linux Echtzeitanforderung und Linux Slide 1 - http://www.pengutronix.de - 21.01.2007 Definition Harte Echtzeit I Was zeichnet ein Echtzeitsystem aus? Zeitverhalten ist Teil der System-Spezifikation! Bei Embedded-Systemen

Mehr

Teil VIII Von Neumann Rechner 1

Teil VIII Von Neumann Rechner 1 Teil VIII Von Neumann Rechner 1 Grundlegende Architektur Zentraleinheit: Central Processing Unit (CPU) Ausführen von Befehlen und Ablaufsteuerung Speicher: Memory Ablage von Daten und Programmen Read Only

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr

OSEKtime - Time-Triggered OSEK/OS

OSEKtime - Time-Triggered OSEK/OS OSEKtime - Time-Triggered OSEK/OS Gregor Kaleta gregor.kaleta@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung OSEKtime Task-Zustandsmodell, Scheduling-Verfahren Interrupt-Verarbeitung

Mehr

Softwarelösungen: Versuch 4

Softwarelösungen: Versuch 4 Softwarelösungen: Versuch 4 Nichtstun in Schleife wird ersetzt durch zeitweilige Zurücknahme der Anforderung, um es anderen Prozessen zu erlauben, die Ressource zu belegen: /* Prozess 0 */ wiederhole flag[0]

Mehr

Windows CE. Process Control and Robotics. Fabian Garagnon

Windows CE. Process Control and Robotics. Fabian Garagnon Windows CE Process Control and Robotics Fabian Garagnon 14.01.2009 Agenda 3 Geschichte & Timeline Echtzeit & Multithreading Architektur Memory Management & Context Switch Entwicklung unter CE Interrupts

Mehr

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht

Betriebssystem? Übersicht. Ziele. Grundlagen. Das ist nur die Oberfläche... Wissen, was man unter einem Betriebssystem versteht Betriebssysteme Grundlagen Quellen: InSy Folien zum Thema Unix/Linux Wikipedia Das ist nur die Oberfläche... 1 Ziele 2 Übersicht Wissen, was man unter einem Betriebssystem versteht Was Was ist istein einbetriebssystem?

Mehr

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen

Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Center for Information Services and High Performance Computing (ZIH) Theorie und Einsatz von Verbindungseinrichtungen in parallelen Rechnersystemen Hochgeschwindigkeitskommunikationen 13. Juli 2012 Andy

Mehr

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011

Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme. Eine Einführung. Klaus Kusche, Okt. 2011 Real Time Operating Systems (RTOS) = Echtzeit-Betriebssysteme Eine Einführung Klaus Kusche, Okt. 2011 Ziele des Vortrags Überblick über das Thema Praktisches Verständnis von Anforderungen Problembereichen

Mehr

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort

Was machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität

Mehr

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme

C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme C. Betriebssystem-Strukturen C.1 Monolithische Betriebssysteme Sammlung von Routinen, ohne Hierarchie, Kapselung und Schichtung. Jede Prozedur kann beliebige andere Prozeduren aufrufen und Datenstrukturen

Mehr

9. Verwaltung von Ein- und Ausgabegeräten

9. Verwaltung von Ein- und Ausgabegeräten 9. Verwaltung von Ein- und Ausgabegeräten 9.1 Ein- und Ausgabegeräte Es existiert eine Vielzahl unterschiedlicher Geräte und Anwendungen. Dadurch wird eine konsistente, allgemeingültige Lösung erschwert.

Mehr

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen

Prozeß P1 Prozeß P2. Zur Synchronisation stehen den beiden Prozessen binäre Semaphore und die beiden Funktionen Seite 8 A UFGABE 11 INTERP ROZEßKOMMUNIKATION Das folgende Petrinetz zeigt zwei verkoppelte Prozesse P1 und P2. Die Transitionen a und b beschreiben Aktionen von P1, die Transitionen c und d Aktionen von

Mehr