5 Echtzeit-Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "5 Echtzeit-Betriebssysteme"

Transkript

1 5 Echtzeit-Betriebssysteme 5.1 Begriffsbestimmung 5.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 5.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 5.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 5.5 Beispiel für Echtzeit-Betriebssysteme 2003, IAS Universität Stuttgart 331 Kapitel 5: Echtzeit-Betriebssysteme Kapitel 5 - Lernziele Wissen, was ein Betriebssystem ist Erklären können, was man unter Betriebsmitteln versteht Die Aufgaben eines Echtzeit-Betriebssystems kennen Verstehen, was Interrupts sind Erklären können, wie die Speicherverwaltung arbeitet Das Vorgehen bei der Entwicklung eines Mini-Betriebssystems kennen Den Aufbau eines Beispiel-Mini-Betriebssystems verstanden haben Wissen, wie das Mini-Betriebssystems funktioniert Die Erweiterungen des Mini-Betriebssystems verstanden haben Die Abläufe im Mini-Betriebssystem nachvollziehen können Eine Übersicht über Echtzeit-Betriebssysteme erhalten 2003, IAS Universität Stuttgart 332

2 5 Echtzeit-Betriebssysteme 5.1 Begriffsbestimmung Was ist ein Betriebssystem? Betriebsmittel Anforderungen an ein Echtzeit-Betriebssystem Kategorien von Echtzeit-Betriebssystemen 5.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 5.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 5.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 5.5 Beispiel für Echtzeit-Betriebssysteme 2003, IAS Universität Stuttgart Was ist ein Betriebssystem? Definition Definition DIN 44300: Betriebssysteme sind die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Grundlage der möglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen Betriebssystem Systematisch aufgebaute Sammlung von Steuerungsund Hilfsprogrammen Zuteilung der vorhandenen Betriebsmittel zu den konkurrierenden Rechenprozessen Scheduling Erleichterung der Bedienung und Programmierung des Rechners und der angeschlossenen Geräte für den Anwender Treiber 2003, IAS Universität Stuttgart 334

3 5.1.1 Was ist ein Betriebssystem? Eigenschaften von Betriebssystemen Realisierung der hardwareabhängigen Aufgaben häufig Mitlieferung vom Hersteller des Rechners effizientes Betriebssystem setzt genaue Kenntnis der Hardwarestruktur voraus vielfach für ganze Rechnerlinie Amortisierung der hohen Entwicklungskosten eines Betriebssystems Größe mehrere Kilo-Bytes bei Mikrorechnern mehrere Mega-Bytes bei Großrechnern Integration klassischer Betriebssystembestandteile in Form von Halbleiterchips 2003, IAS Universität Stuttgart Betriebsmittel Betriebsmittel Objekte, die die Rechenprozesse während des Ablaufs benötigen und auf deren Zuteilung warten müssen Geräteeinheiten Prozessoren Speicher Peripheriegeräte wie Drucker Systemprogramme 2003, IAS Universität Stuttgart 336

4 5.1.3 Anforderungen an ein Echtzeit-Betriebssystem Zeitbedingungen bei der Abwicklung von Rechenprozessen Abschluss bzw. Anstoß von Rechenprozessen zu einem exakten Zeitpunkt zu einem bestimmten Zeitpunkt, aber mit zulässigen Zeittoleranzen zu einem spätesten Zeitpunkt zu einem frühesten Zeitpunkt 2003, IAS Universität Stuttgart Anforderungen an ein Echtzeit-Betriebssystem Beispiele von Zeitbedingungen Anforderung Zeitdiagramm Beispiel feste Zeitpunkte Kennfeldaufnahme an Prüfständen t 1 t 2 t Zeitpunkte mit Toleranzen t 1 t 2 t Erfassung von Regelgrößen bei der direkten digitalen Regelung spätester Zeitpunkt t 1 t Erfassung von Datentelegrammen bei Linienleiter-Systemen frühester Zeitpunkt t 1 t Folgesteuerung bei Chargen-Prozessen 2003, IAS Universität Stuttgart 338

5 5.1.4 Kategorien von Echtzeit-Betriebssystemen Kategorien von Echtzeit-Betriebssystemen (1) Echtzeit-UNIX Kompatibel zu UNIX-System V Einsatz bei Prozessleitsystemen Echtzeit-Kernel UNIX-kompatibler Mikro-Kernel mit Speicherverwaltung, Interruptverarbeitung, Scheduler, Taskverwaltung, Schnittstellen auf der Basis von TCP/IP optimal an Anforderungen angepasst gut optimierter Code für unterschiedliche Plattformen 2003, IAS Universität Stuttgart Kategorien von Echtzeit-Betriebssystemen Kategorien von Echtzeit-Betriebssystemen (2) Echtzeit-Betriebssystemerweiterungen Erweiterung von MS-DOS-Systemen Bibliothek zur Einhaltung der Echtzeitbedingungen Echtzeit-Betriebssysteme sehr effizient flexibel konfigurierbar an UNIX orientiert 2003, IAS Universität Stuttgart 340

6 5 Echtzeit-Betriebssysteme 5.1 Begriffsbestimmung 5.2 Organisationsaufgaben eines Echtzeit-Betriebssystems Aufbau und Eigenschaften eines Echtzeit-Betriebssystems Rechenprozess-Verwaltung Interrupt-Verwaltung Speicherverwaltung Ein-/Ausgabesteuerung Fehlerbehandlung und (Wieder-) Anlauf 5.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 5.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 5.5 Beispiel für Echtzeit-Betriebssysteme 2003, IAS Universität Stuttgart Aufbau und Eigenschaften Aufgaben eines Echtzeit-Betriebssystemen Verwaltung von Rechenprozessen und Betriebsmitteln unter Erfüllung der Forderungen nach Rechtzeitigkeit, Gleichzeitigkeit und Effizienz Betriebssystemfunktionen Organisation des Ablaufs der Rechenprozesse (Scheduling) Organisation der Interruptverwaltung Organisation der Speicherverwaltung Organisation der Ein-/Ausgabe Organisation des Ablaufs bei irregulären Betriebszuständen und des (Wieder-) Anlaufs 2003, IAS Universität Stuttgart 342

7 5.2.1 Aufbau und Eigenschaften Schichtenarchitektur eines AT-Computersystems Automatisierungs-Computer Rechenprozesse und Betriebsmittel Echtzeit-Betriebssystem Betriebssystemkern (Mikrokernel) konfigurierbarer Zusatz Computer-Hardware 2003, IAS Universität Stuttgart Aufbau und Eigenschaften Automatisierungs-Computersystem Automatisierungsprogramme Rechenprozess 1 Rechenprozess 2 Rechenprozess n Betriebsmittel Betriebsmittel 1 Betriebsmittel 2 Betriebsmittel m Echtzeit-Betriebssystem Verwaltung der Rechenprozesse: Verwaltung der Betriebsmittel: anmelden, beauftragen, einplanen, beenden, usw. bekanntgeben, erzeugen, anfordern, belegen, freigeben, usw. 2003, IAS Universität Stuttgart 344

