5. Vorlesung Betriebssysteme

Größe: px
Ab Seite anzeigen:

Download "5. Vorlesung Betriebssysteme"

Transkript

1 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 1/50 5. Vorlesung Betriebssysteme Dr. Christian Baun Hochschule Mannheim Fakultät für Informatik

2 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 2/50 Heute Zeichen-/Blockorientierte Geräte Daten von Ein- und Ausgabegeräten lesen Adressraum Speicheradressierung und Speicherverwaltung Real Mode und Protected Mode Speicherpartitionierung Statische Partitionierung Dynamische Partitionierung Buddy-Verfahren Relokation Virtueller Speicher Memory Management Unit Seitenorientierter Speicher (Paging) Segmentorientierter Speicher (Segmentierung)

3 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 3/50 Zeichenorientierte und Blockorientierte Geräte Geräte an Computersystemen werden bezüglich der kleinsten Übertragungseinheit unterschieden in: Zeichenorientierte Geräte Bei Ankunft/Anforderung jedes einzelnes Zeichens wird immer mit dem Prozessor kommuniziert Beispiele: Maus, Tastatur, Drucker, Terminals und Magnetbänder Blockorientierte Geräte Datenübertragung findet erst statt, wenn ein kompletter Block (z.b. 1-4 kb) vorliegt Beispiele: Festplatten, SSDs, CD-/DVD-Laufwerke und Disketten-Laufwerke Die meisten blockorientierten Geräte unterstützen Direct Memory Access (DMA), um Daten ohne Prozessorbeteiligung zu übertragen

4 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 4/50 Es gibt drei Möglichkeiten, Daten einzulesen Soll z.b. ein Datensatz von einer Festplatte gelesen werden, sind folgende Schritte nötig: 1 Die CPU bekommt von einem Prozess die Anforderung, einen Datensatz von einer Festplatte zu lesen 2 Die CPU schickt dem Controller mit Hilfe des installierten Treibers einen entsprechenden I/O-Befehl 3 Der Controller lokalisiert den Datensatz auf der Festplatte 4 Der Prozess erhält die angeforderten Daten Es gibt drei Möglichkeiten, wie ein Prozess Daten einliest: Busy Waiting (geschäftiges bzw. aktives Warten) Interrupt-gesteuert Direct Memory Access (DMA)

5 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 5/50 Busy Waiting (geschäftiges bzw. aktives Warten) Der Treiber sendet die Anfrage an das Gerät und wartet in einer Endlosschleife, bis der Controller anzeigt, dass die Daten bereit stehen Stehen die Daten bereit, werden sie in den Speicher geschrieben und der Prozess kann weiterarbeiten Beispiel: Zugriffsprotokoll Programmed Input/Output (PIO) Die CPU greift mit Lese- und Schreibbefehlen auf die Speicherbereiche der Geräte zu und kopiert so Daten zwischen den Geräten und den Prozessorregistern Vorteil: Leicht zu implementieren (keine zusätzliche Hardware nötig) Nachteile: Belastet den Prozessor Behindert die gleichzeitige Abarbeitung mehrerer Prozesse, da regelmäßig überprüft werden muss, ob die Daten bereit stehen

6 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 6/50 Interrupt-gesteuert Interrupt-Controller und Leitungen für das Senden der Interrupts Der Treiber initialisiert die Aufgabe und wartet auf einen Interrupt (Unterbrechung) durch den Controller = Der Treiber schläft Die CPU ist während des Wartens auf den Interrupt nicht blockiert und das Betriebssystem kann die anderen Prozesse weiter abarbeiten Kommt es zum Interrupt, wird der Treiber dadurch geweckt und die CPU in ihrer momentanen Arbeit unterbrochen Danach holt die CPU die Daten vom Controller ab und legt sie in den Speicher Anschließend kann die CPU ihre unterbrochene Arbeit fortsetzen Vorteile: Der Prozessor wird nicht blockiert Gleichzeitige Abarbeitung mehrerer Prozesse wird nicht behindert Nachteile: Zusätzliche Hardware ist nötig

7 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 7/50 Direct Memory Access (1/2) Zusätzlicher DMA-Baustein Kann Daten direkt zwischen Arbeitsspeicher und Controller übertragen Der Prozessor ist davon komplett unabhängig und wird nicht belastet Wird mit den nötigen Informationen initialisiert Die Informationen sind z.b: Speicherstelle, Anzahl der Bytes, Controller Erzeugt nach der Beendigung einen Interrupt DMA wird nicht nur für den Zugriff auf Datenträger verwendet, sondern auch zum beschleunigten und CPU entlastenden Zugriff auf Peripheriegeräte wie zum Beispiel: Soundkarten, ISDN-Karten, Netzwerkkarten, TV-/DVB-Karten Beispiel: Zugriffsprotokoll Ultra-DMA (UDMA) Nachfolgeprotokoll des PIO-Modus Regelt, wie Daten zwischen dem Controller einer Festplatte und dem Arbeitsspeicher übertragen werden Daten werden unter Verwendung eines DMA-Controllers direkt vom bzw. zum Arbeitsspeicher zu übertragen, ohne dabei die CPU zu verwenden

8 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 8/50 Direct Memory Access (2/2) Vorteile: Vollständige Entlastung des Prozessors Gleichzeitige Abarbeitung mehrer Prozesse wird nicht behindert Nachteile: Hoher Hardware-Aufwand Neben dem Interrupt-Controller wird noch ein DMA-Baustein benötigt

9 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS1213 9/50 Speicheradressierung und Speicherverwaltung (1/2) Auf 16 Bit-Architekturen sind 2 16 Speicheradressen und damit bis zu Byte, also 64 Kilobyte adressierbar Auf 32 Bit-Architekturen sind 2 32 Speicheradressen und damit bis zu Byte, also 4 Gigabyte adressierbar Auf 64 Bit-Architekturen sind 2 64 Speicheradressen und damit bis zu Byte, also 16 Exabyte adressierbar!!! Frage!!! Wie wird der Speicher eines Computers angesprochen und verwaltet?

