Echtzeitbetriebssysteme

Ähnliche Dokumente
Speicherverwaltung (Swapping und Paging)

RO-Tutorien 15 und 16

Tutorium Rechnerorganisation

Virtueller Speicher und Memory Management

Paging. Einfaches Paging. Paging mit virtuellem Speicher

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

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

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Leichtgewichtsprozesse

Einführung in die technische Informatik

5 Speicherverwaltung. bs-5.1 1

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Computer-Systeme Teil 15: Virtueller Speicher

Linux Paging, Caching und Swapping

Rechnergrundlagen SS Vorlesung

Lösung von Übungsblatt 2

Grundlagen Rechnerarchitektur und Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme

Zwei Möglichkeiten die TLB zu aktualisieren

5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1

Echtzeit-Multitasking

Echtzeit-Multitasking

Übung zu Einführung in die Informatik # 10

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Konzepte von Betriebssystemkomponenten

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

DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME

Betriebssysteme KU - Einführungstutorium

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).

Übung zu Grundlagen der Betriebssysteme. 13. Übung

5 Kernaufgaben eines Betriebssystems (BS)

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme

Lösung von Übungsblatt 5

Lösungsvorschlag für Übung September 2009

2.3 Prozessverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Wunschvorstellung der Entwickler vom Speicher

Wie groß ist die Page Table?

Betriebssysteme Teil 10: Virtueller Speicher

(Cache-Schreibstrategien)

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

Kapitel VI. Speicherverwaltung. Speicherverwaltung

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

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl

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

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Speicherverwaltung. Kapitel VI. Adressbindung (2) Adressbindung (1) Speicherverwaltung

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung

Vorlesung Betriebssysteme

e) Welche Aussage zu Speicherzuteilungsverfahren ist falsch?

Intel x86 Bootstrapping

Medienpraktikum Medienpsychologie. Seminar für Pädagogik, Universität Ulm Sommersemester Anne Wilzek Doreen Eichler

Fachbericht Thema: Virtuelle Speicherverwaltung

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

5.5.5 Der Speicherverwalter

9) Speicherverwaltung

virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher.

Wie schreibt man ein Betriebssystem?

Betriebssysteme 1. Thomas Kolarz. Folie 1

Speicher. Speicher. Speicherhierarchie. Speicher. Interessante Zahlen:

Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen?

5.6 Segmentierter virtueller Speicher

3 Schnittstelle zum Betriebssystem 3.1 Einleitung

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)

Freispeicherverwaltung Martin Wahl,

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

Betriebssysteme Betriebssysteme und. Netzwerke. Netzwerke Theorie und Praxis

Betriebssysteme I: Speicherverwaltung (Teil A: Adress-Bindung)

1.7 Assembler Programmierung

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Technische Informatik II Wintersemester 2002/03 Sommersemester Heiko Holtkamp

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

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

4 Zugriffsschutz. soll unerwünschte Zugriffe von Subjekten auf Objekte verhindern. (access protection, access control) Beispiele:

Konzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Maren Bennewitz

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

7. Speicherverwaltung

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS Teil 4/ProtectionI

Übung zu Grundlagen der Betriebssysteme. 14. Übung

Transkript:

Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom Betriebssystem konfiguriert (Speicherabbildungstabellen) 6-1 08-1

Speicherverwaltung (Memory Management) Struktur einer MMU 6-2 08-2

Speicherverwaltung: Speicherschutz l Jeder Prozess (nicht Threads) hat eigenen Adressraum (Prozessadressraum) l Zugriff nur auf eigene Daten-, Stack- und Codesegmente l Zugriff auf nicht abgebildete Adresse: MMU erzeugt Interrupt (Segmentation Fault) 6-3 08-3

Speicherverwaltung : Keine Adressumsetzung Alle Programme zur Link-Zeit bekannt: Linker kann unterschiedliche Adressbereiche pro Programm zuordnen und Sprungadressen (Funktionsaufrufe) auflösen, ein Executable (Image) Mehrere Programme dynamisch zur Laufzeit im Hauptspeicher -> unterschiedliche, zur Ladezeit festzulegende Programmadressen (Sprünge bei Funktionsaufrufen) erforderlich Laden: (Programm in Hauptspeicher bringen; zu Prozess machen) l Lader (loader): Ersetzt Adressen (Sprünge absolut, Variablenzugriffsadressen absolut) zur Lade-Zeit eines Programms -> aufwändig l Sonderfall: Speicherposition unabhängiger Codeà Compiler erzeugt nur Sprungbefehle relativ zum PC und Variablenzugriffe relativ zu einem einmal geladenen danach readonly Indexregisterinhalt à Lader: Indexregister setzen beim Start 6-4 08-4

Speicherverwaltung : Adressumsetzung Einheitlicher (virtuellen) Adressraum für Programme l Virtueller Adressraum beginnt bei 0, umfasst kompletten adressierbaren (Adressbusbreite) Adressbereich für jedes Programm l Linker legt virtuelle Adressen in Executable fest, Adressen werden nicht mehr verändert, nur durch MMU auf reale Adressen abgebildet schnelles Laden, da keine Veränderung des Executables erforderlich (lediglich Konfiguration der MMU, Speichertabellen) l Ermöglicht leichte Verwendung von Shared Libraries: Mehrere Tasks teilen sich ein (Code-) Segment (beliebige virtuelle Adressen durch Linker vergeben, Abbildung auf bereits geladene Shared Library durch MMU) reduziert Hauptspeicherbedarf 6-5 08-5

Speicherverwaltung Adressumsetzung Einheitlicher (virtuellen) Adressraum für Programme l l l l l Physikalischer Adressraum kann kleiner sein als Virtueller Adressraum Abbildung durch Swappen und Paging Swappen: Auslagern des zugeordneten physikalischen Speichers eines gesamten Prozesses auf den Hintergrundspeicher Paging: Auslagern selten benutzter Speicherseiten (z.b. 4kByte) auf Hintergrundspeicher Kaum Bedeutung bei Echtzeitsystemen: führt zu (zeitlichem) Nichtdeterminismus 6-6 08-6

Speicherverwaltung (Memory Management) Segmentierung (x86) Phys.Adresse = SegmentRegister * 16 + Offset ; Pointervergleich: Normalisieren (Umrechnen in lange Adresse); ist aufwändig 6-7 08-7

Speicherverwaltung, Seitenorganisation Adressabbildung 6-8 08-8

Speicherverwaltung, Seitenorganisation Virtuelle Adresse 6-9 08-9

Speicherverwaltung, Seitenorganisation Seitendeskriptor Schreibflag 1: auf die Seite darf schreibend zugegriffen werden 0: Versuchter Schreibzugriff führt zu Bus-Error 6-10 08-10

Speicherverwaltung (Memory Management) Seitenorganisation Daten-Zugriff erlaubt 1: Daten dürfen aus der Kachel gelesen werden 0: Datenzugriff führt zu Bus Error 6-11 08-11

Speicherverwaltung (Memory Management) Seitenorganisation Code-Zugriff 1: Prozessor darf Inhalt als Befehl ausführen 0: Versuch, Inhalt als Code auszuführen führt zu Bus Error 6-12 08-12

Speicherverwaltung (Memory Management) Seitenorganisation Kachel im Speicher 1: Seite befindet sich im Speicher 0: Seite ist ausgelagert; Seite-Fehlt-Alarm (Hardware- Interrupt) wird ausgelöst: Kernel muss Seite laden 6-13 08-13

Fertig mit der Speicherverwaltung Weiter geht s mit dem IO-System 6-14 08-14