8 5.2.2 Rechenprozess-Verwaltung Rechenprozess-Verwaltung Arten von Rechenprozessen Anwenderprozesse Systemprozesse zentrale Protokollierung Verwaltung von Speichermedien Null-Prozess Aufgaben bei der Rechenprozess-Verwaltung Koordinierung des Ablaufs von Anwender- und Systemprozessen Parallelbetrieb möglichst vieler Betriebsmittel Abarbeitung von Warteschlangen bei Betriebsmitteln Synchronisierung von Anwender-Systemprozessen Vermeidung, Entdeckung und Behebung von Deadlocks 2003, IAS Universität Stuttgart Interrupt-Verwaltung Interrupt-Verwaltung Unterbrechung des geplanten Programmablaufs Beauftragung einer Behandlungsroutine Geplanter Programmablauf: (ohne Interrput) Steuerungsprogramm t Tatsächlicher Ablauf: (mit Interrupt) Steigende Prio Interrupt 1 Steuerungsprogramm ISR 1 Interrupt Service Routine Steuerungsprogramm t 2003, IAS Universität Stuttgart 346

9 5.2.3 Interrupt-Verwaltung Behandlung von Interrupts Erzeugung und Verarbeitung vektorisierter Interrupts Interruptvektor Anstoß einer Interrupt-Routine bei gleichzeitiger Unterbrechung des gerade laufenden Rechenprozesses Priorisierung von Interrupts Hardwarefunktionen für die Interrupt-Behandlung (Mikrosekunden-Bereich) 2003, IAS Universität Stuttgart Speicherverwaltung Warum Speicherverwaltung? Preis von Speicherplatz proportional zur Zugriffsgeschwindigkeit Speicherhierarchie-Ebene optimale Nutzung notwendig Cache-Speicher (besonders schneller Halbleiterspeicher) Arbeitsspeicher Plattenspeicher Diskette Aufgaben der Speicherverwaltung Optimale Ausnutzung der schnellen Speicher Koordinierung des gemeinsamen Zugriffs auf einen Speicherbereich Schutz des Speicherbereichs verschiedener Rechenprozesse gegen Fehlzugriffe Zuweisung von physikalischen Speicheradressen für die logischen Namen in Anwenderprogrammen 2003, IAS Universität Stuttgart 348

10 5.2.4 Speicherverwaltung Zuordnung Name - physikalischer Adresse Compiler Linker Name Adresse relativ zum Programmanfang Adresse relativ zum gebundenen Programm virtuelle Adresse Loader physikalische Adresse 2003, IAS Universität Stuttgart Speicherverwaltung Abbildung virtueller auf physikalische Adressen im Speicher Arbeitsspeicher physikalische Adresse virtuelle Adresse Programm Programm Programm , IAS Universität Stuttgart 350

11 5.2.5 Ein-/Ausgabesteuerung Ein-/Ausgabesteuerung Verschiedenartige Typen von Ein-/Ausgabegeräten Unterscheidung in Geschwindigkeit Unterscheidung in Datenformaten Realisierung der Ein-/Ausgabesteuerung Schnittstelle hardwareabhängig/hardwareunabhängig Hardwareunabhängige Ebene für die Datenverwaltung und den Datentransport Hardwareabhängige Ebene, die alle gerätespezifischen Eigenschaften berücksichtigt (Treiber-Programme) 2003, IAS Universität Stuttgart Fehlerbehandlung und (Wider-) Anlauf Klassifizierung von Fehlern (1) fehlerhafte Benutzereingaben nicht zulässige Eingaben müssen mit Fehlerhinweisen abgelehnt werden fehlerhafte Anwenderprogramme Gewährleistung, dass ein fehlerhaftes Anwenderprogramm keine Auswirkungen auf andere Programme hat 2003, IAS Universität Stuttgart 352

12 5.2.6 Fehlerbehandlung und (Wider-) Anlauf Klassifizierung von Fehlern (2) Hardwarefehler/-ausfälle Erkennung von Hardwarefehlern bzw. -ausfällen Rekonfigurierung ohne die fehlerhaften Teile Abschaltsequenzen bei Stromausfällen Deadlocks aufgrund dynamischer Konstellationen sichere Vermeidung von Deadlocks ist nicht möglich Deadlockerkennung mit Deadlockbehebung durch Entzug von Betriebsmitteln 2003, IAS Universität Stuttgart Echtzeit-Betriebssysteme 5.1 Begriffsbestimmung 5.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 5.3 Entwicklung eines Mini-Echtzeit-Betriebssystems Zielsetzung und Vorgehen Klärung und Festlegung der Aufgabenstellung und der Anforderungen Lösungskonzeption 5.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 5.5 Beispiel für Echtzeit-Betriebssysteme 2003, IAS Universität Stuttgart 354

13 5.3.1 Zielsetzung und Vorgehen Zielsetzung Vorstellung des Aufbaus und der Arbeitsweise eines Echtzeit-Betriebssystems in stark vereinfachter Form Schrittweiser Verzicht der getroffenen Vereinfachungen Vorgehen bei der Entwicklung Klärung der Aufgabenstellung, Festlegung der Anforderungen Fachtechnische Lösungskonzeption Software-Systementwurf Implementierung 2003, IAS Universität Stuttgart Zielsetzung und Vorgehen Vorgehen bei der Entwicklung Software - Systementwurf Klärung und Festlegung der Anforderungen Fachtechnische Lösung konzipieren Grobentwurf des Programmsystems Feinentwurf des Programmsystems Implementierung Lastenheft Pflichtenheft Blockbilder Flussdiagramme Programme in einer Programmiersprache 2003, IAS Universität Stuttgart 356

14 5.3.2 Aufgabenstellung und Anforderungen Aufgabenstellung und Anforderungen Verwaltung von maximal n Rechenprozessen m Rechenprozesse zyklisch k Rechenprozesse durch Interrupt-Signal d.h. n = m + k ein Prozessor zur Ausführung von Operationen keine Optimierung der Abläufe durch Simultanabarbeitung von Rechen- und E/A-Operationen Zeitsignal für zyklische Aktivierung durch internen Taktgeber Taktimpulse in festem Zeitabstand T (z.b. T = 20ms) unterschiedliche Zykluszeiten für die zyklischen Rechenprozesse 2003, IAS Universität Stuttgart Aufgabenstellung und Anforderungen Vereinfachungen, die später stufenweise aufgehoben werden Summe aller Rechenzeiten der Rechenprozesse kleiner als Zeitabstand T Sicherstellung, dass beim nächsten Uhrimpuls-Takt alle Rechenprozesse beendet sind Keine Verwaltung von Tasks, die durch Interrupt angestoßen werden Keine Betriebsmittelverwaltung E/A-Zeiten vernachlässigbar klein nur zyklische Tasks 2003, IAS Universität Stuttgart 358

15 5.3.3 Lösungskonzeption Lösungskonzeption Verfahren der asynchronen Programmierung asynchrone Beauftragung der einzelnen Rechenprozesse keine feste Reihenfolge der Tasks Konfliktstrategie nach Prioritätsnummern Teillösungen Zykluszeitbildung Ableitung der unterschiedlichen Zykluszeiten der Tasks aus dem Uhrimpuls-Takt Zustandsführung der Rechenprozesse Beauftragung der Tasks zu den jeweiligen Zykluszeiten und definierte Beendigung Start der Rechenprozesse Start der Task, die an der Reihe ist 2003, IAS Universität Stuttgart Lösungskonzeption Lösungskonzept des Mini-Betriebssystems Teillösung 1: Zykluszeit Bildung Bilden der Zykluszeiten T 1, T 2,..., T m Idee Teillösung 2: Beauftragung der Rechenprozesse zu den Zeiten T 1,..., T m, und Beenden der Beauftragung Zustandsführung der Rechenprozesse Teillösung 3: Start der Rechenprozesse Starten der beauftragten Rechenprozesse nach Prioritäten 2003, IAS Universität Stuttgart 360