10 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicheradressierung und Speicherverwaltung (2/2) Bei Einzelprogrammbetrieb (Singletasking) wird der Hauptspeicher in zwei Bereiche unterteilt Ein Bereich für das Betriebssystem (Kernelspace) Ein anderer Bereich für den aktuell ausgeführten Prozess (Userspace) Beim Mehrprogrammbetrieb (Multitasking) muss der Benutzer-Bereich (Userspace) des Hauptspeichers weiter unterteilt werden, damit die gestarteten Prozesse im Speicher aufgenommen werden können Folgende Anforderungen sind zu beachten: Relokation Schutz Gemeinsame Nutzung

11 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Anforderungen and die Speicheradressierung/-verwaltung Relokation Mehrere Prozesse befinden sich im Hauptspeicher Werden Prozesse aus dem Hauptspeicher verdrängt, ist nicht bekannt, an welcher Stelle sie später wieder in den Hauptspeicher geladen werden Bindungen an den alten Ort im Speicher sind ungünstig Eine freie Ortswahl wäre vorteilhaft Probleme sind u.a. bei Sprüngen und Referenzen auf Daten zu erwarten Schutz Speicherbereiche müssen geschützt werden vor unbeabsichtigtem oder unzulässigem Zugriff durch anderen Prozesse Darum müssen alle Zugriffe (durch die CPU) überprüft werden Gemeinsame Nutzung Trotz Speicherschutz muss eine Kooperation der Prozesse mit gemeinsamem Speicher (Shared Memory) möglich sein

12 Idee: Direkter Zugriff auf die Speicherstellen Hauptspeicher Prozess A Prozess B Prozess C (Zellen: 0 8) (Zellen: 1 5 9) (Zellen: 2 4 7) Zelle 0 Zelle 1 Zelle 2 Zelle 3 Zelle 4 Zelle 5 Zelle 6 Zelle 7 Zelle 8 Zelle 9... Naheliegende Idee: Direkter Speicherzugriff durch die Prozesse = Real Mode Leider unmöglich in Multitasking-Systemen Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50

13 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Real Mode (Real Address Mode) Betriebsart x86-kompatibler Prozessoren Kein Zugriffsschutz Jeder Prozess kann auf den gesamten adressierbaren Speicher zugreifen Inakzeptabel für Multitasking-Betriebssysteme Maximal 1 MB Hauptspeicher adressierbar Das ist der maximalen Speicherausbau eines Intel 8086 Grund: Der Adressbus des 8088 verfügt nur über 20 Adressleitungen Er ist also nur 20 Bits breit und 2 20 = 1 MB Von den 1 MB maximal adressierbar Speicher stehen nur die ersten 640 kb (unterer Speicher) für das Betriebssystem (MS-DOS) und die Programme zur Verfügung Die restlichen 384 kb (oberer Speicher) enthalten das BIOS der Grafikkarte, das Speicherfenster zum Grafikkartenspeicher und das BIOS ROM des Mainboards Die Bezeichnung Real Mode wurde mit dem Intel eingeführt Im Real Mode greift der Prozessor wie ein 8086 auf den Hauptspeicher zu Jeder x86-kompatible Prozessor startet im Real Mode

14 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Real Mode Adressierung Der Speicher ist in Rahmen (Frames) unterteilt Die Rahmen beginnen in einem Abstand von 16 Bytes Der Speicher wird über Segment und Offset adressiert Zwei 16 Bits lange Werte, die durch einen Doppelpunkt getrennt sind Segment:Offset Segment und Offset werden werden jeweils in zwei verschiedenen 16-Bits großen Registern der CPU gespeichert Das Segmentregister enthält die Nummer des Rahmens Dabei handelt es sich um eine durch 16 teilbare Adresse Das Segmentregister zeigt also auf eine durch 16 teilbare Adresse im Speicher Das Offsetregister zeigt auf eine Adresse zwischen 0 und 2 16 = relativ zur Adresse im Segmentregister Physische Adresse (absolute Adresse) berechnen: 16 * Segment + Offset

15 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Real Mode Register Beim 8086 existieren vier Segmentregister CS (Code Segment) Segment mit dem Quelltext des Programms DS (Data Segment) Segment mit globalen Daten, auf die das aktuelle Programm zugreift SS (Stack Segment) Segment mit dem Stack für die lokalen Daten des Programms ES (Extra Segment) Segment für weitere Daten Ab dem Intel existieren die beiden weiteren Segmentregister FS und GS für zwei weitere Extra-Segmente Die Trennung der Segmentbereiche dient dem Speicherschutz Der Real Mode ist der Standardmodus für MS-DOS und dazu kompatible Betriebssysteme (u.a. PC-DOS, DR-DOS und FreeDOS) Neuere Betriebssysteme verwenden ihn nur noch während der Startphase und schalten dann in den Protected Mode um

16 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Protected Mode (Schutzmodus) Betriebsart x86-kompatibler Prozessoren Eingeführt mit dem Intel Erlaubt die Begrenzung von Speicherzugriffsrechten Erhöht die Menge des direkt adressierbaren Speichers 16-Bit Protected Mode beim = 16 MB Hauptspeicher 32-Bit Protected Mode beim = 4 GB Hauptspeicher Basiert auf dem Konzept des virtuellen Speichers Mit der Memory Management Unit (MMU) kann einem Prozess jederzeit ein vollständiger Adressraum wie im Real Mode bereitgestellt werden Virtuelle Speicheradressen übersetzt die CPU mit Hilfe der MMU in physische Speicheradressen Jeder Prozess läuft in seiner eigenen, von anderen Prozessen abgeschotteten Kopie des physischen Adressraums Es gibt vier Privilegienstufen für Programme zum Speicherschutz, um die Stabilität und Sicherheit zu erhöhen

