Verteilte Echtzeit-Systeme

Ähnliche Dokumente
Verteilte Echtzeit-Systeme

Echtzeitbetriebssysteme

Verteilte Echtzeit-Systeme

Speicherverwaltung (Swapping und Paging)

Verteilte Echtzeit-Systeme

2.3 Prozessverwaltung

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Tutorium Rechnerorganisation

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Embedded- und RT-Betriebssysteme

Leichtgewichtsprozesse

Leichtgewichtsprozesse

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Virtueller Speicher und Memory Management

Lösung von Übungsblatt 2

RO-Tutorien 15 und 16

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme

(Cache-Schreibstrategien)

5.5.5 Der Speicherverwalter

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Technische Realisierung (1)

Lösung von Übungsblatt 2

Betriebssysteme Studiengang Informatik / SAT

Echtzeit-BS vs. Standard-BS

5 Kernaufgaben eines Betriebssystems (BS)

Lösung von Übungsblatt 5

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Verteilte Echtzeit-Systeme

Grundlagen Rechnerarchitektur und Betriebssysteme

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Konzepte von Betriebssystem- Komponenten Olessia Usik 20. Juni 2005

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Übung zu Grundlagen der Betriebssysteme. 11. Übung

Betriebssysteme. FU Berlin SS 2003 Klaus-Peter Löhr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

4. Übung - Rechnerarchitektur/Betriebssysteme

Wunschvorstellung der Entwickler vom Speicher

Verteilte Echtzeit-Systeme

Advanced Operating Systems

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher

Betriebssysteme. FU Berlin WS 2004/05 Klaus-Peter Löhr. bs-1.1 1

4. Übung - Rechnerarchitektur/Betriebssysteme

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann

Übung I Echtzeitbetriebssysteme

Verteilte Echtzeit-Systeme

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

Anbindung zum Betriebssystem (BS)

Betriebssysteme. Wintersemester Kapitel 3 Speicherverwaltung. Patrick Kendzo

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Verteilte Echtzeit-Systeme

Virtueller Speicher WS 2011/2012. M. Esponda-Argüero

Sharing und invertierte Seitentabellen

5.5 Virtueller Speicher

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Übung zu Grundlagen der Betriebssysteme. 13. Übung

Betriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14

Betriebssysteme. FU Berlin WS 2006/07 Klaus-Peter Löhr. bs-1.1 1

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Advanced Operating Systems

11.1 Inhalte der Vorlesung Was ist ein Betriebssystem Zwei Sichten. Was ist ein Betriebssystem Zwei Sichten (Forts.) Abstraktionen

9) Speicherverwaltung

RO-Tutorien 17 und 18

D Einführung Betriebssysteme

D Einführung Betriebssysteme

Betriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen

Bsys2 Zusammenfassung. Definition Die CPU ist das Gehirn des Computers. Sie holt Befehle aus dem Speicher und führt sie aus.

Teil 2: Speicherstrukturen

Anbindung zum Betriebssystem (BS)

Immediate Priority Ceiling

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach

Technische Universität München WS 2006/2007 Fakultät für Informatik 15. Februar 2007 Prof. Dr. A. Knoll

Speicherverwaltung, Interrupts & Exceptions. Daniel Richter Seminar Prozesssteuerung und Robotik 03. Dezember 2008

Echtzeit-Multitasking

Abschlussklausur. Betriebssysteme und Rechnernetze. 12. Juli Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit.

Echtzeit-Multitasking

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme. Thomas Fahringer. Institut für Informatik Universität Innsbruck. VO Betriebssysteme

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert?

5.5 Virtueller Speicher

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Speicherverwaltung und Cache Erläuterungen

Betriebssysteme I WS 2018/2019. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404

Abschlussklausur. Betriebssysteme. 30. Januar Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit.

Transkript:

- Verteilte Echtzeit-Systeme Hans-Albrecht Schindler Wintersemester 2015/16 Teil B: Echtzeit-Betriebssysteme Abschnitt 13: Echtzeit-Primärspeicherverwaltung CSI Technische Universität Ilmenau www.tu-ilmenau.de

Ø auch bei Hauptspeicher-Management: Fristen einhalten! 13.1 Einleitende Bemerkungen Ø So wie bei Interrupt-Bearbeitung und Prioritätsumkehr gilt: unkontrollierbare/unvorhersagbare Verzögerungen der Prozessbearbeitung vermeiden! gefährliche Speicherzuordnungen: alle, die Determinismus im Echtzeit-System zunichte machen: 1. (Zer-)Störung des Ereignis-Determinismus (im Extremfall z.b. durch Stacküberlauf) 2. (Zer-)Störung des zeitlichen Determinismus (im Extremfall z.b. durch Auftreten von Deadlocks bei Speichervergabe) generelle Regeln: 1. gefährliche Speicherzuordnungen prinzipiell vermeiden 2. gleichzeitig: durch Speicher-Management auftretenden Betriebssystem- Overhead so gering wie möglich halten 13. Echtzeit-Primärspeicherverwaltung / 13.1 Einleitende Bemerkungen ws 2015/16 H.-A. Schindler Folie: 13-2

13.2 Einfache Lösungen Ø viele existierende Betriebssysteme: sicherer Weg durch einfachste Lösungen Ø Im Folgenden hauptsächlich: dazu wichtige Prinzipien Einfache Ressourcenzuordnungsprinzipien: Ø deshalb oft generell: 1. keine Ressourcen-Zuordnung on-demand (d.h. in dem Moment, wo sie benötigt werden) sondern Pre-Allokation (= Vorab-Zuordnung) 2. keine dynamische Ressourcenzuordnung (z.b. Speicher), sondern Zuordnung maximal benötigter Menge bei Pre-Allokation (Aussage (RTLinux): effizient implementierte dynamische Speichervergabe nicht zeitlich vorhersagbar!) 13. Echtzeit-Primärspeicherverwaltung / 13.2 Einfache Lösungen ws 2015/16 H.-A. Schindler Folie: 13-3

Zuordnung von Speicher an Prozesse Schlussfolgerungen: 1. Gemäß Pre-Allokationsprinzip: Vor Beginn der Abarbeitung eines Prozesses müssen sich mindestens die für gewisses Zeitintervall notwendigen Prozess- Teile im Hauptspeicher befinden... (Teile der Daten, gewisse Menge Befehle). 2. Später benötigte Teile müssen gleichfalls vorab geladen werden 3. Entsprechend Vermeidung dynamischer Ressourcenvergabe: Loading-on-demand und auch Nachladen on-demand sind ungeeignet, und damit auch virtuelle Speicherverwaltung, da keine zeitlichen Garantien Realität: 1. oft Pre-Allokation der maximalen Speicher menge 2. auf Grund verwendeter Minimalhardware (z.b. keine MMU): keine virtuelle Speicherverwaltung viele Echtzeit-BS (insbesondere für eingebettete Systeme) realisieren auch keinen Speicherschutz Ø von 5 aktuellen BS für eingebettete Systeme (RTLinux, RTAI, RTMS, QNX, VxWorks) hat nur ein (!) BS Speicherschutz implementiert (QNX) 13. Echtzeit-Primärspeicherverwaltung / 13.2 Einfache Lösungen ws 2015/16 H.-A. Schindler Folie: 13-4

Zuordnung von Speicher an Prozesse Forderungen: Ø sowohl dynamische Speicherverwaltung (eventuell im reduzierten Umfang) als auch Speicherschutz realisieren (z.b. OCERA-Papiere, bes. D3.4) Ø zunehmende Komplexität der Anwendungen Ø Fehlerfortpflanzung Pre-Allokation Ø Bei periodischen Prozessen deren logische Ankunftszeit ja bekannt können Prozess-Bestandteile rechtzeitig im Voraus geladen werden. Ø auch Reservierungs-Mechanismen im Voraus einsetzbar (typisch bei QoS-Ansatz) 13. Echtzeit-Primärspeicherverwaltung / 13.2 Einfache Lösungen ws 2015/16 H.-A. Schindler Folie: 13-5