16 5.3.3 Lösungskonzeption Zykluszeit-Bildung Aufgabe: Bildung des Zusammenhangs zwischen den Zykluszeiten T i (i = 1,2,...,m) und der Zeitdauer T Annahme: T i >> T T i = a i T a i ganzzahlige Zykluszeitfaktoren (i=1,2,...,m) Zeitdauervariable Z i (i=1,2,...,m) Eintreffen des Uhrimpuls-Takts verringert Z i um 1 Z i = 0: Zykluszeit T i ist abgelaufen Zurücksetzen von Z i auf den Anfangswert a i 2003, IAS Universität Stuttgart Lösungskonzeption Teillösung 1: Zykluszeit-Bildung Einführung dimensionsloser, ganzzahliger Zykluszeit-Faktoren T 1 = a 1 T a 1 = T 2 = a 2 T a 2 = T m = a m T a m = T 1 T T 2 T T m T Definition von (dimensionslosen) Zeitdauervariablen z 1, z 2,..., z m mit dem Anfangswerten z 1 = a 1 z 2 = a 2 z m = a m Uhrimpulstakt Bei jedem Eintreffen des Uhrimpuls-Taktes im Zeitstand T: Dekrementieren der Variablen z i (vermindern um 1), d.h. Bildung von: z 1 := z 1-1 z 2 := z 2-1 z m := z m , IAS Universität Stuttgart 362

17 5.3.3 Lösungskonzeption Sobald eine Variable z i = 0 geworden ist, ist die betreffende Zykluszeit T i erreicht. Daher wird dieses Ergebnis an die Lösungskomponente 2 gemeldet, die den Rechenprozess i beauftragt (in den Zustand "bereit" bringt). Zu/ von Teillösung 2 Rücksetzen der betreffenden Zeitdauervariablen auf den Anfangswert z i := a i, Fortsetzen mit Lösungskomponente 2. Zu Teillösung , IAS Universität Stuttgart Lösungskonzeption Zustandsführung der Rechenprozesse Aufgabe: Verwaltung der Zustände der Rechenprozesse ruhend bereit blockiert laufend Buchführung über die jeweiligen Zustände Durchführung von Zustandsänderungen 2003, IAS Universität Stuttgart 364

18 5.3.3 Lösungskonzeption Teillösung 2: Zustandsführung der Rechenprozesse von Teillösung 1 zurück zu Teillösung 1 Bei Eintreffen einer Meldung, dass eine Zykluszeit T i abgelaufen ist: Beauftragung des betreffenden Rechenprozesses (in den Zustand "bereit" setzen). von Teillösung 1,wenn alle Zeitdauervariablen bearbeitet sind In der Liste den jenigen Rechenprozess ermitteln, der im Zustand "bereit" ist und der dabei die höchste Priorität aufweist Liste der momentanen Zustände der Rechenprozesse Meldung an die Lösungskomponente 3 (dort wird der betreffende Rechenprozess gestartet). Start-Meldung zu Teillösung 3 Nach Ausführung eines Rechenprozesses: In der Zustands-Liste den Zustand "ruhend" eintragen. Ende-Meldung von Teillösung , IAS Universität Stuttgart Lösungskonzeption Start der Rechenprozesse Aufgabe: Ermittlung der Startadresse Start des Rechenprozesses Beendigung des Rechenprozesses überwachen 2003, IAS Universität Stuttgart 366

19 5.3.3 Lösungskonzeption Teillösung 3: Start der Rechenprozesse Start-Meldung von Teillösung 2 Nach der Meldung von der Lösungskomponente 2: Startadresse des betreffenden Rechenprozesses ermitteln. Start des betreffenden Rechenprozesses (Unterprogramm-Sprung an die Startadresse) Ende-Meldung zu Teillösung 2 Meldung an Lösungskomponente 2, dass Rechenprozess beendet ist. 2003, IAS Universität Stuttgart Echtzeit-Betriebssysteme 5.1 Begriffsbestimmung 5.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 5.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 5.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems Software-Systementwurf (stark vereinfachtes Modell) Erste Erweiterung: Zulassen längerer Rechenzeiten Zweite Erweiterung: Interrupts Dritte Erweiterung: Betriebsmittelverwaltung Übergang zum realen Echtzeit-Betriebssystem 5.5 Beispiel für Echtzeit-Betriebssysteme 2003, IAS Universität Stuttgart 368

20 5.4.1 Software-Systementwurf Software-Systementwurf unter Zugrundelegung der stark vereinfachten Aufgabenstellung Prinzip der schrittweisen Verfeinerung Zerlegung des Mini-Betriebssystemprogramms in Programmteile, die dann wiederum verfeinert werden 2003, IAS Universität Stuttgart Software-Systementwurf Zerlegung des Mini-Echtzeit-Betriebssystemprogramms Teilprogramm ZEIT zur Bildung der unterschiedlichen Zykluszeiten Teilprogramm TASK zur Verwaltung der Rechenprozesse Teilprogramm PROZESSOR Zuteilung des Betriebsmittels Prozessor Start der Rechenprozesse MINI-ECHTZEIT- BETRIEBSSYSTEM Ebene 1 ZEIT- TASK- PROZESSOR- Ebene , IAS Universität Stuttgart 370

21 5.4.1 Software-Systementwurf Zusammenwirken der Teilprogramme MINI-ECHTZEIT-BETRIEBSSYSTEM UHR- IMPULS- TAKT ZEIT- TASK- PROZESSOR- Start eines Rechenprozesses Ende eines Rechenprozesses Symbolik Anstoß (Kontrollfluss) Datenübergabe (Datenfluss) Programm bzw. Programmteil Liste von Daten bzw. einzelner Wert (Date) 2003, IAS Universität Stuttgart Software-Systementwurf Benötigte Listen für die ZEIT (1) Zeitdauervariable Z i zur Zykluszeit-Bildung Liste ZEITZÄHLER Ablage der Zeitdauervariablen z i : z 1 z 2 m Plätze z 3 Liste von Variablen z m 2003, IAS Universität Stuttgart 372

22 5.4.1 Software-Systementwurf Benötigte Listen für die ZEIT (2) Zykluszeit T i für jeden Rechenprozess Liste ZYKLUS Bereitstellen der Zykluszeit-Faktoren a i : a 1 a 2 m Plätze a 3 = T i /T Liste von Konstanten a m 2003, IAS Universität Stuttgart Software-Systementwurf Blockdiagramm des Teilprogramms ZEIT UHRIMPULS- TAKT ZEIT Anstoß TASK ZYKLUS ZEIT- ZÄHLER 2003, IAS Universität Stuttgart 374