17 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherpartitionierung Drei Konzepte zur Speicherpartitionierung: Statische Partitionierung Dynamische Partitionierung Buddy-Algorithmus Diese Konzepte werden von modernen Betriebssystemen nicht 1:1 angewendet und gelten als veraltet. Sie sind aber grundlegendes Wissen und das Fundament des virtuellen Speichers

18 Statische Partitionierung Der Hauptspeicher wird in Partitionen gleicher oder unterschiedlicher Größe unterteilt Jeder Prozess, dessen Größe einer Partition ist, kann eine freie Partition erhalten Benötigt ein Prozess mehr Speicher, als eine Partition groß ist, muss es zum Overlay kommen Dabei werden einzelne Daten eines Prozesses überschrieben (!) Entwickler müssen Anwendungen so schreiben, dass immer nur ein Teil der Daten im Speicher nötig ist und Daten überschrieben werden können Dieses Vorgehen ist ineffizient und fehleranfällig Weitere Nachteile statischer Partitionierung: Es kommt zwangsläufig zu interner Fragmentierung Das Problem wird durch Partitionen unterschiedlicher Größe abgemildert, aber nicht gelöst Anzahl der Partitionen limitiert die Anzahl möglicher Prozesse Das Mainframe-Betriebssystem IBM OS/MFT in den 60er Jahren nutzte statische Partitionierung Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50

19 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Beispiel zur statischen Partitionierung

20 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherbelegungsverfahren (Statische Partitionierung) Werden Partitionen gleicher Größe verwendet, ist es egal, welche freie Partition ein Prozess zugewiesen wird Sind alle Partitionen belegt, muss ein Prozess aus dem Hauptspeicher verdrängt werden Die Entscheidung welcher Prozess verdrängt wird, hängt vom verwendeten Scheduling-Verfahren ab Werden Partitionen unterschiedlicher Größe verwendet, gibt es zwei Möglichkeiten um Prozessen Partitionen im Speicher zuzuweisen Prozesse sollen eine möglichst passgenaue Partition erhalten Ziel: Wenig interne Fragmentierung Eine eigene Prozess-Warteschlange für jede Partition ist nötig In jeder Warteschlange werden die ausgelagerten Prozesse abgebildet Bei diesem Verfahren kann es vorkommen, dass bestimmte Partitionen nie genutzt werden Eine einzelne Warteschlange für alle Partitionen So kann die Zuweisung der Partitionen an die Prozesse besser kontrolliert werden

21 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherbelegungsverfahren

22 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Dynamische Partitionierung Der verfügbare Hauptspeicher wird in zusammenhängende Partitionen unterschiedlicher Größe unterteilt Jeder Prozess erhält eine zusammenhängende Partition mit exakt der notwendigen Größe Durch das unvermeidliche Einlagern und Verdrängen von Prozessen kommt es zu externer Fragmentierung Diese Fragmentierung kann mit Kompaktierung (Defragmentierung) behoben werden Voraussetzung: Verschiebbarkeit von Speicherblöcken Verweise in den Applikationen dürfen durch ein Verschieben von Datenblöcken nicht ungültig werden Das Mainframe-Betriebssystem IBM OS/MVT nutzte in den 60er Jahren dynamische Partitionierung

23 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Beispiel zur dynamischen Partitionierung

24 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Speicherbelegungsverfahren (Dynamische Partitionierung) First Fit Sucht vom Speicheranfang nach einem passenden freien Block Einfachstes und schnellstes Verfahren Next Fit Sucht ab der Stelle der letzten Blockzuweisung nach einem passenden freien Block Etwas schlechter als First Fit Zerstückelt schnell den großen Bereich freien Speichers am Ende des Adressraums Best Fit Sucht einen Block mit optimaler Größe Produziert viele Minifragmente und arbeitet am langsamsten Worst Fit Sucht den größten freien Block Random Liefert manchmal sehr gute Ergebnisse und ist schnell

25 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Beispiel zum Speicherbelegungsverfahren

26 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Buddy-Verfahren von Donald E. Knuth Versucht die Vorteile fester und dynamischer Partitionierung zu nutzen Speicher wird in Bereiche der Länge 2 K mit L K U aufgeteilt 2 L ist der kleinste Block der zugewiesen wird 2 U ist der größte Block der zugewiesen wird (der komplette Speicher) Zu Beginn gibt es nur einen Block, der den gesamten Speicher abdeckt Fordert ein Prozess eine Speicher an, wird zur nächsthöheren Zweierpotenz aufgerundet und ein entsprechender, freier Block gesucht Existiert noch kein Block dieser Größe, wird nach einem Block doppelter Größe gesucht und dieser in zwei Hälften (sogenannte Buddies) unterteilt Einer der beiden Blöcke wird dann dem Prozess zugewiesen Existiert auch kein Block doppelter Größe, wird ein Block vierfacher Größe gesucht, usw... Wird Speicher freigegeben, wird geprüft, ob zwei Hälften gleicher Größe sich wieder zu einem größeren Block zusammenfassen lassen Die Implementierungsvarianten von Knuth basieren darauf, dass das Betriebssystem für jede möglich Segmentgröße eine Frei-Liste verwaltet

27 Beispiel zum Buddy-Verfahren Nachteil: Interner und externer Verschnitt Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50

28 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation Bei statischer Partitionierung mit unterschiedlich großen Partitionen und eigener Prozess-Warteschlange für jede vorhandene Partition kann man davon ausgehen, dass ein Prozess immer der gleichen Partition zugewiesen wird Bei statischer Partitionierung mit gleich großen Partitionen oder statischer Partitionierung mit unterschiedlich großen Partitionen und einer einzelnen Prozess-Warteschlange für alle vorhandenen Partitionen kann ein Prozess im Laufe seines Bestehens unterschiedliche Partitionen belegen Das gilt auch für dynamische Partitionierung Darum dürfen sich in Prozessen keine festen Referenzen auf Speicherstellen befinden Man unterscheidet folgende Arten von Speicheradressen: Logische Adressen bzw. virtuelle Adressen Relative Adressen Physische Adressen bzw. absolute Adressen

