Vorlesung Betriebssysteme
|
|
- Lorenz Dunkle
- vor 6 Jahren
- Abrufe
Transkript
1 Kapitel VI Speicherverwaltung Vorlesung Betriebssyst 1
2 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene Adresse. Ausführungszyklus einer Programminstruktion: CPU holt Instruktion aus Hauptspeicher bzw. Instruction Cache basierend auf Programmzähler. Instruktion wird dekodiert. Operanden werden von Hauptspeicher/Register geholt. Resultate werden im Hauptspeicher/Register gespeichert. Meistens werden mehrere Programme zugleich exekutiert. Hauptspeicher hat zuwenig Platz für alle Programme und Daten. Festplatte als Backup-Speicher für Hauptspeicher. 2
3 Adressbindung (1) Programm liegt auf Festplatte als Binärcode. Programm wird geladen (von Festplatte tt in Hauptspeicher) und von Prozess exekutiert. Prozesse, die darauf warten, geladen zu werden, befinden sich in der Ready-Suspend-Warteschlange. Ein Prozess wird aus der Warteschlange ausgewählt und geladen. Prozess greift auf Instruktionen und Daten im Speicher zu. Prozess terminiert und gibt Speicher frei. 3Prozess Programm kann an viele Stellen im Speicher geladen werden. Die Adressbindung von Instruktionen und Daten kann auf verschiedene Arten erfolgen.
4 Adressbindung (2) Adressen in einem Programm Betriebssyste 4 Vorlesung B
5 Adressbindung (3) Zur Übersetzungszeit Programmstartadresse im Speicher zur Übersetzungszeit bekannt. Kann absolute Adressen generieren (Programmierer oder Compiler) Bei Änderung der Startadresse muss neu übersetzt werden. Zur Ladezeit Startadresse des Programms nicht zur Übersetzungszeit bekannt. Übersetzer erzeugt relocatable Code. Adressbindung erst zur Ladezeit Bei Änderung der Startadresse muss neu geladen werden. Zur Laufzeit Prozess kann während Exekution im Speicher verschoben werden. Adressbindung erst zur Laufzeit. Spezielle Hardware notwendig (dynamische Adressberechnung) 5
6 Verarbeitung eines Programms zur Übersetzungszeit Eingabeprogramm Symbolische Adressen z.b. Zähler Übersetzer oder Assembler Objektmodul z.b. 14 Warum muss ein Programm für jede Prozessorarchitektur neu übersetzt werden? Warum muss ein Programm beim Wechsel des Betriebssystems neu übersetzt werden? Betriebssyste 6 Relocatable Adressen 14 Bytes nach Beginn dieses Speichermoduls Vorlesung B
7 Verarbeitung eines Programms zur Ladezeit Objektmodul Weitere Objektmodule Linker Lademodul Lader Systembibliothek 7
8 8 Statisches Linken
9 Verarbeitung eines Programms zur Laufzeit Lader Dynamisch geladene Systembibliothek Binärcode (Image) absolute Adressen 9
10 Absolute und Relocatable Adressen 0 Betriebssyste 1 Vorlesung B
11 Dynamisches Laden und Linken Dynamisches Linken (meist für Sprach- oder Systembibliotheken): Linken von Routinen mit Benutzerprogramm zur Laufzeit. dynamisches Linken nach dem Laden! Statt Routine wird Stub in den Binärcode inkludiert. Stub weiß wo sich Routine (bereits geladen) befindet, oder wie man Routine lädt. Stub ersetzt sich selbst mit der Adresse der Routine und exekutiert diese. Bei der nächsten Verwendung einer Routine ist diese bereits im Speicher. Dynamisches Laden: Dynamisches Laden, um Speicher optimal auszunützen Alle Routinen sind auf der Platte in relocatable Format. Eine Code-Routine wird erst bei Gebrauch zur Laufzeit geladen. 1 1
12 Overlays Was ist, wenn ein Prozess mehr Speicher benötigt, als physikalisch verfügbar ist? Verwende Overlays: Lege nur jene Befehle im Speicher ab, die gerade benötigt werden. Alle anderen Befehle bleiben auf der Platte. Bei Bedarf ersetze geladene Befehle, die möglichst nicht mehr verwendet werden. Programme werden dazu in Segmente zerlegt. Ein Overlay ist eine Sequenz von Segmenten (Teil eines Programmes), die vollständig im Speicher exekutiert werden kann. 1 2
13 Logische und Physikalische Adressen Logische (virtuelle) Adressen aus der Sicht der CPU Physikalische Adressen aus der Sicht des Speichers Logische Adressen werden zur Laufzeit von der Memory Managnt Unit (MMU) in physikalische Adressen übersetzt. MMU ist ein Hardware-Bauteil. logische Adresse Relocation Register CPU + physikalische Adresse MMU Haupt- speicher 1 3
14 Speicherverwaltung (1) Was tun, wenn der Hauptspeicher nicht ausreicht? Teil des Speichers könnte auf die Platte ausgelagert werden. Platte ist größer, dafür langsamer als der Hauptspeicher. Mehrere Programme zugleich im Speicher CPU ist besser ausgelastet (Prozess wird exekutiert, während andere Prozesse auf I/O warten) Mehrere Programme exekutieren zugleich. Übersetzer, Editor, Debugger Textverarbeitungs-, Spreadsheet- und Zeichenprogramm Prozesse müssen untereinander vor unerlaubtem Speicherzugriff geschützt werden. 1geschützt Verwende virtuelle Adressen Werden wie herkömmliche Adressen verwendet Hardware übersetzt t diese in physikalische h Adressen. 4
15 2 grundlegende Ansätze: Swapping virtueller it Speicher Speicherverwaltung (2) Swapping jeder Prozess vollständig im Speicher läuft eine gewisse Zeit wird auf Plattenspeicher ausgelagert virtueller Speicher Teile eines Programms befinden sich im Speicher Beide Ansätze stellen dem Programmierer einen logischen Speicher zur Verfügung, der den gesamten Hauptspeicher aber nur einen Teil des Plattenspeichers (spezieller Bereich) umfasst. 1 5
16 Swapping (1) Prozess muss sich im Hauptspeicher befinden, bevor er exekutiert wird. Swapping: Transfer von vollständigem Prozess aus Hauptspeicher in den Plattenspeicher und umgekehrt Prozess kann temporär auf Plattenspeicher ausgelagert werden: Multitasking gute Ausnutzung der CPU Laufzeiten sollen im Vergleich zu den Swap-Intervallen lang sein. Swapping ist teuer! Betriebssystem muss jederzeit die Größe des dynamisch alloziierten Speichers eines Programmes kennen. Prozesse mit hoher Priorität haben Vorrang. Zu wenig Hauptspeicher Swap-Speicher Speicher der Platte ist separater (getrennt von Filesystem) Bereich, um Zugriffszeiten zu optimieren. Prozess wird wieder von Platte in Hauptspeicher kopiert. 1 6
17 17 Swapping (2)
18 Swapping Änderung der Speicherallokation Veränderung der Speicherallokation, wenn Prozess in den Hauptspeicher geladen wird Hauptspeicher verlässt 1 8
19 Speicherverwaltung mit Bitmaps oder Freibereichslisten Teil eines Speichers mit 5 Prozessen und 3 Leerräumen Bit im Bitmap entspricht einer Einheit (Wörter, einige Kilobytes) freie Einheiten als schraffierte Flächen Bitmap versus verkettete Liste 1 9
20 Speicherverwaltung mit verketteten Listen 0 Betriebssyste 2 Vorlesung B
21 Swapping dynamische Speicherblöcke Speichervergabe für dynamisch wachsende Datensegmente Speichervergabe für wachsenden Stack und Datensegmente 2 1
22 Swapping und dynamische Speichervergabe Suchverfahren (1) Bei Speicheranforderung: suche passenden Eintrag in Freispeicherliste benötigten t Anteil an Prozess zuweisen Rest wieder in Freispeicherliste eintragen First-fit: : erster Freibereich, der groß genug ist d.h. den mit der kleinsten Adresse Next Fit: : wie First Fit, aber Suche startet an zuletzt gefundener Position statt am Anfang Schlechter als First Fit: Fragmentiert gesamten physischen Adreßraum 2 2 Schlechter als First Fit: Fragmentiert gesamten physischen
23 Swapping und dynamische Speichervergabe Suchverfahren (2) Best-fit fit: : kleinster Freibereich, der groß genug ist; gesamte Liste muss durchsucht werden; sortiere Freibereich nach der Größe. Nachteil: erzeuge viele, sehr kleine Freibereiche Worst-fit: : verwende am schlechtesten passenden Bereich (größter Freibereich); muss gesamte Liste durchsuchen. First-fit und Best-fit sind besser als Worst-fit im Bezug auf Geschwindigkeit und Speicherverbrauch. First-fit und Next-fit sind die schnellsten Verfahren. 2 3
24 Swapping und dynamische Speicherverwaltung 4 Betriebssyste 2 Vorlesung B
25 Swap-SpaceSpace Wo befindet sich der Swap Space? Ist es ein normales File im File-System? Befindet es sich in einem speziellen Bereich auf der Platte? normales File einfache Lösung verhält sich wie ein File leicht zu ändern verwende herkömmliche Tools langsam wegen File-System System-Overhead spezieller Plattenbereich schneller Änderungen sind schwierig, da neuer Plattenbereich benötigt wird. 5 Betriebssyste 2 Vorlesung B
26 Swapping: Diskussion Unterschied zu festen Partitionen: Zahl, Größe und Ort der Partitionen variabel Löcher im Speicher können im Prinzip durch Verschieben zusammengefasst werden. Probl: Ein- und Auslagern ist sehr zeitaufwendig. Prozess kann zur Laufzeit mehr Speicher e anfordern. führt evtl. zu Verschiebung oder Auslagerung von Prozessen Schlechte Speichernutzung: Prozess benötigt in der Regel nicht immer seinen ganzen Adressraum. 2 6
27 Virtueller Speicher: Paging (1) Virtueller Speicher meist durch Paging implntiert Physikalischer Speicher (Haupt- und Plattenspeicher) wird in Blöcke (Frames - Seitenrahmen) gleicher Größe unterteilt. Logischer Speicher wird in Blöcke (Seiten) mit derselben Größe wie Frames unterteilt. Typische Seitengrößen liegen zwischen 4 Kbytes und 16 MBytes Bei der Exekution eines Prozesses durch die CPU werden nur jene Seiten in den Speicher geladen, die tatsächlich verwendet werden. Zwischen Speicher und Platte werden immer ganze Seiten übertragen. Tabelle für die Adresskonvertierung von virtuellen in physikalische Adressen Betrachte eine 32-Bit Adresse 4096 Byte Seiten (12 Bits für die Adressierung innerhalb der Seite) 2^20 Seiten (20 Bits) virtuelle Adresse 20 bits 12 bits Position Seiten- Tabelle Present Rd/Write + Hauptspeicher 2 7
28 Virtueller Speicher: Paging (2) Grundlagen: strikte Trennung zwischen logischen Adressen, die der Prozess sieht bzw. benutzt. physikalische h Adressen, die der Hauptspeicher sieht. Idee: bei jedem Speicherzugriff wird die vom Prozess erzeugte logische Adresse auf eine physikalische Adresse abgebildet Vorteile: durch Hardware: MMU (Memory Managnt Unit) kein Verschieben beim Laden eines Prozesses erforderlich auch kleine freie Speicherbereiche sind nutzbar Speicherschutz ist sehr flexibel ermöglicht auch Teile des Prozessraums auszulagern 2 8
29 29 Virtueller Speicher Paging g
30 UNIX System Structure User Mode Applications Standard Libs Kernel Mode Hardware
31 Paging Relation zwischen virtuellen und physikalischen Adressen 1 Betriebssyste 3 Vorlesung B
32 Seitentabellen MMU Adressumwandlung mit 16 4 KB Seiten 3 2
33 Vorteil der virtuellen Adressierung Programme können nicht zusammenhängende Bereiche eines physikalischen Speichers verwenden. Ein Programm kann nur auf seinen eigenen Speicherbereich (Seiten) zugreifen. Kann mehr virtuelle Seiten verwenden, als im physikalischen Speicher vorhanden sind. Seiten, die nicht in den Speicher passen, können auf die Platte ausgelagert werden. Jedes Programm kann bei der (virtuellen) Adresse 0 beginnen. Größe des Speichers unwichtig aus der Sicht des Programmierers 3 Betriebssyste 3 Vorlesung B
34 Paging Benutzer- versus Systemsicht Unterschied zwischen Adressbereich den der Benutzer sieht, und dem tatsächlichen physikalischen Speicher Für den Benutzer: kontinuierlicher Speicher ohne Lücken Tatsächlich: Benutzerprogramm über physikalischen Speicher verstreut Hardware-Adressierungsmodus als Schnittstelle zwischen beiden Adressbereichen Paging nutzt den Speicher optimal aus, da Seiten nicht kontinuierlich im Speicher abgelegt sein müssen. 3 4
35 Paging Seitengrößen: Vor- u. Nachteile Normalerweise hat jeder Prozess seine eigene Seitentabelle. 1 Eintrag pro Seite, die der Prozess verwendet Betriebssystem t verwaltet t physikalischen h Speicher. Seitengrößen mit Vor- und Nachteilen Prozesse benötigen nicht immer das Vielfache einer Seite als Speicher. Letzte Seite meist nicht effektiv verwendet. Kleine Seitengrößen besseren Nutzungsgrad. g Je kleiner die Seiten, desto größer die Seitentabellen Mehr Aufwand für Verwaltung der Seitentabellen Transfer von Frames aus Plattenspeicher effizienter für große Seiten 3 5
36 Probl mit Seitentabellen Eine Seitentabelle kann sehr groß werden Einträge für die meisten Programme. Wobei die meisten Einträge leer sind. Beachte, dass jeder Prozess eine eigene Seitentabelle hat. Lösung 1: Verwende eine Hierarchie von Seitentabellen (Pagen der Seitentabelle). t Virtuelle Adresse 12 bits 10 bits Seitenverzeichnis Pg Tbl Ptr 10 bits Seitentabelle physik. Seitennr. + Hauptspeicher 3 6
37 Invertierte Seitentabellen Lösung 2: 1 Tabelle (invertierte Seitentabelle) für alle Prozesse statt eigener Tabelle für jeden Prozess Wenn eine Speicheradresse von der CPU <prozess-id, seiten-nr, nr, offset> angesprochen wird, so wird die invertierte Seitentabelle durchsucht (Hash-Funktion). Ein Eintrag pro Seite des physikalischen Speichers in inv. Tabelle <prozess-id, seiten-nr> nr> Prozess-Id gibt an, wem die Seite gehört. Wenn ein Eintrag in der invertierten Seitentabelle gefunden wird, dann 3 generiere die physikalische Adresse <i, offset>. Die invertierte Seitentabelle speichert keine Informationen über Seiten, die nicht im Hauptspeicher sind. Zugriffszeiten sind länger wegen Hash-Suchvorgang. 7
38 CPU Invertierte Seitentabelle: Beispiel PID Seiten # Offset i Offset Physikal. Adr. virtuelle Adr. Haupt- Speicher Hash Funktion 1 i invertierte Seitentabelle PID Seiten # 1 Seitentabelle pro System 3 8
39 Schnellere Abbildung von virtuellem auf physikalischen Speicher Benötige Hardware für die Konvertierung von virtuellen in physikalische Adressen kann mehrere Speicherzugriffe verursachen (Tabelle + Adresse) Geschwindigkeit kann problematisch sein. Lösung: Translation Look-Aside Buffer (TLB) als HW-cache Speichert bereits gefundene Adressabbildungen Zusätzlich zur Seitentabelle, die im Speicher ist Assoziative Tabelle für die Adresskonvertierung Normalerweise 8 bis 4096 Einträge valid virtual page physical page 20 bits 20 bits Intel x86 3 9
40 Ginsamer Speicher Ginsame Verwendung von Seiten Mehrere Prozesse verwenden denselben Code oder dieselben Daten. Mehrere Seiten können mit dem selben Frame assoziiert sein. Bei read-only-daten ist das Teilen von Seiten immer sicher. Schreiboperationen auf ginsame Seiten sind problematisch. Copy-on-write: Seiten werden häufig ginsam verwendet, bis ein Prozess eine Schreiboperation ausführt. Beim Schreiben einer ginsamen Seite wird ein neuer Frame angelegt. Schreibender Prozess besitzt modifizierte Seite. Alle anderen Prozesse besitzen Originalseite. Synchronisiere Zugriff auf ginsame Seite. z.b. Semaphore 4 0
41 Virtuelle Adresse ohne physikalische Adresse: Seitenfehler Das nennt man einen Page Fault (Seitenfehler). Software Interrupt t (Trap Trap) )i in das Betriebssystem ti t aus der Hardware Verursacht durch: Erste Verwendung einer Seite (Demand Paging) Betriebssystem holt Seite von Platte, und Prozess macht weiter. Lese Daten von der Platte oder initialisiere Datenseite mit 0. Referenz auf eine ungültige Seite Programm wird mit einer Segmentation Violation terminiert. Seite ist auf der Platte. Hole Seite von Platte, lade diese in eine physikalische Seite des Hauptspeichers, und setze mit dem Programm fort. Copy-on-Write Seite (neuer Frame bei Schreiboperation) 4 1
42 Zustand von Seiten (Hardware Perspektive) Seiten-Frame Zähler (Position der Seite im Speicher oder auf der Platte) Valid Bit Seite im Hauptspeicher vorhanden Modify oder Dirty Bit Von Hardware beim Schreiben einer Seite gesetzt. Spezifiziert ob der Inhalt einer Seite seit dem Laden in den Hauptspeicher geändert worden ist. Wenn Seite nicht verändert worden ist, muss die Seite nicht auf die Platte geschrieben werden (um Platz für andere Seiten zu schaffen). Reference (Use) Bit Von Hardware beim Lesen oder Schreiben gesetzt 4Von Vom Betriebssystem änderbar Kann für Ersetzungsalgorithmen von Seiten verwendet werden. Sicherungsattribute ib t (Protection) ti lesen, schreiben, ausführen 2
43 Betriebssystem Sicherungsattribute (Windows) NOACCESS: Lesen, Schreiben oder Ausführen verursacht Access Violation (Verletzung von Zugriffsrechten). READONLY: Schreiben oder Ausführen dieser Speicherregion verursacht Access Violation. READWRITE: Ausführen dieser Speicherregion verursacht Access Violation. EXECUTE: Lesen oder Schreiben dieser Speicherregion verursachen Access Violation. EXECUTE_READ: Schreiben dieser Speicherregion i verursachen Access Violation. EXECUTE_READ_WRITE: : Keine Aktion bei dieser Seite. WRITE_COPY: Betriebssystem gibt Prozess eigene Kopie einer Seite bei einem Schreibversuch. Bei einem Versuch der Ausführung wird Access Violation verursacht. EXECUTE_WRITE_COPY: Betriebssystem gibt Prozess eigene Kopie einer Seite bei einem Schreibversuch. Kann keine Access Violation verursachen. 4 3
44 Behandlung von Seitenfehlern Überprüfe, ob Adresse gültig ist. Wenn nicht, dann terminiere diesen Prozess. Finde Frame für die Seite. Wenn kein Frame frei, muss der Inhalt eines Frames auf Platte ausgelagert werden. Lade Seite von der Platte Während diese Seite geladen wird, können andere Prozesse exekutiert werden. Modifiziere Seitentabelleneintrag für diese Seite. Starte die Instruktion neu, die zu Seitenfehler geführt hat. Hardware beendet solche Instruktionen. Kehre zur korrekten Position ausgehend vom Trap zurück. 4 4
45 Seitenfehler ohne zusätzliche physikalische Seite Muss eine Seite aus Hauptspeicher entfernen. Eine dirty Seite muss zuerst auf die Platte gespeichert werden. Welche Seite soll aus Hauptspeicher entfernt werden? Brauche passenden Algorithmus 4 globale Seite (gehört anderem Prozess) lokale Seite (gehört dem Prozess mit Seitenfehler) 5
46 Algorithmus für das Ersetzen von Seiten Optimale Strategie (OPT) ersetzt die Seite, deren nächste Referenz am weitesten in der Zukunft liegt erzeugt die wenigsten-seitenfehler keine reale Strategie wird id zur Bewertung anderer Strategien t herangezogen 4 6
47 Beispiel für OPT (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (1,2,4) nicht vorhanden, ersetze Zugriff 1 (1,2,4) vorhanden Zugriff 2 (1,2,4) vorhanden Zugriff 5 (1,2,5) nicht vorhanden, ersetze Zugriff 1 (1,2,5) vorhanden Zugriff 2 (1,2,5) vorhanden Zugriff 3 (325) (3,2,5) nicht vorhanden, ersetze Zugriff 4 (4,2,5) nicht vorhanden, ersetze Zugriff 5 (4,2,5) vorhanden 7 Seitenfehler 4 8
48 Algorithmus für das Ersetzen von Seiten FIFO Ersetze die älteste Seite im Hauptspeicher. Aufpassen: Auf alte Seiten kann häufig zugegriffen werden. Anzahl der Seitenfehler kann ansteigen, wenn die Anzahl der Frames erhöht wird - Belady s Anomaly. 4 9
49 Beispiel für FIFO (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff 1 (3,4,1) nicht vorhanden, ersetze Zugriff 2 (4,1,2) nicht vorhanden, ersetze Zugriff 5 (1,2,5) nicht vorhanden, ersetze Zugriff 1 (1,2,5) vorhanden Zugriff 2 (1,2,5) vorhanden Zugriff 3 (2,5,3) nicht vorhanden, ersetze Zugriff 4 (5,3,4) nicht vorhanden, ersetze Zugriff 5 (5,3,4) vorhanden 9 Seitenfehler 5 1
50 Beispiel für FIFO (Speicher mit 4 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (1,2,3,4) nicht vorhanden Zugriff 1 (1,2,3,4) vorhanden Zugriff 2 (1,2,3,4) vorhanden Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze Zugriff 1 (3,4,5,1) nicht vorhanden, ersetze Zugriff 2 (4,5,1,2) nicht vorhanden, ersetze Zugriff 3 (5,1,2,3) nicht vorhanden, ersetze Zugriff 4 (1,2,3,4) nicht vorhanden, ersetze Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze 10 Seitenfehler 5 3
51 Algorithmus für das Ersetzen von Seiten LRU (least-recently recently-used) Ersetze die Seite, die am längsten nicht verwendet worden ist. Annahme: Seite wird auch in der Zukunft nicht referenziert (Lokalitätsprinzip) Anzahl der Seitenfehler kaum höher als bei OPT Implntierung kann teuer sein. Verwalte Stack, wobei jedes Stack-Elnt einer Seite entspricht. Seite kommt auf Top-of of-stack, wenn diese angesprochen wird. Jede Seite bekommt Zeitstempel. 5 4
52 Beispiel für LRU (Speicher mit 3 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff 1 (3,4,1) nicht vorhanden, ersetze Zugriff 2 (4,1,2) nicht vorhanden, ersetze Zugriff 5 (1,2,5) nicht vorhanden, ersetze Zugriff 1 (2,5,1) vorhanden Zugriff 2 (5,1,2) vorhanden Zugriff 3 (1,2,3) nicht vorhanden, ersetze Zugriff 4 (2,3,4) nicht vorhanden, ersetze Zugriff 5 (3,4,5) nicht vorhanden, ersetze 10 Seitenfehler 5 6
53 Beispiel für LRU (Speicher mit 4 Frames) Zugriffsmuster: 1,2,3,4,1,2,5,1,2,3,4,5 Zugriff 1 (1) nicht vorhanden Zugriff 2 (1,2) nicht vorhanden Zugriff 3 (1,2,3) nicht vorhanden Zugriff 4 (1,2,3,4) nicht vorhanden Zugriff 1 (2,3,4,1) Zugriff 2 (3,4,1,2) Zugriff 5 (4,1,2,5) nicht vorhanden, ersetze Zugriff 1 (4,2,5,1) Zugriff 2 (4,5,1,2) Zugriff 3 (5,1,2,3) nicht vorhanden, ersetze Zugriff 4 (1,2,3,4) nicht vorhanden, ersetze Zugriff 5 (2,3,4,5) nicht vorhanden, ersetze 8 Seitenfehler 5 8
54 Algorithmus für das Ersetzen von Seiten Clock Policy FIFO-Variante Ringpuffer mit Frames, die für Austausch in Frage kommen + Positionszeiger nach Seitenfehler: Zeiger wird auf den folgenden Frame im Ringpuffer gesetzt Use Bit pro Frame, wird auf 1 gesetzt, wenn Seite geladen oder referenziert wird bei Seitenfehler: Suche erste Seite ab Zeigerpos. mit Use Bit = 0 Diese Seite wird ausgelagert und neue Seite auf dieser 5Diese Position abgelegt. Setze dabei Use Bits mit Wert 1 auf 0 second chance: eine Seite bekommt eine 2. Chance Dadurch wird versucht die Wahrscheinlichkeit einer Belady Anomalie zu verringern. 9
55 Clock Policy kaum mehr Seitenfehler als LRU 6 0
56 Resident Set Resident Set: : Seiten eines Prozesses, die sich im Hauptspeicher befinden Größe des Resident Set: Wie viele Frames sollen dem Prozess zugeteilt werden? wenige Frames -> viele Seitenfehler viele Frames -> reduziere Anzahl der Prozesse im Hauptspeicher (Einschränkung der Parallelität) statische Zuteilung dynamische Zuteilung 6 1
57 Working Set und Seitenersetzung Programme haben in der Regel Lokalität von Referenzen. temporäre Lokalität Wiederholter Zugriff auf dieselbe Speicherposition iti räumliche Lokalität Zugriffe auf Speicherpositionen, die nahe beieinander liegen Design von Speicherhierarchien hängt stark von der Lokalität ab. Working Set Menge von Seiten definiert durch die letzten N Seitenreferenzen Approximation der Lokalität eines Programms. Klein Sehr schnell Größe des Working Sets Groß Sehr langsam 6 2
58 Working Set Strategie (1) Variable Allokation von Seiten für einen Prozess basierend auf Lokalitätsannahme Working Set eines Prozesses zum Zeitpunkt t: W(k, t) ) = Menge der Seiten des Prozesses, auf die in den letzten k virtuellen Zeiteinheiten zugegriffen wurde t: virtuelle Zeit bezieht sich auf bestimmten Prozess k: : Zeitfenster (Window of Time) 6 W(k, t) ) beschreibt Lokalität des Prozesses 3
59 Working Set Strategie: ein Beispiel Seitenreferenztabelle k=10 k=10 W(k, t 1 ) = {1,2,5,6,7} t 1 W(k, t 2 ) = {3,4} t 2 schlechte Lokalität gute Lokalität Wenn der Working Set eines Prozesses mehr Seiten umfasst, als Frames zur Verfügung stehen, dann kommt es zum Trashing. 6 4
60 65 Working Set Strategie (2) k
61 Working Set Strategie (3) Ermittlung der Größe des Resident Set: Beobachtung der Working Sets der Prozesse Periodisches Löschen der Seiten, die sich nicht im Working Set befinden Wenn Resident Set < Working Set Anfrage nach fehlenden Frames vom Betriebssystem sind nicht genügend Frames verfügbar, suspendiere einen Prozess und versuche Allokation später nochmals Working Set Strategie versucht Trashing zu verhindern und maximiert Grad des Multiprogrammierens. 6 8
62 Working Set Strategie (4) Probl bei der Realisierung: Mitloggen der Zugriffe auf Seiten Mengenbildung der Seiten optimales k ist zur Laufzeit unbekannt und variiert Verhindern von Trashing: Beobachtung der Anzahl der Seitenfehler pro Prozess statt Working Set 6 9
63 Thrashing Virtueller Speicher kann zu hohen Speicherzugriffskosten führen. Thrashing: Wenn ein Prozess nicht genügend Frames hat, kann das System die gesamte Zeit dazu verwenden, Seiten von der Platte in den Hauptspeicher zu laden und umgekehrt. Muss versuchen, 1 oder mehrere Prozesse auszulagern (Swapping Swapping). Swapping Schreibe den gesamten Speicher eines Prozesses auf die Platte Vermeide Ausführung dieses Prozesses für eine Weile. Woher weiß man, wann Thrashing stattfindet? Überprüfe Auslastung der CPU und das Auslagern von Seiten (Paging). Geringe Auslastung der CPU + hohe Paging Rate bedeutet Thrashing. 7 1
64 Vermeiden von Thrashing Versuche den Working Set im Hauptspeicher zu halten Wenn die Anzahl der Working Sets aller Prozesse im Hauptspeicher größer als die Anzahl der zur Verfügung stehenden Frames ist, muss ein Prozess ausgelagert werden. 2 Betriebssyste 7 Vorlesung B
65 Segmentierung (1) Virtueller Speicher (bisher) ist ein eindimensionaler Speicherbereich Virtueller Speicher kann wachsen Verwaltung von verschiedenen ede e Datenstrukturen u e innerhalb ab eines es virtuellen Speichers ist schwierig Wachsen von Datenstrukturen innerhalb eines virtuellen Speicherbereichs ist aber komplex und inflexibel 1-dim Adressraum mit wachsenden Tabellengrößen Tabellen wachsen ineinander 7 4
66 Segmentierung (2) Segmentierung (andere Art des virtuellen Speichers): Jeder Prozess bekommt mehrere unabhängige geschützte Speicherbereiche (Segment)) mit unterschiedlicher Länge. Segmente enthalten Code und/oder Daten. Beim Laden des Prozesses werden seine Segmente beliebig im Speicher positioniert. 1 Segmenttabelle pro Prozess: für jedes Segment 1 Eintrag (Start, Länge) Zugriff auf Segment wird kontrolliert: Zugriffspriorität, Zugriffsrechte (Schreiben, Lesen, etc.) Überlappende und nicht-überlappende Segmente sind möglich: Nicht-überlappende Segmente um Programmfehler entgegenzuwirken Separater Code und Daten-Stack Stack-SegmenteSegmente 7 5
67 Segmentierung (3) Nicht-überlappende Segmente können verwendet werden, um erweiterten Adressbereich zu realisieren: Verteilte Netzwerke mit mehreren 32-Bit Maschinen können Segmentierung verwenden, um einen einheitlich großen Adressraum zu realisieren. Segmente können identische Adressbereiche realisieren. Windows 2000 verwendet 4 Gbyte Codesegmente, Stack- Segmente und Datensegmente Mehrere e e Prozesse (Threads) können ginsamen e e Speicher e verwenden. 6 7e e e o esse ( eads) ö e ge e sa e Spe c e
68 Segmentierung separate Segmente: 2-dim. Adressbereich Jede Tabelle kann unabhängig von anderen Tabellen innerhalb eines Segments wachsen bzw. schrumpfen. 7 7
69 Paging versus Segmentierung 78
70 Implntierung einer konventionellen Segmentierung g (a)-(d)(d) Checkerboarding (e) Bereinigung des Checkerboarding durch Verdichtung 7 9
71 Vorteile Segmentierung Vor- und Nachteile Daten in den Segmenten sind logisch zusammengehörig Segment ist sinnvoll Einheit it für Rechtevergabe z.b. Schreibverbot auf Code-Segment Einhaltung der Segmentgrenzen exakt überwachbar Segmente können unabhängig voneinander wachsen Nachteile Dynamische Speicherverwaltung wie beim Swapping nötig Segmente können beliebig groß werden 0g Ein-/Auslagern eines Segments kann sehr lange dauern Keine partielle Auslagerung eines Segments möglich 8
72 Zusammenfassung Partitionierung des Hauptspeichers Aufteilung auf mehrere Prozesse Relocation logische Adressierung (14 Bytes nach Beginn eines Speichersegments) Swapping Prozess muss sich vollständig im Hauptspeicher befinden Virtual Memory logischer Speicher > physikalischer Speicher Paging, Segmentierung Adressübersetzungstabellen und -hardware Lade- und Austauschstrategien 8 6
Kapitel VI. Speicherverwaltung. Speicherverwaltung
Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene
MehrTutorium 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
MehrMemory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at
Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen
MehrSpeicherverwaltung (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
MehrTechnische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung
MehrLinker: 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
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
MehrPaging. 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
MehrVirtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
MehrEinfü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
Mehrwichtigstes 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
MehrLinux Paging, Caching und Swapping
Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches
MehrBetriebssysteme. 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Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012
Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
MehrBetriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404
Betriebssysteme I WS 213/214 Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 271/74-45, Büro: H-B 844 Stand: 2. Januar 214 Betriebssysteme / verteilte Systeme Betriebssysteme
MehrKapitel 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
MehrSysteme 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
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Mehr8. Swapping und Virtueller Speicher
8. Swapping und Virtueller Speicher Der physikalische Adreßraum wird weiter abgebildet auf Arbeitsspeicher und Plattenspeicher. Prozesse (deren benutzte Seiten) die nicht laufen (und bald nicht laufen)
MehrSpeicher Virtuelle Speicherverwaltung. Speicherverwaltung
Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach
Mehr5.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(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
MehrTechnische Informatik 2 Speichersysteme, Teil 3
Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer
MehrEnterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13
UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright
Mehr4.3 Hintergrundspeicher
4.3 Hintergrundspeicher Registers Instr./Operands Cache Blocks Memory Pages program 1-8 bytes cache cntl 8-128 bytes OS 512-4K bytes Upper Level faster Disk Tape Files user/operator Mbytes Larger Lower
MehrBetriebssysteme 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(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
MehrBetriebssysteme Übung 2. Tutorium System Calls & Multiprogramming
Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode
Mehr1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack
1. Speicher 1 Typische Nutzung eines Adreßraums Textbereich relativ klein Sehr großer Abstand zwischen Heap und Stack Keine Verunreinigungen durch: E/A-Bereiche nicht bestückte Adreßbereiche fremde Kontrollflüsse
MehrTechnische Informatik 2 Speichersysteme, Teil 2
Technische Informatik 2 Speichersysteme, Teil 2 Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher Virtueller Seitenspeicher Seitenregister
MehrÜbung zu Einführung in die Informatik # 10
Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),
MehrSysteme 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
MehrGrundlagen 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,
MehrSysteme 1. Kapitel 3 Dateisysteme WS 2009/10 1
Systeme 1 Kapitel 3 Dateisysteme WS 2009/10 1 Letzte Vorlesung Dateisysteme Hauptaufgaben Persistente Dateisysteme (FAT, NTFS, ext3, ext4) Dateien Kleinste logische Einheit eines Dateisystems Dateitypen
MehrRechnernutzung 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:
MehrWenn alle Referenzbits gleich 1, wird nach FIFO entschieden
4 Second Chance (5) Second chance zeigt FIFO Anomalie Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden Erweiterung Modifikationsbit kann zusätzlich berücksichtigt werden (Dirty bit) vier Klassen:
MehrVerteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016
Verteilte Systeme SS 2016 Universität Siegen rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404 Stand: 31. Mai 2016 Betriebssysteme / verteilte Systeme Verteilte Systeme (1/14) i
MehrBetriebssysteme I: Speicherverwaltung (Teil A: Adress-Bindung)
Betriebssysteme I: Speicherverwaltung (Teil A: Adress-Bindung) Mühlbacher BS: Speicherverwaltung TeilA Adressbindung,Loader, Linker 1 Ausgangssituation Programm ist auf einem Massenspeicher als binary
MehrKonzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff
Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff von Athanasia Kaisa Grundzüge eines Zwischenspeichers Verschiedene Arten von Zwischenspeicher Plattenzwischenspeicher in LINUX Dateizugriff
MehrComputer-Systeme Teil 15: Virtueller Speicher
Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14.01.2013 1 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
Mehr6 Speicherverwaltung
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 mehreren Schritten zu modifizieren.
MehrKapitel 9 Hauptspeicherverwaltung
Kapitel 9 Hauptspeicherverwaltung Einführung: Speicher als Betriebsmittel Speicherkapazität wächst ständig ein PC heute hat 1000 mal soviel Speicher wie 1965 der größte Computer der Welt Anwendungsprogramme
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 13.2.213 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten
MehrGrundlagen der Betriebssysteme
Grundlagen der Betriebssysteme [CS2100] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 6 Speicherverwaltung
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Maren Bennewitz Version 5.2.214 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von
MehrDefinitionen 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
MehrUniversität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme. Vorlesung 4: Memory. Wintersemester 2001/2002. Peter B.
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 4: Memory Peter B. Ladkin Address Translation Die Adressen, die das CPU benutzt, sind nicht identisch mit den Adressen,
MehrAnbindung zum Betriebssystem (BS)
5.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner durch Verwaltung der Ressourcen
MehrBetriebssysteme Vorstellung
Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen
MehrPraktikum Informatik 2: Betriebssysteme und Rechnernetze
Praktikum Informatik 2: Betriebssysteme und Rechnernetze Thema: 4. Speicherverwaltung Datum: 19.03.2008 vorgelegt von: Antje Stoppa Carsten Erdmann Andr é Hartwig Ulrike Saretzki Inhaltsverzeichnis 1 Motivation
MehrTechnische Informatik 1
Technische Informatik 1 7 Prozesse und Threads Lothar Thiele Computer Engineering and Networks Laboratory Betriebssystem 7 2 7 3 Betriebssystem Anwendung Anwendung Anwendung Systemaufruf (syscall) Betriebssystem
MehrVorlesung 14 Speichersysteme (2)
D - CA - XIV - MH - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 14 Speichersysteme (2) Sommersemester 2003 Leitung: Prof. Dr. Miroslaw Malek D - CA - XIV - MH - 2 SPEICHERSYSTEME
MehrBetriebssysteme (BTS)
.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme..007 Organisatorisches zur Übung Verteilung auf die beiden
MehrBetriebssysteme 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
MehrHausübung 5 (Musterlösung )
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 5 (Musterlösung ) 2014-06-23 bis 2014-07-04 Hausübungsabgabe: Format: Lösungen in schriftlicher
MehrVirtuelle Speicherverwaltung
Virtuelle Speicherverwaltung Konzepte von -Komponenten Lehrstuhl für Informatik 4 Verteilte Systeme und e Sommersemester 2005 Olessia Usik olessia@freenet.de 20. Juni 2005 Gliederung 1 Einleitung 2 Swapping
MehrTechnische Informatik I. Übung 3 Speicherhierarchie. v t d 0 d 1 d 2 d 3 0 1 2 3. Technische Informatik I Übung 3. Technische Informatik I Übung 3
Institut für Kommunikationsnetze und Rechnersysteme Technische Informatik I Paul J. Kühn, Matthias Meyer Übung 3 Speicherhierarchie Inhaltsübersicht Aufgabe 3.1 Daten-Cache Aufgabe 3.2 Virtueller Speicher
Mehr1. Von-Neumann-Architektur (7/66 Punkte)
Fakultät Informatik/Mathematik Seite 1/8 Datum: 23.12.2010 Name: Vorname: Arbeitszeit: 60 Minuten Matr.-Nr.: Hilfsmittel: alle eigenen Unterschrift: wird vom Prüfer ausgefüllt 1 2 3 4 5 6 7 8 9 Diese hat
MehrBetriebssysteme. 8. Betriebsmittelverwaltung. Lehrveranstaltung im Studienschwerpunkt Verwaltungsinformatik
Betriebssysteme 8. Betriebsmittelverwaltung Lehrveranstaltung im Studienschwerpunkt Verwaltungsinformatik erstellt durch: Name: Telefon: 09281 / 409-279 Fax: 09281 / 409-55279 Email: mailto: Karl.Wohlrab@fhvr-aiv.de
MehrKonzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux
Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux Adressräume, Page Faults, Demand Paging, Copy on Write Seminar am 24.11.2003, Referent: Johannes Werner Speicherverwaltung ist bei heutigen
MehrBanner T 1 T 2. Bild T 7 T 8. Fließtext T 9
Name, Vorname: Matrikel-Nr.: Aufgabe 1 Wir schreiben das Jahr 2010. Ein Desktop-System mit drei identischen Prozessoren P = {P 1, P 2, P 3 } wird zur Darstellung einer Webseite verwendet. Insgesamt neun
MehrBetriebssysteme (BS) Inhalt. Speicherverwaltung. Olaf Spinczyk 1.
Betriebssysteme (BS) Speicherverwaltung http://ess.cs.tu-dortmund.de/de/teaching/ss2016/bs/ Olaf Spinczyk 1 olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os 1 In Zusammenarbeit mit Franz Hauck,
MehrVerteilte Echtzeit-Systeme
- 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
Mehr, SS2012 Übungsgruppen: Do., Mi.,
VU Technische Grundlagen der Informatik Übung 7: Speicher und Peripherie 183.579, SS2012 Übungsgruppen: Do., 31.05. Mi., 06.06.2012 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung
MehrBesprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen?
Themen heute Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen? Besprechung der Probeklausur Probeklausur wird jetzt ausgeteilt Notenschlüssel: 45 37,5 Punkte:
MehrCache. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011
Cache Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Cache 1/53 2012-02-29 Einleitung Hauptspeicherzugriffe sind langsam die
MehrBetriebssysteme - Speicherverwaltung
Betriebssysteme - Speicherverwaltung alois.schuette@h-da.de Version: (8c45d65) ARSnova 19226584 Alois Schütte 18. Mai 2016 1 / 80 Inhaltsverzeichnis Der Hauptspeicher ist neben dem Prozessor das wichtigste
Mehr(Prüfungs-)Aufgaben zum Thema Speicherverwaltung
(Prüfungs-)Aufgaben zum Thema Speicherverwaltung 1) Ein Betriebssystem mit virtueller Speicherverwaltung arbeite mit 32 Bit langen virtuellen Adressen einer Seitengröße von 4KB zweistufigem Paging, wobei
MehrRechnerarchitektur und Betriebssysteme (CS201): Virtual Memory
Rechnerarchitektur und Betriebssysteme (CS2): Virtual Memory 19 November 23 Prof Dr Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1 Was ist ein inode?
Mehr9 Speicherorganisation
9 Speicherorganisation In diesem Kapitel behandeln wir... verschiedene Speicherkonzepte Algorithmen zur effektivenspeichernutzung Rechteverwaltung vonspeicher 98 Kapitel 9: Speicherorganisation 9. Speicherhierarchie
MehrBesprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur
Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem
Mehr10.1 Seitentauschverfahren. Kapitel 10 Algorithmen zur Speicherverwaltung. Auswahlstrategie. Modellierung der Seitenzugriffe
0. Seitentauschverfahren Kapitel 0 Algorithmen zur Speicherverwaltung Virtueller Speicher verwendet Paging, hierbei treten evtl. Seitenfehler auf Motivierende Rechnung: Leistungseinfluss von Seitenfehlern
MehrBetriebssysteme 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
MehrSpeicherverwaltung, Interrupts & Exceptions. Daniel Richter Seminar Prozesssteuerung und Robotik 03. Dezember 2008
Speicherverwaltung, Interrupts & Exceptions Daniel Richter Seminar Prozesssteuerung und Robotik 03. Dezember 2008 Agenda 2 Speicherverwaltung Grundlagen Möglichkeiten auf verschiedenen Ebenen CPU/Hardware,
MehrSpeicherverwaltung ÜBERBLICK
Speicherverwaltung 3. Systeme ohne Speicherabstraktion............... 229 3.2 Speicherabstraktion: Adressräume................ 232 3.3 Virtueller Speicher................................ 24 3.4 Seitenersetzungsalgorithmen.....................
MehrMMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1
MMU Virtualisierung ISE Seminar 2012 Thomas Schaefer 1 Inhalt Allgemein MMU: Virtualisiert Probleme Problem 1: Ballooning Problem 2: Memory-Sharing Kurz: Problem 3 & 4 Translation Lookside Buffer TLB in
MehrLösungsskizzen zur Abschlussklausur Betriebssysteme
Lösungsskizzen zur Abschlussklausur Betriebssysteme 24. Januar 2013 Name: Vorname: Matrikelnummer: Studiengang: Hinweise: Tragen Sie zuerst auf allen Blättern (einschlieÿlich des Deckblattes) Ihren Namen,
MehrBetriebssysteme Teil 10: Virtueller Speicher
Betriebssysteme Teil 10: Virtueller Speicher 11.12.15 1 Übersicht Segmente Systemaufrufe Swapping Paging 2 Physikalischer Adressraum I - Wiederholung 3 Physikalischer Adressraum II - Wiederholung Es wird
Mehr5 Speicherverwaltung. bs-5.1 1
5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus
MehrLinux Memory Management für MySQL
Linux Memory Management für MySQL SIG MySQL - Performance 13.03.2012 Marius Dorlöchter mdo@ordix.de www.ordix.de Vorstellung Marius Dorlöchter Consultant bei ORDIX seit 2006 Gruppe Systemintegration Betriebssysteme:
MehrWas 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Übung 4 - Betriebssysteme I
Prof. Dr. Th. Letschert FB MNI 9. Juni 2002 Übung 4 - Betriebssysteme I Aufgabe 1 1. Erläutern Sie die Begriffe der transparent und der virtuell mit ihrer in der Informatik üblichen Bedeutung. 2. Wie werden
Mehr183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013
VU Technische Grundlagen der Informatik Übung 7: Speicher, Peripherie 183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung
MehrVorlesung "Verteilte Systeme" Sommersemester 1999. Verteilte Systeme. Adreßraum. Rechner. Verteilte Systeme, Sommersemester 1999 Folie 19.
Verteilte Systeme 19. Distributed Shared Memory Sharing!! No Sharing! Sharing? Evolution der Berechnungsmodelle Vergangenheit Gemeinsamer Speicher Einzelrechner Gegenwart Nachrichtenkommunikation Verteilte
MehrDie Sicht eines Sysadmins auf DB systeme
Die Sicht eines Sysadmins auf DB systeme Robert Meyer 21. Oktober 2016 Robert Meyer Die Sicht eines Sysadmins auf DB systeme 21. Oktober 2016 1 / 20 Inhaltsverzeichnis 1 Einleitung 2 IO unter Linux typische
MehrTutorium Rechnerorganisation
Woche 10 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
MehrBetriebssysteme WS 2012/13 Peter Klingebiel, DVZ. Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung
Betriebssysteme WS 2012/13 Peter Klingebiel, DVZ Zusammenfassung Kapitel 4 - Datenträger/Dateiverwaltung Zusammenfassung Kapitel 4 Dateiverwaltung 1 Datei logisch zusammengehörende Daten i.d.r. permanent
MehrTechnische Informatik 2 Software
Technische Informatik 2 Software Prof. Dr. Miroslaw Malek Sommersemester 2005 www.informatik.hu-berlin.de/rok/ca Thema heute Evolution der Software Schichten Lader (Manuell, Bootstrap, Programm im ROM)
MehrTeil 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
MehrSystemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur
Hochschule Mannheim Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun Übungsklausur Aufgabe 1: Definieren Sie den Begriff der Systemsoftware. Nennen Sie die Aufgaben und Komponenten
MehrOne of the few resources increasing faster than the speed of computer hardware is the amount of data to be processed. Bin Hu
Bin Hu Algorithmen und Datenstrukturen 2 Arbeitsbereich fr Algorithmen und Datenstrukturen Institut fr Computergraphik und Algorithmen Technische Universität Wien One of the few resources increasing faster
MehrKlausur. Betriebssysteme SS 2007
Matrikelnummer: 9999999 Klausur FB Informatik und Mathematik Prof. R. Brause Betriebssysteme SS 2007 Vorname: Nachname: Matrikelnummer: Geburtsdatum: Studiengang: Bitte tragen Sie auf jeder Seite Ihre
MehrSpeicher. Betriebssysteme (zu Teilen nach Tanenbaum) Hermann Härtig TU Dresden. Tanenbaum MOS
Speicher Betriebssysteme (zu Teilen nach Tanenbaum) Tanenbaum MOS Hermann Härtig TU Dresden Wegweiser Einführung Elementare Techniken Virtueller Speicher (Paging) Anliegen - Begriffe - Vorgehen Adressumsetzung
MehrPrü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(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
MehrWelche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel
Aufgabe 1 (5 Punkte) (Multiple Choice) Beantworten Sie folgende Fragen durch Ankreuzen der richtigen Antwort. Für jede falsche Antwort wird ein Punkt abgezogen (es werden minimal 0 Punkte vergeben). Welche
MehrDatenpfad einer einfachen MIPS CPU
Datenpfad einer einfachen MIPS CPU Zugriff auf den Datenspeicher Grundlagen der Rechnerarchitektur Prozessor 19 Betrachten nun Load und Store Word Erinnerung, Instruktionen lw und sw sind vom I Typ Format:
MehrÜbersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI
Übersicht Virtueller Speicher CPU-Modi Virtuelle Maschinen 2 Behandelter Bereich: Virtualisierung Syscall-Schnittstelle Ports Server Apps Server Apps Betriebssystem Protokolle Betriebssystem Medien Hardware
Mehr