23 5.4.1 Software-Systementwurf Liste für TASK und PROZESSOR Zustände und Anfangsadressen der Rechenprozesse SBLOCK Listenstruktur zur Verwaltung der Rechenprozesse SBLOCK B 1 Startadresse 1 B 2 Startadresse 2 m Plätze B 3 B 4 Startadresse 3 Startadresse 4 2dimensionales Feld B m Startadresse m Zustandsbits B i B i = 0: bereit B i = 1: ruhend Anfangsadresse des dem Rechenprozess i zugeordneten Codes (i = 1, 2,..., m) 2003, IAS Universität Stuttgart Software-Systementwurf Zerlegung des Programmteils TASK TASK- Ebene 2 AKTIVIERUNG SUCHE DEAKTIVIE- RUNG Ebene , IAS Universität Stuttgart 376

24 5.4.1 Software-Systementwurf Blockdiagramm der TASK von/zur ZEITVER- WALTUNG AKTIVIERUNG SUCHE zur PROZESSOR- S- BLOCK Auslesen der Startadresse durch die PROZESSOR- DEAKTIVIERUNG Ende des betreffenden Rechenprozesses von der PROZESSOR- 2003, IAS Universität Stuttgart Software-Systementwurf AKTIVIERUNG: DEAKTIVIERUNG: SUCHE: Verändern des Zustandsbits in bereit Verändern des Zustandsbits in ruhend Überprüfung, ob sich eine Task im Zustand bereit befindet Ordnung der Liste SBLOCK ermöglicht einfache Priorisierung Untergliederung PROZESSOR ist nicht notwendig 2003, IAS Universität Stuttgart 378

25 5.4.1 Software-Systementwurf Übersichtsblockdiagramm des Mini-Echtzeit-Betriebssystems UHR- IMPULS- TAKT ZYKLUS ZEIT ZEIT- ZÄHLER AKTIVIERUNG S- BLOCK DEAKTIVIE- RUNG SUCHE PROZESSOR Rechenprozesscode ZEIT TASK 2003, IAS Universität Stuttgart Software-Systementwurf Feinentwicklung in Form von Flussdiagrammen ZEIT UHR- IMPULS- TAKT ZEIT l = 1 ZEITZÄHLER(I) = ZEITZÄHLER(I) -1 ZEIT- ZÄHLER(I) = 0? nein I = M? nein l = I + 1 ja ja Suchen ZEITZÄHLER(I) = ZYKLUS(I) AKTIVIERUNG 2003, IAS Universität Stuttgart 380

26 5.4.1 Software-Systementwurf Flussdiagramm der PROZESSOR PROZESSORVER- WALTUNG (I) Rechenprozess über Startadresse in S- BLOCK (I) starten, d.h. als Unterprogramm aufrufen DEAKTIVIERUNG (I) 2003, IAS Universität Stuttgart Software-Systementwurf Flussdiagramme der Programme TASK AKTIVIERUNG AKTIVIERUNG(I) Adressteil von VERWAL- TUNGSBLOCK (I) = 0? nein ZUSTANDSBIT(I) IN S BLOCK(I) = 0 setzen ja FEHLER- MELDUNG Abfrage, ob Rechenprozess überhaupt vorhanden = bereit Rücksprung 2003, IAS Universität Stuttgart 382

27 5.4.1 Software-Systementwurf SUCHE DEAKTIVIERUNG SUCHE I = 1 DEAKTIVIERUNG(I) ZUSTANDS- BIT(I) von VERWAL- TUNGSBLOCK(I) = 0? nein I = M? nein I = I + 1 ja ja PROZESSORVER- WALTUNG(I) ZUSTANDSBIT(I) in S- BLOCK(I) = 1 setzen SUCHE = ruhend 2003, IAS Universität Stuttgart Erste Erweiterung: Zulassen längerer Rechenzeiten Erste Erweiterung des Systementwurfs Zulassen längerer Rechenzeiten für die Rechenprozesse Beim Eintreffen eines Uhrimpuls-Taktes muss u.u. ein noch laufender Rechenprozess mit längerer Ausführungsdauer und niedrigerer Priorität unterbrochen werden, um einen Rechenprozess höherer Priorität zu starten Programm zur Unterbrechungsverwaltung 2003, IAS Universität Stuttgart 384

28 5.4.2 Erste Erweiterung: Zulassen längerer Rechenzeiten Teilprogramm UNTERBRECHUNGS Aufgabe des Verwaltungsprogramms Rettung der Register des Prozessors eines gerade laufenden Rechenprozesses Programmzähler Akkumulator Zustandsregister Arbeitsregister 2003, IAS Universität Stuttgart Erste Erweiterung: Zulassen längerer Rechenzeiten Erweitertes Hierarchiediagramm nach dem Zulassen längerer Rechenzeiten der Rechenprozesse MINI-ECHTZEIT-BETRIEBSSYSTEM (Erweiterung 1) UNTER- BRECHUNGS- ZEIT- TASK- PROZESSOR- 2003, IAS Universität Stuttgart 386

29 5.4.2 Erste Erweiterung: Zulassen längerer Rechenzeiten Erweiterung der Liste SBLOCK Rechenprozess 1 B 1 Anfangsadresse 1 Startadresse (Programmzählerinhalt) Registerinhalt 1 Registerinhalt 2 Startadresse nach einer Unterbrechung Register- Speicherplätze Rechenprozess 2 B 2 Registerinhalt k Anfangsadresse 2 Startadresse (Programmzählerinhalt) Registerinhalt 1 Registerinhalt 2 Registerinhalt k Rechenprozess m B m Anfangsadresse m Startadresse (Programmzählerinhalt) Registerinhalt 1 Registerinhalt 2 Registerinhalt k 2003, IAS Universität Stuttgart Erste Erweiterung: Zulassen längerer Rechenzeiten Erweiterung des Teilprogramms PROZESSOR vor dem Start eines ablaufbereiten Rechenprozesses laden der Register mit den Inhalten der Liste SBLOCK Erweiterung des Teilprogramms DEAKTIVIERUNG nach Beendigung eines Rechenprozesses laden seiner Anfangsadresse in die Zelle STARTADRESSE und Initialisieren der Registerinhalte im SBLOCK 2003, IAS Universität Stuttgart 388

30 5.4.2 Erste Erweiterung: Zulassen längerer Rechenzeiten Übersichtsdiagramm des Mini-Echtzeit-Betriebssystems Erste Erweiterung: Zulassen längerer Rechenzeiten für die Rechenprozesse ZEIT AKTI- VIERUNG SUCHE UHRIMPULS- INTERRUPT VERWAL- TUNGS- BLOCK Rechenprozesscode ZYKLUS ZEIT- ZÄHLER DEAKTI- VIERUNG UNTER- BRECHUNGS- ZEIT- TASK- PROZESSOR- 2003, IAS Universität Stuttgart Zweite Erweiterung: Interrupts Zweite Erweiterung des Software-Systementwurfs Vorsehen der Möglichkeit von Alarm-Interrupts bis zu k Rechenprozesse, deren Aktivierung von zeitlich nicht vorhersehbaren Alarm-Interrupts ausgelöst wird Erweiterung der UNTERBRECHUNGS Registerrettung bei Uhrimpuls-Interrupts Anstoß der ZEIT bei Alarm-Interrupts Aufruf der AKTIVIERUNG, um dem Alarm-Interrupt zugeordnetes Antwortprogramm in den Zustand bereit zu setzen Anstoß der SUCHE 2003, IAS Universität Stuttgart 390