29 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation: Adressen Logische Adresse Speicherpunkt im Adressraum eines Prozesses Bevor ein Speicherzugriff erfolgen kann, muss eine logische (virtuelle) Adresse in eine relative Adresse umgewandelt werden Relative Adresse Sonderfall einer logischen Adresse Logische Adresse, bezogen auf einen festen, bekannten Anfangspunkt Bei dem Anfangspunkt handelt es sich um den Programmanfang Physische Adresse Eine absolute Adresse, eine konkrete Stelle im Hauptspeicher

30 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation: Adressen (2) Wechselt ein Prozess in den Zustand aktiv, wird das Basisregister in der CPU mit der Anfangsadresse des Prozesses im Hauptspeicher belegt Das Ende des Prozesses kennzeichnet das Grenzregister Bei der Prozessausführung treten u.a. an folgenden Positionen relative Adressen auf: Im Befehlsregister Als Befehlsadressen in Sprung- und Aufrufbefehlen Als Datenadressen bei Laden- und Speicherbefehlen Jede relative Adresse erhöht die CPU um den Wert des Basisregisters Dadurch entsteht eine physische Adresse Die physische Adresse wird mit dem Grenzregister verglichen Liegt die Adresse innerhalb der Grenzen, wird der Befehl ausgeführt Andernfalls wird ein Interrupt an das Betriebssystem gesendet, dass dann auf den Fehler reagieren muss

31 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Relokation: Hardwareunterstützung

32 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Virtueller Speicher (1/3) Moderne Betriebssysteme arbeiten im Protected Mode (Schutzmodus) Im Protected Mode unterstützt der Prozessor zwei Verfahren zur Speicheradressierung und Speicherverwaltung Segmentierung existiert ab dem Paging existiert ab dem Die Verfahren sind Implementierungsvarianten des virtuellen Speichers Prozesse verwenden keine realen Hauptspeicheradressen Das würde bei Multitasking-Systemen zu Problemen führen Stattdessen besitzt jeder Prozess einen Adressraum Der Adressraum ist eine Abstraktion des physischen Speichers Der Adressraum ist der von der verwendeten Speichertechnologie und den gegebenen Ausbaumöglichkeiten unabhängige virtuelle Speicher Jeder Adressraum besteht aus Speicherstellen, die von der Adresse 0 (logische Adressen) an, aufwärts durchnummeriert sind

33 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Virtueller Speicher (2/3) Adressräume können nach Bedarf erzeugt oder gelöscht werden und sind voneinander abgeschottet und damit geschützt Kein Prozess kann nicht ohne vorherige Vereinbarung auf den Adressraum eines anderen Prozesses zugreifen Mapping = Abbilden des virtuellen Speichers auf den realen Speicher Dank virtuellem Speicher wird der Hauptspeicher besser ausgenutzt Die Prozesse müssen nicht am Stück im Hauptspeicher liegen Darum ist die Fragmentierung des Hauptspeichers kein Problem

34 Virtueller Speicher (3/3) Durch virtuellen Speicher kann mehr Speicher angesprochen und verwendet werden, als physisch im System vorhanden ist Auslagern (Swapping) geschieht für die Benutzer und Prozesse transparent Prozess A Virtueller Speicher Hauptspeicher Quellcode Virtuelle Adressen A2 A1 A3 A3 A1 B1 Prozess B Quellcode Virtueller Speicher B1 B2 Reale Adressen C1 B2 Virtuelle Adressen B3 Laden/ Verdrängen Prozess C Virtueller Speicher C1 Quellcode B3 C3 C2 A2 C2 Virtuelle C3 Adressen Festplatte Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50

35 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Paging: Seitenorientierter Speicher Teile eines Prozesses (= Seiten) werden freien Speicherbereichen im Hauptspeicher (= Rahmen bzw. Kacheln) zugewiesen Alle Seiten haben die gleiche Länge Länge einer Seite ist üblicherweise zwischen 256 Byte und 8 kb Externe Fragmentierung gibt es beim Paging nicht Interne Fragmentierung kommt in der letzten Seite eines Prozesses vor Das Betriebssystemen verwaltet für jeden Prozess eine Seitentabelle In dieser steht, wo sich die einzelnen Seiten des Prozesses befinden Prozesse arbeiten nur mit virtuellen Speicheradressen Virtuelle Speicheradressen bestehen aus zwei Teilen Der werthöhere Teil repräsentiert die Seitennummer Der wertniedrigere Teil repräsentiert den Offset Der Offset repräsentiert das Speicherwort innerhalb einer Seite Länge der virtuellen Adressen ist architekturabhängig und darum 16, 32 oder 64 Bits

36 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Zuweisung von Prozessseiten zu freiem Speicher (Rahmen)

37 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung durch die Memory Management Unit Paging übersetzt logische (virtuelle) Speicheradressen von der CPU mit der MMU und der Seitentabelle in physische Adressen Das Betriebssystem prüft dann, ob sich die physische Adresse im Hauptspeicher, oder auf der Festplatte befindet Befinden sich die Daten auf der Festplatte, muss das Betriebssystem die Daten in den Hauptspeicher einlesen Ist der Hauptspeicher voll, muss das Betriebssystem andere Einträge aus dem Hauptspeicher verdrängen

38 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Implementierung der Seitentabelle Die Länge der Seiten hat Auswirkungen: Kurze Seiten: Geringer interner Verschnitt, aber lange Seitentabelle Lange Seiten: Kurze Seitentabelle, aber hoher interner Verschnitt Ist die Seitentabelle des aktuell laufenden Prozesses kurz, wird sie in Registern in der CPU abgelegt Das führt zu einer hohen Geschwindigkeit, da zur Berechnung der physischen Speicheradressen nur Registermanipulationen notwendig sind Bei kleinen Seiten kann die Seitentabelle sehr groß werden In diesem Fall wird die Seitentabelle im Hauptspeicher abgelegt Zwei Register ermöglichen der MMU den Zugriff auf die Seitenabelle Page-Table Base Register (PTBR): Seitentabelle des laufenden Prozesses Page-Table Length Register (PTLR): Länge der Seitentabelle des laufenden Prozesses