13.3 Virtuelle Speichertechnik Ø in normalen (= nicht-echtzeit-) BS heute allgemein eingesetzt Eigenschaften: Prozesse laufen innerhalb ihres eigenen virtuellen Adressraumes sie können mehr Speicherplatz nutzen als physisch vorhanden Aufgaben der Speicherverwaltung: Buchführung über verfügbare Ressourcen Zuweisung physischen Speichers an einzelne Prozesse detaillierter: Zuordnung des virtuellen Adressraumes an jeden Prozess und Abbilden physischer Seiten mit geeignetem Schutz in den virtuellen Adressraum Seitenfehlerbehandlung befasst sich mit nicht zugeordneten und ungültigen Speicherreferenzen è Speicher-Zugriffsfehler (page fault) Laden von Daten in den Speicher und Zurückspeichern auf Platte UNIX-Systeme: Duplizieren eines Adressraumes bei fork()-systemaufruf 13. Echtzeit-Primärspeicherverwaltung / 13.3 Virtuelle Speichertechnik ws 2015/16 H.-A. Schindler Folie: 13-6

Virtuelle Speichertechnik Prinzip Hauptspeicher (Ausschnitt) Hintergrundspeicherspeicher (üblich: Festplatte) Prozess A im Hintergrundspeicher... Prozess B im Hintergrundspeicher... Übertragung einzelner Teile eines Prozesses zur Ausführung (Platzvergabe an Prozesse muss auch auf Hintergrundspeicher nicht zusammenhängend sein) 13. Echtzeit-Primärspeicherverwaltung / 13.3 Virtuelle Speichertechnik Darstellung nach /Deitel90/ S.219 ws 2015/16 H.-A. Schindler Folie: 13-7

Paging für Echtzeit-Anwendungen Paging allgemein: Ø bei zu vollem physischen Speicher muss Memory-Manager zur Platzgewinnung Swapping oder Paging ausführen è Wegen Echtzeit-Performanz-Empfindlichkeit: Swapping ungeeignet! è Folglich nur Paging-basierte Speichersysteme von Interesse... notwendig: neue Ansätze für Speicherzuordnung und -benutzung Seitenaustausch und Prefetching (Laden im Voraus) Ø dabei wesentlich: anwendungsspezifisches Wissen über Applikationen bei Anwendung existierender Systeme: Ø Durch unkontrolliertes Auslagern zeitkritischer Seiten unkontrollierbare Zeitverzögerungen möglich! Ø hier wenigstens Festnageln von Seiten im Hauptspeicher nutzen! (bekannt auch als: Pinning, Memory Locking) 13. Echtzeit-Primärspeicherverwaltung / 13.3 Virtuelle Speichertechnik ws 2015/16 H.-A. Schindler Folie: 13-8

Beispielsysteme mit modifiziertem Paging 1. Systeme entsprechend Real-Time POSIX/RT-Mach: Ø eine Applikation kann alle Seiten im Hauptspeicher fixieren Funktion mlockall() bzw. bestimmte Adressbereiche Funktion mlock( <starting_address>, <length>) 2. Echtzeit-Versionen von Windows u. andere BS: Ø beim create_thread()-systemaufruf kann spezifiziert werden, dass alle Seiten des erzeugten Threads im Speicher fixiert werden 3. LynxOS: Ø Fixieren von Seiten durch Priorität ( paging priority ) gesteuert falls: (Applikations-Priorität paging priority): Seiten der Applikation fixiert falls: (Applikations-Priorität < paging priority): Seiten nicht fixiert 13. Echtzeit-Primärspeicherverwaltung / 13.3 Virtuelle Speichertechnik ENDE 11 ws 2015/16 H.-A. Schindler Folie: 13-9