31 5.4.3 Zweite Erweiterung: Interrupts Übersichtsdiagramm für das Mini-Betriebssystem Zweite Erweiterung: Vorsehen der Möglichkeit von Alarm-Interrupts UHRIMPULS- INTERRUPT ZEIT AKTI- VIERUNG SUCHE externe Interrupts INTERRUPT1 INTERRUPT2 INTERRUPT K ZYKLUS ZEIT- ZÄHLER VERWAL- TUNGS- BLOCK DEAKTI- VIERUNG Rechenprozesscode UNTER- BRECHUNGS- ZEIT- TASK- PROZESSOR- 2003, IAS Universität Stuttgart Dritte Erweiterung: Betriebsmittelverwaltung Dritte Erweiterung des Software-Systementwurfs Betriebsmittelverwaltung für Ein-/Ausgabegeräte E/A-Operationen sind langsamer Analog-Digital-Umsetzer ca. 20 ms Einführung eines Verwaltungsprogramms E/A- Aufgabe: Organisation von langsamen Ein-/Ausgabeoperationen Rechenprozess wird angehalten Prozessor kann andere Rechenprozesse bearbeiten Beendigung der E/A-Operationen ermöglicht Fortsetzung des zugehörigen Rechenprozesses 2003, IAS Universität Stuttgart 392

32 5.4.4 Dritte Erweiterung: Betriebsmittelverwaltung Hierarchiediagramm des Mini-Betriebssystems MINI-ECHTZEIT- BETRIEBSSYSTEM (Erweiterung 3) E/A- UNTER- BRECHUNGS- ZEIT- TASK- PROZESSOR- 2003, IAS Universität Stuttgart Übergang zum realen Echtzeit-Betriebssystem Aufhebung der Vereinfachungen Die Betriebssystemprogramme selbst sind nicht unterbrechbar Die Mehrfachbeauftragung eines Rechenprozesses, d.h. erneute Beauftragung vor der Beendigung, ist ausgeschlossen Eine gegenseitige Beauftragung von Rechenprozessen ist nicht möglich Eine Synchronisierung der Rechenprozesse, z.b. mittels Semaphoroperationen, ist nicht möglich Keine Datenkommunikation zwischen den Rechenprozessen, d.h. kein Austausch von Daten, keine gemeinsame Benutzung von Daten Keine dynamische Änderung der Prioritäten der Rechenprozesse während der Programmdurchführung Rechenprozesse befinden sich im Arbeitsspeicher, Hintergrundspeicher sind nicht vorhanden 2003, IAS Universität Stuttgart 394

33 5 Echtzeit-Betriebssysteme 5.1 Begriffsbestimmung 5.2 Organisationsaufgaben eines Echtzeit-Betriebssystems 5.3 Entwicklung eines Mini-Echtzeit-Betriebssystems 5.4 Software-Systementwurf des Mini-Echtzeit-Betriebssystems 5.5 Beispiel für Echtzeit-Betriebssysteme 2003, IAS Universität Stuttgart Beispiel für Echtzeit-Betriebssysteme Marktübersicht Kriterien bei der Auswahl von Echtzeit-Betriebssystemen Entwicklungs- und Zielumgebung Modularität und Kernelgröße Leistungsdaten Anzahl von Tasks Prioritätsstufen Taskwechselzeiten Interruptlatenzzeit Anpassung an spezielle Zielumgebungen Allgemeine Eigenschaften Schedulingverfahren Intertaskkommunikation Netzwerkkommunikation Gestaltung Benutzungsoberfläche 2003, IAS Universität Stuttgart 396

34 5.5 Beispiel für Echtzeit-Betriebssysteme Auswahl kommerzieller Echtzeit-Betriebssysteme Produkt ERCOS Lynx-OS OS/9 OSE Delta psos PXROS QNX VRTX32 VxWorks Windows CE Hersteller ETAS GmbH Lynx Microware Real-Time System inc. Kategorie Embedded EZBS, EZK, Embedded Sprache Zielsystem Hostsystem Dateisystem 8016x, PowerPC UNIX, Win95, NT ANSI-C, OLT Specificati on Language kein 680x0, 80x86, PowerPC, 88000, i860, MIPS, SPARC, RS6000 UNIX ANSI-C, C++, Pascal, Ada, Modula, Fortran UNIX, FAT, NFS, Real-Time Filesystem 680x0, 80x86, PowerPC, CPU32 UNIX, Windows ANSI-C, C++ FAT ENEA DATA AB EZK, Embedded 680x0, PowerPC, CPU32, AMD29k UNIX, Windows, NT ARS Integrated Systems EZBS, EZK, Embedded 680x0, 80x86, 8016x, PowerPC, CPU32, i960, Hitachi SH, MIPS UNIX, SUN, Windows, NT, OS/2 C, C++ ASM, ANSI-C, C++, Pascal, Ada UNIX, FAT UNIX, FAT, NFS, Real-Time Filesystem HighTec EDV- Systeme EZK, Embedded 80x86, 8016x, PowerPC UNIX, SUN, Windows, NT, OS/2 ANSI-C, C++ UNIX, FAT QNX Software Systems LTD EZBS, EZK, Embedded i386,i486, Pentium, 80286(16 bit) QNX Watcom C, C++, Inline ASM UNIX, FAT, ISO9660 Microtec Research EZBS, EZK, Embedded 680x0, 80x86, SPARC, CPU32, AMD29k, i960 UNIX, SUN, Windows ASM, ANSI-C, C++ UNIX, FAT WindRiver EZBS, EZK, Embedded 680x0, 80x86, PowerPC, CPU32, i960, MIPS, SPARC, AMD29k, Hitachi SH UNIX, Win95, NT ANSI-C, C++, Java, Ada UNIX, FAT Microsoft EZBS Embedded Pentium 80x86, i486 PowerPC MIPS Hitachi S4, ARM Windows CE Win 95 NT Visual C++ Visual Basic Visual J++ FAT 2003, IAS Universität Stuttgart Beispiel für Echtzeit-Betriebssysteme Produkt ERCOS Lynx-OS OS/9 OSE Delta psos PXROS QNX VRTX32 VxWorks Windows CE Netzwerk TCP/IP, NFS TCP/IP, OS/9-net, NeWLink Feldbus CAN CAN, PROFI- BUS, Interbus-S Sonstiges ROMfähig Scheduling preemptiv, prioritätsgesteuert Taskwechselzeit preemptiv, kooperativ, prioritätsgesteuert < 54 µs 8016x (20 MHz) ROMfähig ROMfähig, Multiprozessor, self-hosted preemptiv, prioritätsgesteuert, Round- Robin preemptiv, kooperativ, prioritätsgesteuert, Round- Robin TCP/IP, PPP, SNMP TCP/IP, Netware, OSI 1-7, SNMP CMIP, X.25 CAN ROMfähig, Multiprozessor ROMfähig, Multiprozessor ROMfähig, Multiprozessor, fehlertoler ant preemptiv, preemptiv, prioritätsgesteuert, Round- Robin TCP/IP, NFS CAN, PROFI- BUS preemptiv, prioritätsgesteuert TCP/IP, NFS, SNMP, Streams ROMfähig, Multiprozessor ROMfähig, Multiprozessor, POSIX 1003 kompatibel preemptiv, prioritätsgesteuert, Round- Robin 4,7µs Pentium 166, 11,1us 486DX4 (100MHz), 74,2us 386 (33MHz) TCP/IP, Netware CAN, PROFI- BUS, LON TCP/IP, NFS, SNMP, Streams TCP/IP, PPP bzw. SLIP 2003, IAS Universität Stuttgart 398 preemptiv, prioritätsgesteuert, Round- Robin ROMfähig ROMfähig, Multiprozessor, POSIX 1003 kompatibel preemptiv, prioritätsgesteuert, Round- Robin 17 µs 100 µs