39 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Seitentabellenstruktur Die Seitentabellenstruktur beim Paging ist so, dass jeder Seitentabelleneintrag folgende Komponenten enthält: Present-Bit: Legt fest, ob die Seite im Hauptspeicher ist Modify-Bit: Legt fest, ob die Seite verändert wurde Andere Steuerbits: Hier werden Schutzrechte und Rechte zur gemeinsamen Nutzung festgelegt Rahmennummer: Wird mit dem Offset der virtuellen (logischen) Adresse verknüpft

40 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung beim Paging (einstufig)

41 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung beim Paging (zweistufig)

42 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Einige Berechnungen zum seitenorientierten Speicher Seitenlänge beim Paging: Kurze Seiten: Geringer interner Verschnitt, aber lange Seitentabelle Lange Seiten: Kurze Seitentabelle, aber hoher interner Verschnitt Sei s die durchschnittliche Prozessgröße in Bytes p die Seitenlänge in Bytes e ein Eintrag in der Seitentabelle in Bytes Dann gilt: Ein Prozess belegt s es p Seiten und damit p Bytes in der Seitentabelle es p wird kleiner mit wachsender Seitenlänge Durch interne Fragmentierung gehen p 2 Bytes verloren p 2 wird kleiner mit schrumpfender Seitenlänge Somit ist der absolute Gesamtverlust (in Bytes): v abs = es p + p 2 Somit ist der relative Gesamtverlust (in Prozent): v rel = 1 s ( es p + p 2 ) Durch Minimierung ergibt sich als optimale Seitenlänge: p opt = 2se

43 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Ein Beispiel Durchschnittliche Prozessgröße = s = 1 MB Größe eines Eintrags in der Seitentabelle = e = 8 Byte Optimale Seitenlänge = p opt = 2se = 4 kb Durchschnittliche Optimale Relativer Prozessgröße Seitenlänge Gesamtverlust s = 10 kb p opt = 400 Byte v rel = 4 % s = 1 MB p opt = 4 kb v rel = 0, 4 % s = 100 MB p opt = 40 kb v rel = 0, 04 % s = MB p opt = 400 kb v rel = 0, 004 % s = MB p opt = 4 MB v rel = 0, 0004 % Wählt man die optimale Seitenlänge, nimmt der Speicherverlust mit zunehmender Prozessgröße ab

44 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Segmentierung Weitere Methode um virtuellen Speicher zu verwalten Der virtuelle Speicher eines Prozesses besteht aus Einheiten (Segmenten) unterschiedlicher Länge Maximale Segmentlänge bestimmt der Offset der virtuellen Adressen Im Beispiel ist der Offset 12 Bits lang = 2 12 = Bits Das Betriebssystemen verwaltet für jeden Prozess eine Segmenttabelle Jeder Eintrag in der Segmenttabelle enthält die Länge des Segments im Hauptspeicher Virtuelle (logische) Adressen werden mit Hilfe der Segmenttabelle, die jeder Prozess besitzt, in physische (absolute) Adressen umgerechnet So berechnet man die Startadresse des Segments im Hauptspeicher Interne Fragmentierung gibt es bei Segmentierung nicht Es kommt zu externer Fragmentierung wie bei dynamischer Partitionierung Diese ist allerdings nicht so ausgeprägt

45 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Adressumwandlung bei Segmentierung

46 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Segmenttabellenstruktur Jeder Eintrag der Segmenttabelle enthält folgende Komponenten: Present-Bit: Legt fest, ob das Segment im Hauptspeicher ist Modify-Bit: Legt fest, ob das Segment verändert wurde Andere Steuerbits: Hier werden Schutzrechte und Rechte zur gemeinsamen Nutzung festgelegt Länge: Länge des Segments Segmentbasis: Wird mit dem Offset der virtuellen (logischen) Adresse verknüpft Beim Zugriff auf ein Segment, das nicht im Hauptspeicher liegt, löst der Prozessor eine Segment not present-ausnahme aus Die Ausnahme wird vom Kern des Betriebssystems abgefangen und das angeforderte Segment wieder in den Hauptspeicher geladen

47 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Wiederholung: Real Mode und Protected Mode Real Mode Betriebsart x86-kompatibler Prozessoren Prozessor greift wie ein Intel 8086 auf den Hauptspeicher zu Kein Zugriffsschutz Jeder Prozess kann auf den gesamten Hauptspeicher zugreifen Protected Mode (Schutzmodus) Betriebsart x86-kompatibler Prozessoren Basiert auf dem Konzept des virtuellen Speichers 16-Bit Protected Mode (Wurde mit dem eingeführt) Ausschließlich Segmentierung Maximal 16 MB physischer Hauptspeicher können angesprochen werden Organisation des Speichers in Segmente zu je maximal 2 16 Bytes = 64 kb 32-Bit Protected Mode (Wurde mit dem eingeführt) Organisation des Hauptspeichers via Segmentierung in Segmente zu je maximal 4 GB Paging kann der Segmentierung nachgeschaltet werden Maximal 4 GB physischer Hauptspeicher können angesprochen werden

48 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Aktueller Stand beim virtuellen Speicher (1/2) Moderne Betriebssysteme (für x86) arbeiten im Protected Mode und verwenden ausschließlich Paging Segmentierung wird (bei x86) nicht mehr verwendet Diese Arbeitsweise heißt Flat Memory-Modell Daten-, Code- und Stacksegment decken den gesammten 4 GB großen Adressraum ab Damit ist der komplette Adressraum eines Prozesses über einfache 32 Bit lange Offsets adressierbar Der Speicherschutz, den die Segmentierungseinheit bietet, ist somit ausgehebelt Wegen dem nachgeschalteten Paging, das seitenbasierten Speicherschutz ermöglicht, ist das aber kein Problem Moderne Betriebssysteme arbeiten nach dem Flat Memory-Modell, da es die Softwareentwicklung vereinfacht Zudem kann die Software leichter auf andere Prozessorarchitekturen, die keine Segmentierungseinheit besitzen, portiert werden