35 Kapitel 5: Echtzeit-Betriebssysteme Frage zu Kapitel 5.2 Betrachten sie zwei unterschiedliche Automatisierungssysteme: ein ereignisgesteuertes System (z.b. Steuerung eines Kaffeeautomaten) ein zeitgesteuertes System (z.b. Bahnregelung eines Roboters) Für welchen Typ von System ist die Interrupt-Verwaltung eines Betriebssystems besonders wichtig? Antwort Bei ereignisgesteuerten Systemen werden die meisten Prozesse durch Interrupts angestoßen. Bei zeitgesteuerten Systemen werden dagegen keine Interrupts ausgelöst, sondern die Ereignisse im Rahmen des nächsten Durchlaufs bearbeitet. 2003, IAS Universität Stuttgart 399 Kapitel 5: Echtzeit-Betriebssysteme Frage zu Kapitel 5.4 In Echtzeit-Betriebssystemen spielen Prozessor-Zuteilungsstrategien (Scheduling-Verfahren) eine wichtige Rolle. a) Welche Aufgaben haben diese Strategien? b) In welchem Programmteil des in der Vorlesung vorgestellten Mini- Betriebssystems kommt eine Prozessorzuteilungsstrategie zum Einsatz und um welche handelt es sich? Antwort a) Diese Strategien dienen zur Bestimmung der Reihenfolge, in der die ablaufbereiten Tasks zur Ausführung gebracht werden. b) Im Programm SUCHE; es wird die Strategie der festen Prioritäten verwendet. Dabei können die Tasks unterbrochen werden (preemptives Scheduling) 2003, IAS Universität Stuttgart 400

6 Echtzeit-Betriebssysteme

6 Echtzeit-Betriebssysteme Kapitel 6: Echtzeit-Betriebssysteme 6 Echtzeit-Betriebssysteme Lernziele: Wissen, was ein Betriebssystem ist Erklären können, was man unter Betriebsmitteln versteht Die Aufgaben eines Echtzeit-Betriebssystems

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

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

Prozessautomatisierungstechnik

Prozessautomatisierungstechnik Mohieddine Jelali Prozessautomatisierungstechnik 4. Echtzeitsysteme und Echtzeitprogrammierung WS 2013/14 Vorlesung: Prozessautomatisierung, Prof. Dr.-Ing. Mohieddine Jelali 1 Inhaltsangaben zu Kapitel

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

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

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

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

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

OSEK / OSEKtime - ein Vergleich

OSEK / OSEKtime - ein Vergleich OSEK / OSEKtime - ein Vergleich Hauptseminar WS 07/08 André Puschmann andre.puschmann@stud.tu-ilmenau.de Technische Universität Ilmenau Fakultät für Informatik und Automatisierung Fachgebiet Rechnerarchitektur

Mehr

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem?

1 Einleitung. 1.1 Aufgaben und Grobstruktur. Was ist ein Betriebssystem? 1 Einleitung 1.1 Aufgaben und Grobstruktur Was ist ein Betriebssystem? Betriebssystem (Definition nach DIN 44300) Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

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

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

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

Prozessinformationsverarbeitung. Echtzeitbetriebssysteme. Professur für Prozessleittechnik Wintersemester 2009/2010

Prozessinformationsverarbeitung. Echtzeitbetriebssysteme. Professur für Prozessleittechnik Wintersemester 2009/2010 Fakultät Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik Prozessinformationsverarbeitung (PIV) Echtzeitbetriebssysteme Professur für Prozessleittechnik Wintersemester 2009/2010

Mehr

Roboter- und Automatisierungstechnik

Roboter- und Automatisierungstechnik Roboter- und Automatisierungstechnik Teil 4: Grundlagen der Echtzeitprogrammierung Hochschule Bremerhaven SS 2007 Prof. Dr. Oliver Zielinski Inhalt 4.1 Problemstellung 4.2 Echtzeitprogrammierverfahren

Mehr

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004

Embedded- und RT-Betriebssysteme. Dipl.-Inf. J. Richling Wintersemester 2003/2004 Embedded- und RT-Betriebssysteme Dipl.-Inf. J. Richling Wintersemester 2003/2004 Überblick Fünfeinhalb Vorlesungen: Embedded- und RT-Betriebssysteme (heute) Beispiel: Windows CE (22.1.04) Beispiel: Windows

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

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

Universität Koblenz-Landau. Fachbereich 4: Informatik. Prof. Dr. Dieter Zöbel. Seminararbeit OSEK/VDX. Seminar Echtzeitsysteme.

Universität Koblenz-Landau. Fachbereich 4: Informatik. Prof. Dr. Dieter Zöbel. Seminararbeit OSEK/VDX. Seminar Echtzeitsysteme. Universität Koblenz-Landau Fachbereich 4: Informatik Prof. Dr. Dieter Zöbel Seminararbeit Seminar Echtzeitsysteme Thema 4 Wintersemester 1999/2000 Von Thorsten Schaub (thorsten@schaub-home.de) 17.12.1999

Mehr

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners

Inhaltsverzeichnis. 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners Inhaltsverzeichnis Systemprogrammierung - Kapitel 1 Einführung 1/19 1.1 Der Begriff des Betriebssystems 1.2 Zur Geschichte der Betriebssysteme 1.3 Aufbau eines Rechners E/A-Operationen, Speicherstrukturen

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

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

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

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab

OSEK-OS. Oliver Botschkowski. oliver.botschkowski@udo.edu. PG AutoLab Seminarwochenende 21.-23. Oktober 2007. AutoLab OSEK-OS Oliver Botschkowski oliver.botschkowski@udo.edu PG Seminarwochenende 21.-23. Oktober 2007 1 Überblick Einleitung Motivation Ziele Vorteile Einführung in OSEK-OS Architektur Task Management Interrupt

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

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

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

Technische Grundlagen. Betriebssystem, Mac, GoLive

Technische Grundlagen. Betriebssystem, Mac, GoLive Technische Grundlagen Betriebssystem, Mac, GoLive Betriebssystem Nutzer Anwendungsprogramme Systemprogramme Hardware U1...Un Textverarbeitungssysteme Buchungssysteme Verwaltungsprogramme Spiele Kommandointerpreter

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

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

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

9 Multithreading. 1 Idee des Multithreading

9 Multithreading. 1 Idee des Multithreading 9 Multithreading Jörn Loviscach Versionsstand: 21. Juli 2015, 11:50 Die nummerierten Felder sind absichtlich leer, zum Ausfüllen beim Ansehen der Videos: http://www.j3l7h.de/videos.html This work is licensed

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

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper

Python Programmierung. Dipl.-Ing.(FH) Volker Schepper Python Programmierung Kontaktdaten Homepage: http://wwwlehre.dhbw-stuttgart.de/~schepper/ Email: Volker. Schepper [A@T] yahoo.de Vorlesung Skriptsprachen Vorlesung: 06.03.2013 13.03.2013 20.03.2013 27.03.2013

Mehr

Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor

Sicherheitsdienste. Schutz von Rechnern und Speichermedien vor Sicherheitsdienste Schutz von Rechnern und Speichermedien vor bewusster Manipulation unbefugtem Zugriff Fehlfunktionen des Systems menschlichem Fehlverhalten # 86 Klassen von Bedrohungen der Sicherheit

Mehr

Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem

Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem Effiziente Ankopplung eines zeitgesteuerten Feldbusses an ein Echtzeitbetriebssystem Björn Pietsch Universität Hannover Amos Albert Robert Bosch GmbH 1 Gliederung Zeitgesteuerte Bussysteme Bisherige Lösungen

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

Echtzeit-Betriebssysteme und -Bussysteme

Echtzeit-Betriebssysteme und -Bussysteme Echtzeit-Betriebssysteme und -Bussysteme Seminar im Wintersemester 2006/07 Steffen H. Prochnow Reinhard von Hanxleden Echtzeitsysteme und Eingebettete Systeme Institut für Informatik und Praktische Mathematik

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

Grundlagen der Informatik. Teil VI Betriebssysteme

Grundlagen der Informatik. Teil VI Betriebssysteme Grundlagen der Informatik Teil VI Betriebssysteme Seite 1 Definition nach DIN: Unter Betriebssystem versteht man alle Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage

Mehr

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte

Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Entwicklung eines Mac OS X Treibers für eine PCI-VME Interface Karte Matthias Lange Informatikstudent, TU-Dresden 27. September 2005 http://www.matze-lange.de Warum entwickelt jemand einen Treiber für

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

4 Planung von Anwendungsund

4 Planung von Anwendungsund Einführung 4 Planung von Anwendungsund Datenbereitstellung Prüfungsanforderungen von Microsoft: Planning Application and Data Provisioning o Provision applications o Provision data Lernziele: Anwendungen

Mehr

Für die Software-Entwicklung von

Für die Software-Entwicklung von Betriebssysteme Embedded Design Für die Software-Entwicklung von Embedded- und Echtzeit-Systemen stehen unterschiedliche Arten von Task-Schedulern zur Auswahl. Sie reichen von einfacher, periodischer Ausführung

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

5.7 Echtzeitbetriebssysteme

5.7 Echtzeitbetriebssysteme 5.7 Echtzeitbetriebssysteme Prof. Dr. Dieter Zöbel, Institut für Softwaretechnik Rheinau 1 D-56075 Koblenz zoebel@uni-koblenz.de http://www.uni-koblenz.de/ zoebel 26. November 2001 I Merkmale von Echtzeitbetriebssystemen

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

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

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

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski

Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS. geschrieben von Oliver Botschkowski Ausarbeitung im Rahmen der PG Autolab zum Thema: OSEK 1 -OS geschrieben von Oliver Botschkowski 1 Offene Systeme und deren Schnittstelle für die Elektronik im Kraftfahrzeug 1 Oliver Botschkowski - OSEK-OS

Mehr

Proseminar Technische Informatik A survey of virtualization technologies

Proseminar Technische Informatik A survey of virtualization technologies Proseminar Technische Informatik A survey of virtualization technologies Referent: Martin Weigelt Proseminar Technische Informatik - A survey of virtualization technologies 1 Übersicht 1. Definition 2.

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

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

4 Echtzeit-Programmierung

4 Echtzeit-Programmierung 4 Echtzeit-Programmierung 4.1 Problemstellung 4.2 Echtzeit-Programmierverfahren 4.3 Rechenprozesse 4.4 Zeitliche Koordinierung von Rechenprozessen 4.5 Kommunikation zwischen Rechenprozessen 4.6 Scheduling-Verfahren

Mehr

Kapitel 2 Betriebssysteme. Für den Rechnerbetrieb notwendige Basissoftware

Kapitel 2 Betriebssysteme. Für den Rechnerbetrieb notwendige Basissoftware Für den Rechnerbetrieb notwendige Basissoftware 1 1. Einleitung 2. Prozessverwaltung 3. Dateiverwaltung 2 1. Einleitung Was ist ein Betriebssystem? Wikipedia: Ein Betriebssystem (engl. Operating System

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

VBA-Programmierung: Zusammenfassung

VBA-Programmierung: Zusammenfassung VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung

Mehr

IT-Sicherheit. Informationssicherheit: IT-Sicherheit bzw. IT-Risikomanagement

IT-Sicherheit. Informationssicherheit: IT-Sicherheit bzw. IT-Risikomanagement IT-Sicherheit Informationssicherheit: Schutz aller Informationen im Unternehmen elektronisch gespeicherte Daten Informationen in nichtelektronischer Form z.b. auf Papier Expertenwissen, in den Köpfen der

Mehr

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

B1 Stapelspeicher (stack)

B1 Stapelspeicher (stack) B1 Stapelspeicher (stack) Arbeitsweise des LIFO-Stapelspeichers Im Kapitel "Unterprogramme" wurde schon erwähnt, dass Unterprogramme einen so genannten Stapelspeicher (Kellerspeicher, Stapel, stack) benötigen

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

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

3.14 Die Programmieroberfläche Programmierung

3.14 Die Programmieroberfläche Programmierung 121 3.14 Die Programmieroberfläche Programmierung Besonderheiten Die Oberflächen der einzelnen Quellen (3S, KW-Software, Siemens-TIA-Portal, logi.cad 3, PAS4000) sind in sich unterschiedlich. Aber auch

Mehr

Schichtenmodell eines Betriebssystems

Schichtenmodell eines Betriebssystems FB Technologie und Management SISD Operanden VonNeumannRechner Rechenwerk Ergebnisse Datenverarbeitung (DV 1) (Kapitel 6 Betriebssysteme) Steuerwerk Speicherwerk Befehle Eingabe Speicher Ausgabe 1 2 Layer

Mehr

OPC UA und die SPS als OPC-Server

OPC UA und die SPS als OPC-Server OPC UA und die SPS als OPC-Server Public 01.10.2010 We software We software Automation. Automation. Agenda Firmenportrait Kurz-Einführung zu OPC Kurz-Einführung zu OPC UA (Unified Architecture) OPC UA

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

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen

Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen Echtzeitbetriebssysteme (am Beispiel QNX) Dr. Stefan Enderle HS Esslingen 1. Einführung 1.1 Embedded Systeme Embedded Systeme besitzen / benutzen einen Mikrocontroller Embedded Systeme erfüllen meist eine

Mehr

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 2 Überblick Betriebssysteme Maren Bennewitz 1 Überblick Betriebssysteme Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten

Mehr

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium

William Stallings. Betriebssysteme. Prinzipien und Umsetzung. 4., überarbeitete Auflage. Pearson Studium William Stallings Betriebssysteme Prinzipien und Umsetzung 4., überarbeitete Auflage Pearson Studium ein Imprint der Pearson Education Deutschland GmbH Inhaltsverzeichnis Vorwort Leitfaden für den Leser

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

Ergänzungen zum Manual OS V 2.05/2.06

Ergänzungen zum Manual OS V 2.05/2.06 Ergänzungen zum Manual OS V 2.05/2.06 SYSTEMRESOURCEN - PROGRAMM DOWNLOAD - Ab der Betriebssystemversion 2.05 haben die C-Control Units M-2.0 und Station 2.0 die Möglichkeit das Anwenderprogramm von einem

Mehr

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP).