49 Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50 Aktueller Stand beim virtuellen Speicher (2/2) Einige Architekturen: IA32 (siehe Folie 41) Zweistufige Seitentabelle Länge virtueller Adressen: 32 Bits Je 10 Bits für die zwei Seitentabellen plus 12 Bits Offset IA32 mit Physical Address Extension (PAE) = Pentium Pro Dreistufige Seitentabelle Länge virtueller Adressen: 32 Bits 2 Bits für die erste Seitentabelle und je 9 Bits für die zwei weiteren Seitentabellen plus 12 Bits Offset AMD64 Vierstufige Seitentabelle Länge virtueller Adressen: 48 Bits Je 9 Bits für die vier Seitentabellen plus 12 Bits Offset

50 Kernelspace und Userspace Betriebssysteme unterteilen den virtuellen Speicher in Kernelspace und Userspace Kernelspace ist für den Kernel, Kernelerweiterungen und Treiber reserviert Userspace ist für die Anwendungen reserviert und wird um den Erweiterungsspeicher (Swap) vergrößert Der virtuelle Adressraum (virtuelle Speicher) von 32-Bit-Prozessoren ist auf 4 GB pro Prozess beschränkt Linux 1 GB sind standardmäßig für das System (Kernel) und 3 GB für den jeweiligen Prozess im Benutzermodus reserviert Das Verhältnis kann in 2 GB/2 GB oder 3 GB/1 GB (Kernelspace/Userspace) geändert werden Windows 2 GB sind standardmäßig für das System (Kernel) und 2 GB für den jeweiligen Prozess im Benutzermodus reserviert Das Verhältnis kann in 1 GB/3 GB (Kernelspace/Userspace) geändert werden Dr. Christian Baun 5. Vorlesung Betriebssysteme Hochschule Mannheim WS /50

6.Vorlesung Grundlagen der Informatik

6.Vorlesung Grundlagen der Informatik Christian Baun 6.Vorlesung Grundlagen der Informatik Hochschule Darmstadt WS1112 1/42 6.Vorlesung Grundlagen der Informatik Christian Baun Hochschule Darmstadt Fachbereich Informatik christian.baun@h-da.de

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

Lösung von Übungsblatt 2

Lösung von Übungsblatt 2 Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende

Mehr

(Cache-Schreibstrategien)

(Cache-Schreibstrategien) Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei

Mehr

5. Foliensatz Betriebssysteme

5. Foliensatz Betriebssysteme Prof. Dr. Christian Baun 5. Foliensatz Betriebssysteme Frankfurt University of Applied Sciences SS2016 1/47 5. Foliensatz Betriebssysteme Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

Mehr

Lösung von Übungsblatt 5

Lösung von Übungsblatt 5 Lösung von Übungsblatt 5 Aufgabe 1 (Speicherverwaltung) 1. Bei welchen Konzepten der Speicherpartitionierung entsteht interne Fragmentierung? Statische Partitionierung f Dynamische Partitionierung Buddy-Algorithmus

Mehr

RO-Tutorien 15 und 16

RO-Tutorien 15 und 16 Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft

Mehr

Tutorium Rechnerorganisation

Tutorium Rechnerorganisation Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Freispeicherverwaltung Martin Wahl,

Freispeicherverwaltung Martin Wahl, Freispeicherverwaltung Martin Wahl, 17.11.03 Allgemeines zur Speicherverwaltung Der physikalische Speicher wird in zwei Teile unterteilt: -Teil für den Kernel -Dynamischer Speicher Die Verwaltung des dynamischen

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

Paging. Einfaches Paging. Paging mit virtuellem Speicher Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz

Mehr

5.Vorlesung Betriebssysteme Hochschule Mannheim

5.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun 5.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/41 5.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Übung Praktische Informatik II

Übung Praktische Informatik II Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 13.01.2015 1 Klausur Termin: 10. März 2016, 13:00 Uhr Raum: Audimax, KG 2 4 ECTS Punkte 3 Klausuranmeldung Anmeldefrist: 31.01.2016 (Ausnahme:

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei Möglichkeiten die TLB zu aktualisieren Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 29.1.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten

Mehr

Technische Realisierung (1)

Technische Realisierung (1) Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken

Mehr

Teil 2: Speicherstrukturen

Teil 2: Speicherstrukturen Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)

Mehr

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert

Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

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

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

Mehr

2. Foliensatz Betriebssysteme und Rechnernetze

2. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun 2. Foliensatz Betriebssysteme und Rechnernetze FRA-UAS SS2018 1/52 2. Foliensatz Betriebssysteme und Rechnernetze Prof. Dr. Christian Baun Frankfurt University of Applied Sciences

Mehr

Ein- und Ausgabegeräte

Ein- und Ausgabegeräte Blockorientiert Jeder Block kann unabhängig gelesen und geschrieben werden. Festplatten, CD-ROMs, USB-Sticks, etc. Zeichenorientiert Keine Struktur, nicht adressierbar, Daten werden als Folge von Zeichen

Mehr

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

Speicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging

Mehr

Lösung von Übungsblatt 3

Lösung von Übungsblatt 3 Lösung von Übungsblatt 3 Aufgabe 1 (Rechnerarchitektur) 1. Welche drei Komponenten enthält der Hauptprozessor? Rechenwerk, Steuerwerk und Speicher. 2. Welche drei digitalen Busse enthalten Rechnersysteme

Mehr

Virtueller Speicher und Memory Management

Virtueller Speicher und Memory Management Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write

Mehr

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

Abschlussklausur. Betriebssysteme. 30. Januar Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit. Abschlussklausur Betriebssysteme 30. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen, Ihren Vornamen