Sowohl RTX64 als auch RTX bieten harten Echtzeitdeterminismus und symmetrische Multiprocessing- Fähigkeiten (SMP). Produktbeschreibung Februar 2014 RTX RTOS-Plattform Mit der RTX-Echtzeitsoftware von IntervalZero wird aus Microsoft Windows ein Echtzeitbetriebssystem (RTOS). RTX64 von IntervalZero unterstützt 64-Bit-Betriebssysteme

Mehr

Seminarthema: Realzeitbetriebssysteme. Projektgruppe: Airbag

Seminarthema: Realzeitbetriebssysteme. Projektgruppe: Airbag Seminarthema: Realzeitbetriebssysteme Projektgruppe: Airbag Gliederung: Was bedeutet Realzeit? / Was ist ein Betriebssystem? Wie ist ein Realzeitbetriebssystem charakterisiert? Wie ist ein Betriebssystem

Mehr

1.7 Assembler Programmierung

1.7 Assembler Programmierung 1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet

Mehr

Kapitel 2. Betriebssysteme

Kapitel 2. Betriebssysteme Systeme 1 Kapitel 2 Betriebssysteme WS 2009/10 1 Übersicht Aufgabe von Betriebssystemen Historische Entwicklung von Betriebssystemen Unterschiedliche Arten von Betriebssystemen Komponenten und Konzepte

Mehr

Domänenanalyse Threadverwaltung/Scheduling

Domänenanalyse Threadverwaltung/Scheduling Domänenanalyse Threadverwaltung/Scheduling Johannes Handl, Marc Rößler, Christian Strengert 15. Mai 2003 Domänenanalyse Threadverwaltung/Scheduling [1] Domänendefinition Die Erzeugung, Verwaltung, Umschaltung/Wechsel,

Mehr

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

Mehr

Programmierpraxis mit

Programmierpraxis mit Klaus Kupfemagel Programmierpraxis mit o, Das Buch für den fortgeschrittenen Anwender, Programmierer und Datenbankverwalter technische Hochschule Darmstadt FACHBEREICH INFORMATIK B I B L I O T H E K Inventar-Nr.:.X,.....^...j...

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

- Speicherprogrammierte Steuerung: Realisierung durch ein Programm, welches auf einem SPS-Baustein ausgeführt wird. Regelungs- und Steuerungstechnik

- Speicherprogrammierte Steuerung: Realisierung durch ein Programm, welches auf einem SPS-Baustein ausgeführt wird. Regelungs- und Steuerungstechnik 2 Steuerungstechnik Arten von Steuerungen - Verbindungsprogrammierte Steuerung: Durch geeignete Verbindung von konventionellen Schaltungselementen (Leitungen, Schalter, Relais etc.) wird gewünschtes Steuerungsergebnis

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

Codesigned Virtual Machines

Codesigned Virtual Machines Codesigned Virtual Machines Seminar Virtualisierung Philipp Kirchhofer philipp.kirchhofer@student.kit.edu Institut für Technische Informatik Lehrstuhl für Rechnerarchitektur Universität Karlsruhe (TH)

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

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

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig schwer verständlich nicht portabel, d.h. nicht auf Rechner

Mehr

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung

Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Proseminar Nichtsequentielle Programmiersprachen - alt und neu Einführung Peter Löhr Nichtsequentielle Programme Nichtsequentielle Programme (concurrent programs): Prozesse, Threads, Tasks,... sind eigenständige

Mehr

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation

Inhaltsverzeichnis. 2.4 Thread-Systeme. 2.1 Was ist ein Prozess? 2.2 Scheduling. 2.3 Interprozesskommunikation Inhaltsverzeichnis Systemprogrammierung - Kapitel 2 Prozessverwaltung 1/21 2.1 Was ist ein Prozess? Definition Prozesszustände Prozesskontrollblöcke 2.4 Thread-Systeme Sinn und Zweck Thread-Arten Thread-Management

Mehr

Inhaltsverzeichnis XII

Inhaltsverzeichnis XII 1 Einführung... 1 1.1 Computersysteme... 1 1.1.1 Einführung... 2 1.1.2 Aufgabe von Betriebssystemen... 3 1.1.3 Grundlegende Hardwaremodelle... 3 1.1.4 CPU-Registersatz... 7 1.1.5 Multicore-Prozessoren

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

Echtzeitbetriebssysteme/ Prozessdatenverarbeitung II

Echtzeitbetriebssysteme/ Prozessdatenverarbeitung II Fachhochschule Kaiserslautern Prof. Dr. P. Liell Echtzeitbetriebssysteme/ Prozessdatenverarbeitung II SS 2012 1. Versuch Allgemeines zum Ablauf und zur Versuchsausarbeitung Es ist eine Ausarbeitung zum

Mehr

Technische Informatik II

Technische Informatik II Institut für Technische Informatik und Kommunikationsnetze Technische Informatik II Übung 3: Input / Output Hinweis: Weitere Aufgaben zu diesem Thema finden sie in den Begleitbüchern zur Vorlesung. Aufgabe

Mehr

Themenfelder. programmierung programme aufrufe funktionen. UNIX-ähnlicher

Themenfelder. programmierung programme aufrufe funktionen. UNIX-ähnlicher Themenfelder SoS i System programmierung programme aufrufe funktionen in C UNIX-ähnlicher Betriebssysteme SoS ii Datenbanksysteme SoS iii Softwaretechnik 2 Einleitung SoS i, c 2004 wosch [Einleitung.tex,v

Mehr

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick Vorlesung Objektorientierte Softwareentwicklung Sommersemester este 2008 Kapitel 0. Java-Überblick Was sind die Ziele? Warum Java? Komplexe Anwendungen e-business verteilt zuverlässig sicher mobil persistent

Mehr

Technische Informa/k II

Technische Informa/k II Technische Informa/k II Prof. Dr. Bernd Freisleben Sommersemester 2013 Vorlesung zur Klausurvorbereitung Folie 00-2 Organisatorisches Klausur: Dienstag, 16.07.13, 12:00-14:00 Uhr im Hörsaal 00/0070 Zugelassene

Mehr

Betriebssysteme. Einführung. Ziele und Ablauf der Vorlesung:

Betriebssysteme. Einführung. Ziele und Ablauf der Vorlesung: Einführung 1 Ziele Ziele und Ablauf der Vorlesung: Ziele: Vermittlung von Grundwissen für den Umgang mit gängigen Rechnern und n zur leichteren Einarbeitung in neue über Basistechniken im Internet In der

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

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung,

^ Springer Vi eweg. Grundkurs Betriebssysteme. Synchronisation, Prozesskommunikation, Virtualisierung. Architekturen, Betriebsmittelverwaltung, Peter Mandl Grundkurs Betriebssysteme Architekturen, Betriebsmittelverwaltung, Synchronisation, Prozesskommunikation, Virtualisierung 4. Auflage ^ Springer Vi eweg 1 Einführung 1 1.1 Computersysteme 1

Mehr

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Betriebssysteme. CPU-Scheduling - Fallbeispiele. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. CPU-Scheduling - Fallbeispiele Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung

Mehr