Mehr

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

Speicher- und Cacheverwaltung unter Linux. Ralf Petring & Guido Schaumann Speicher- und Cacheverwaltung unter Linux Ralf Petring & Guido Schaumann Übersicht Virtueller Adressraum Virtuelle Speicheraufteilung Reale Speicheraufteilung Speicherverwaltung Speicherzugriff Auslagerungsstrategien

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme 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

Mehr

7. Speicherverwaltung

7. Speicherverwaltung 7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische

Mehr

Betriebssysteme Studiengang Informatik / SAT

Betriebssysteme Studiengang Informatik / SAT Betriebssysteme Studiengang Informatik / SAT Dipl.-Inf., Dipl.-Ing. (FH) Michael Wilhelm Hochschule Harz FB Automatisierung und Informatik mwilhelm@hs-harz.de http://www.miwilhelm.de Raum 2.202 Tel. 03943

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 16.1.217 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Speicherverwaltung (Swapping und Paging)

Speicherverwaltung (Swapping und Paging) Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente

Mehr

RO-Tutorien 17 und 18

RO-Tutorien 17 und 18 RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der

Mehr

Freispeicherverwaltung

Freispeicherverwaltung Freispeicherverwaltung Allgemeine Techniken und Anwendung unter Linux Martin Wahl, 17.11.03 Freispeicherverwaltung 1 Überblick Allgemeines Suchstrategien Verwaltungsstrategien externer / interner Verschnitt

Mehr

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

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

Mehr

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

Naiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München

Mehr

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)

Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

Grundlagen Rechnerarchitektur und Betriebssysteme Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,

Mehr

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

Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1. Speicherverwaltung - Grundlegende Konzepte 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

Datenübertragung per Direct Memory Access (DMA)

Datenübertragung per Direct Memory Access (DMA) Datenübertragung per Direct Memory Access (DMA) Durch einen direkten Speicherzugriff können die Daten ohne Umweg über den Prozessor in den Speicher geschrieben werden. So lässt sich die Ausführungsgeschwindigkeit

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

Fachbericht Thema: Virtuelle Speicherverwaltung Fachbericht 15.10.99 1 HINTERGRÜNDE/ MOTIVATION 2 2 FUNKTIONEN DER SPEICHERVERWALTUNG 2 3 ARTEN DER SPEICHERVERWALTUNG 2 3.1 STATISCHE SPEICHERVERWALTUNG 2 3.2 DYNAMISCHE SPEICHERVERWALTUNG 3 3.2.1 REALER

Mehr

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

Betriebssysteme I WS 2017/18. Prof. Dr. Dirk Müller. 05a 64-/32-Bit-Architekturen Betriebssysteme I 05a 64-/32-Bit-Architekturen Prof. Dr. Dirk Müller Begriff Eine n-bit-architektur ist eine Prozessorarchitektur mit einer Wortbreite von n Bit. meist Zweierpotenzen: 8-, 16-, 32-, 64-Bit-Architekturen

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden

Mehr

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

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Ein- Ausgabeeinheiten

Ein- Ausgabeeinheiten Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-

Mehr

2.3 Prozessverwaltung

2.3 Prozessverwaltung Realisierung eines Semaphors: Einem Semaphor liegt genau genommen die Datenstruktur Tupel zugrunde Speziell speichert ein Semaphor zwei Informationen: Der Wert des Semaphors (0 oder 1 bei einem binären

Mehr

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P

Konzepte und Methoden der Systemsoftware. Aufgabe 1: Polling vs Interrupts. SoSe bis P SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 3(Musterlösung) 2014-05-05 bis 2014-05-09 Aufgabe 1: Polling vs Interrupts (a) Erläutern Sie

Mehr

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

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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 8.3.217 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

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

Linker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode

Mehr

5 Kernaufgaben eines Betriebssystems (BS)

5 Kernaufgaben eines Betriebssystems (BS) 5 Kernaufgaben eines Betriebssystems (BS) Betriebssystem ist eine Menge von Programmen, die die Abarbeitung anderer Programme auf einem Rechner steuern und überwachen, insbesondere verwaltet es die Hardware-Ressourcen

Mehr

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

Betriebssysteme I WS 2016/2017. Betriebssysteme / verteilte Systeme Tel.: 0271/ , Büro: H-B 8404 Betriebssysteme I WS 2016/2017 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 2. Februar 2017 Betriebssysteme / verteilte Systeme Betriebssysteme

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

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen

Mehr

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme

Basisinformationstechnologie I Wintersemester 2011/ November 2011 Betriebssysteme Basisinformationstechnologie I Wintersemester 2011/12 23. November 2011 Betriebssysteme Seminarverlauf 12. Oktober: Organisatorisches / Grundlagen I 19. Oktober: Grundlagen II 26. Oktober: Grundlagen III

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 27.1.216 1 Klausur Termin: 1. März 216, 13: Uhr Raum: Audimax, KG 2 4 ECTS Punkte 2 Klausuranmeldung Anmeldefrist: 31.1.216 (Ausnahme: Biologie-Module)

Mehr

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr

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

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme Betriebssysteme Sommersemester 2017 Betriebssysteme 5. Kapitel Adressumsetzung Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 5.1 Speicher schneller, teurer, kleiner Betriebssysteme Adressumsetzung

Mehr

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus

é Er ist software-transparent, d.h. der Benutzer braucht nichts von seiner Existenz zu wissen. Adreßbus Cache- Control Datenbus 4.2 Caches é Cache kommt aus dem Französischen: cacher (verstecken). é Er kann durch ein Anwendungsprogramm nicht explizit adressiert werden. é Er ist software-transparent, d.h. der Benutzer braucht nichts

Mehr

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

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten

Mehr

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

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7 Prof. Dr. Sharam Gharaei Version 1.2.0, 07.04.2017 Inhaltsverzeichnis 1 Einleitung 1 1.1 Code-bezogene Aspekte 2 1.2 Speicherungsbezogene Aspekte 2 2 Grundlage der Realisierung 2 3 Die Realisierung 3 3.1

Mehr

Intel x86 Bootstrapping

Intel x86 Bootstrapping Intel x86 Bootstrapping Meine CPU, mein Code! Andreas Galauner SigInt 2010 Democode Es gibt Democode: http://github.com/g33katwork/ SigInt10OSWorkshop git clone git://github.com/g33katwork/ SigInt10OSWorkshop.git

Mehr

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.

DOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13. DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung

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 21.11.2012 1 Begrüßung Heute ist Tag der offenen Tür Willkommen allen Schülerinnen und Schülern! 2 Testat nach Weihnachten Mittwoch

Mehr

Lösungsvorschlag für Übung September 2009

Lösungsvorschlag für Übung September 2009 Universität Mannheim Vorlesung Betriebssysteme Lehrstuhl für Praktische Informatik 1 Herbstsemester 2009 Prof. Dr. Felix Freiling Dipl.-Inform. Jan Göbel Lösungsvorschlag für Übung 2 25. September 2009

Mehr

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

(a) Wie unterscheiden sich synchrone und asynchrone Unterbrechungen? (b) In welchen drei Schritten wird auf Unterbrechungen reagiert? SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Präsenzübung 2 2014-04-28 bis 2014-05-02 Aufgabe 1: Unterbrechungen (a) Wie unterscheiden sich synchrone

Mehr

4. Übung - Rechnerarchitektur/Betriebssysteme

4. Übung - Rechnerarchitektur/Betriebssysteme 4. Übung - Rechnerarchitektur/Betriebssysteme 1. Aufgabe: Caching Informatik I für Verkehrsingenieure Aufgaben inkl. Beispiellösungen a) Was ist ein Cache? Wann kommt Caching zum Einsatz? b) Welchen Vorteil

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

Betriebssysteme 1. Thomas Kolarz. Folie 1 Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die

Mehr

Klausur Betriebssysteme

Klausur Betriebssysteme Prof. Dr. Michael Jäger FB MNI Klausur Betriebssysteme 5.2.2016 Die Dauer der Klausur beträgt 90 Minuten. Es sind keine Unterlagen und Hilfsmittel erlaubt. Bitte bearbeiten Sie die Aufgaben soweit wie

Mehr

Wunschvorstellung der Entwickler vom Speicher

Wunschvorstellung der Entwickler vom Speicher Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar

Mehr

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)

Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley) Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in

Mehr

1 Fehler in Bibliotheksfunktionen. 1 Überblick. 2 Ziele der Aufgabe. Besprechung der 1. Aufgabe

1 Fehler in Bibliotheksfunktionen. 1 Überblick. 2 Ziele der Aufgabe. Besprechung der 1. Aufgabe U3 3. Übung U3 3. Übung U3-1 Fehlerbehandlung U3-1 Fehlerbehandlung Besprechung der 1. Aufgabe Fehlerbehandlung Infos zur Aufgabe 3: malloc-implementierung U3.1 Fehler können aus unterschiedlichsten Gründen

Mehr

Definitionen zum Verschnitt

Definitionen zum Verschnitt Definitionen zum Verschnitt Die absoluten Größen haben eine Einheit. Beim Bilden der Verhältnisgrößen wird die Einheit gekürzt. Man kann bei den Verhältnisgrößen die Größe durch die Anzahl vorgegebener

Mehr

Lösungsskizzen zur Abschlussklausur Betriebssysteme

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

Mehr

So funktionieren Computer

So funktionieren Computer So funktionieren Computer Ein visueller Streifzug durch den Computer & alles, was dazu gehört Ron White Illustrationen: Timothy Edward Downs und Sarah Ishida Alcantara Übersetzung aus dem Amerikanischen:

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen

Mehr

Anbindung zum Betriebssystem (BS)

Anbindung zum Betriebssystem (BS) 7.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle von der Software zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner durch Verwaltung

Mehr

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

5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1 5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes

Mehr

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

In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Speicherhierarchie In heutigen Computern findet man schnellen/teuren als auch langsamen/billigen Speicher Register Speicherzellen, direkt mit der Recheneinheit verbunden Cache-Speicher Puffer-Speicher

Mehr

5.5.5 Der Speicherverwalter

5.5.5 Der Speicherverwalter 5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) reagiert auf = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper)

Mehr

Abschlussklausur. Betriebssysteme. 14. Februar Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit.

Abschlussklausur. Betriebssysteme. 14. Februar Legen Sie bitte Ihren Lichtbildausweis und Ihren Studentenausweis bereit. Abschlussklausur Betriebssysteme 14. Februar 2014 Name: Vorname: Matrikelnummer: Tragen Sie auf allen Blättern (einschlieÿlich des Deckblatts) Ihren Namen, Vornamen und Ihre Matrikelnummer ein. Schreiben

Mehr

Konzepte von Betriebssystemkomponenten

Konzepte von Betriebssystemkomponenten Konzepte von Betriebssystemkomponenten Systemstart und Programmausführung Seminarvortrag 15.12.2003, Michael Moese Übersicht 2. Systemstart 3. Programmausführung TEIL 1: Systemstart 1.1 Das BIOS 1.2 Der

Mehr

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

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung Speicherverwaltung Teil I Hard- und Software-Komponenten zur Speicherverwaltung Inhaltsübersicht Zusammenhängende Speicherzuteilung Partitionen fester Größe Partitionen variabler Größe Methoden zur Verwaltung

Mehr

Musterlösung der Abschlussklausur Betriebssysteme und Rechnernetze

Musterlösung der Abschlussklausur Betriebssysteme und Rechnernetze Musterlösung der Abschlussklausur Betriebssysteme und Rechnernetze 2. August 2016 Name: Vorname: Matrikelnummer: Mit meiner Unterschrift bestätige ich, dass ich die Klausur selbständig bearbeite und das

Mehr