Kapitel VI. Speicherverwaltung. Vorlesung Betriebssysteme
|
|
- Karoline Scholz
- vor 6 Jahren
- Abrufe
Transkript
1 Kapitel VI Speicherverwaltung 1
2 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern W (1 oder mehrere Bytes) Jedes Wort hat eine eigene Adresse. Ausführungszyklus einer Programminstruktion: CPU holt Instruktion aus Hauptspeicher 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 f r alle Programme und Daten. Festplatte als Backup-Speicher für f r Hauptspeicher. 2
3 Adressbindung (1) Programm liegt auf Festplatte als Binärcode. Programm wird geladen (von Festplatte in Hauptspeicher) und von Prozess exekutiert. Prozesse, die darauf warten, geladen zu werden, befinden sich in der Eingabewarteschlange. 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. Programm kann an viele Stellen im Speicher geladen werden. Die Adressbindung von Instruktionen und Daten kann auf verschiedene ene Arten erfolgen. 3
4 Adressbindung (2) Zur Übersetzungszeit Programmstartadresse im Speicher zur Übersetzungszeit bekannt. Kann absolute Adressen generieren 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 w Exekution im Speicher verschoben werden. Adressbindung erst zur Laufzeit. Spezielle Hardware notwendig (dynamische Adressberechnung) 4
5 Verarbeitung eines Programms zur Übersetzungszeit Eingabeprogramm Symbolische Adressen z.b. ZählerZ Übersetzer oder Assembler Objektmodul Warum muss ein Programm für f r jeden Prozessor neu übersetzt werden? Warum muss ein Programm beim Wechsel des Betriebssystems neu übersetzt werden? Relocatable Adressen 5 z.b. 14 Bytes nach Beginn dieses Speichermoduls
6 Verarbeitung eines Programms zur Ladezeit Objektmodul Weitere Objektmodule Linker Lademodul Lader Systembibliothek 6
7 Verarbeitung eines Programms zur Laufzeit Lader Dynamisch geladene Systembibliothek Binärcode (Image) absolute Adressen 7
8 Dynamisches Laden und Linken Dynamisches Linken (meist für f r Sprach- oder Systembibliotheken): Linken von Routinen mit Benutzerprogramm zur Laufzeit. Statt Routine wird Stub in den Binärcode inkludiert. Stub weiß wo sich Routine (bereits geladen) befindet, oder wie man Routine lädt. l Stub ersetzt sich selbst mit der Adresse der Routine und exekutiert diese. Bei der nächsten n 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. 8
9 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 m nicht mehr verwendet werden. Programme werden dazu in Segmente zerlegt. Ein Overlay ist eine Sequenz von Segmenten, die vollständig im Speicher exekutiert werden kann. 9
10 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 Management Unit (MMU) in physikalische Adressen übersetzt. MMU ist ein Hardware-Bauteil. CPU logische Adresse Relocation Register physikalische Adresse MMU Haupt- speicher 10
11 Speicherverwaltung (1) Was tun, wenn der Hauptspeicher nicht ausreicht? Teil des Speichers könnte k auf die Platte ausgelagert werden. Platte ist größ ößer, dafür r langsamer als der Hauptspeicher. Mehrere Programme zugleich im Speicher CPU ist besser ausgelastet (Prozess wird exekutiert, während w andere Prozesse auf I/O warten) Mehrere Programme exekutieren zugleich. Übersetzer, Editor, Debugger Textverarbeitungs-,, Spreadsheet- und Zeichenprogramm Prozesse müssen m untereinander vor unerlaubtem Speicherzugriff geschützt werden. Verwende virtuelle Adressen Werden wie herkömmliche Adressen verwendet Hardware übersetzt diese in physikalische Adressen. 11
12 2 grundlegende Ansätze: Swapping virtueller 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. 12
13 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 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 e des dynamisch alloziierten Speichers eines Programmes kennen. Prozesse mit hoher Priorität 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. 13
14 Swapping (2) 14
15 Swapping Änderung der Speicherallokation Veränderung der Speicherallokation, wenn Prozess in den Hauptspeicher geladen wird Hauptspeicher verlässt 15
16 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 16
17 Speicherverwaltung mit verketteten Listen 17
18 Swapping dynamische Speicherblöcke cke Speichervergabe für f r dynamisch wachsende Datensegmente Speichervergabe für f r wachsenden Stack und Datensegmente 18
19 Swapping und dynamische Speichervergabe Suchverfahren (1) Bei Speicheranforderung: suche passenden Eintrag in Freispeicherliste benötigten Anteil an Prozess zuweisen Rest wieder in Freispeicherliste eintragen First-fit 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 raum 19
20 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 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 ist das schnellste Verfahren. 20
21 Swapping und dynamische Speicherverwaltung 21
22 Swap-Space Space Wo befindet sich der Swap Space? Ist es ein normales File im File-System System? Befindet es sich in einem speziellen Bereich auf der Platte? normales File einfache Lösung L 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. 22
23 Swapping: Diskussion Unterschied zu festen Partitionen: Zahl, Größ öße e und Ort der Partitionen variabel Löcher im Speicher können k im Prinzip durch Verschieben zusammengefasst werden. Probleme: Ein- und Auslagern ist sehr zeitaufwendig. Prozess kann zur Laufzeit mehr Speicher anfordern. führt evtl. zu Verschiebung oder Auslagerung von Prozessen Schlechte Speichernutzung: Prozess benötigt in der Regel nicht immer seinen ganzen Adressraum. 23
24 Virtueller Speicher: Paging (1) Virtueller Speicher meist durch Paging implementiert Physikalischer Speicher (Haupt- und Plattenspeicher) wird in Blöcke (Frames( - Seitenrahmen) ) gleicher Größ öße e unterteilt. Logischer Speicher wird in Blöcke (Seiten( Seiten) ) mit derselben Größ öße e wie Frames unterteilt. Typische Seitengröß ößen liegen zwischen 512 Bytes 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 f r die Adresskonvertierung von virtuellen in physikalische Adressen en Betrachte eine 32-Bit Adresse 4096 Byte Seiten (12 Bits für f r die Adressierung innerhalb der Seite) 2^20 Seiten (20 Bits) virtuelle Adresse 20 bits 12 bits Position Present Rd/Write Seiten- Tabelle + Hauptspeicher 24
25 Virtueller Speicher: : Paging (2) Grundlagen: strikte Trennung zwischen logischen Adressen,, die der Prozess sieht bzw. benutzt. physischen Adressen,, die der Hauptspeicher sieht. Idee: bei jedem Speicherzugriff wird die vom Prozess erzeugte logische Adresse auf eine physische Adresse abgebildet durch Hardware: MMU (Memory Management Unit) Vorteile: kein Verschieben beim Laden eines Prozesses erforderlich auch kleine freie Speicherbereiche sind nutzbar Speicherschutz ergibt sich (fast) automatisch ermöglicht auch Teile des Prozessraums auszulagern 25
26 Virtueller Speicher Paging 26
27 Paging Relation zwischen virtuellen und physikalischen Adressen 27
28 Seitentabellen MMU Adressumwandlung mit 16 4 KB Seiten 28
29 Vorteil der virtuellen Adressierung Programme können k nicht zusammenhängende 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 k auf die Platte ausgelagert werden. Jedes Programm kann bei der (virtuellen) Adresse 0 beginnen. Größ öße e des Speichers unwichtig aus der Sicht des Programmierers 29
30 Paging Benutzer- versus Systemsicht Unterschied zwischen Adressbereich den der Benutzer sieht, und dem tatsächlichen physikalischen Speicher Für r den Benutzer: kontinuierlicher Speicher ohne LückenL 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. m 30
31 Paging Seitengröß ößen: Vor- u. Nachteile Normalerweise hat jeder Prozess seine eigene Seitentabelle. 1 Eintrag pro Seite, die der Prozess verwendet Betriebssystem verwaltet physikalischen 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. Je kleiner die Seiten, desto größ ößer die Seitentabellen Mehr Aufwand für f r Verwaltung der Seitentabellen Transfer von Frames aus Plattenspeicher effizienter für f r große Seiten 31
32 Virtuelle Adresse Probleme mit Seitentabellen Eine Seitentabelle kann sehr groß werden Einträge für 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). 12 bits 10 bits Seitenverzeichnis Pg Tbl Ptr 10 bits Seitentabelle physik. Seitennr. + Hauptspeicher 32
33 Invertierte Seitentabellen Lösung 2: 1 Tabelle (invertierte( Seitentabelle) ) für f r alle Prozesse statt eigener Tabelle für f r jeden Prozess Wenn eine Speicheradresse von der CPU <prozess-id, seiten-nr nr, offset> angesprochen wird, so wird die invertierte Seitentabelle durchsucht cht (Hash-Funktion). Ein Eintrag pro Seite des physikalischen Speichers in inv. Tabelle le <prozess-id, seiten-nr nr> Prozess-Id gibt an, wem die Seite gehört. Wenn ein Eintrag in der invertierten Seitentabelle gefunden wird, dann generiere die physikalische Adresse <i, offset>. Die invertierte Seitentabelle speichert keine Informationen über Seiten, die nicht im Hauptspeicher sind. Zugriffszeiten sind länger l wegen Hash-Suchvorgang Suchvorgang. 33
34 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 34
35 Schnellere Abbildung von virtuellem auf physikalischen Speicher Benötige Hardware für 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 f r die Adresskonvertierung Normalerweise 8 bis 4096 Einträge valid virtual page physical page 20 bits 20 bits Intel x86 35
36 Gemeinsamer Speicher Gemeinsame Verwendung von Seiten Mehrere Prozesse verwenden denselben Code oder dieselben Daten. Mehrere Seiten können k mit dem selben Frame assoziiert sein. Bei read-only only-daten ist das Teilen von Seiten immer sicher. Schreiboperationen auf gemeinsamen Seiten sind problematisch. Copy-on on-write: : Seiten werden häufig h gemeinsam verwendet, bis ein Prozess eine Schreiboperation ausführt. Beim Schreiben einer gemeinsame Seite wird ein neuer Frame angelegt. Schreibender Prozess besitzt modifizierte Seite. Alle anderen Prozesse besitzen Originalseite. Synchronisiere Zugriff auf gemeinsame Seite. z.b. Semaphore 36
37 Virtuelle Adresse ohne physikalische Adresse: Seitenfehler Das nennt man einen Page Fault (Seitenfehler). Software Interrupt (Trap)) in das Betriebssystem 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 on-write Seite (neuer Frame bei Schreiboperation) 37
38 Zustand von Seiten (Hardware Perspektive) Seiten-Frame Zähler Z (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 f r andere Seiten zu schaffen). Reference (Use)) Bit Von Hardware beim Lesen oder Schreiben gesetzt Vom Betriebssystem änderbar Kann für f r Ersetzungsalgorithmen von Seiten verwendet werden. Sicherungsattribute (Protection( Protection) lesen, schreiben, ausführen 38
39 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 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. 39
40 Behandlung von Seitenfehlern Überprüfe, ob Adresse gültig g ist. Wenn nicht, dann terminiere diesen Prozess. Finde Frame für 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 k andere Prozesse exekutiert werden. Modifiziere Seitentabelleneintrag für 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. 40
41 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 globale Seite (gehört anderem Prozess) lokale Seite (gehört dem Prozess mit Seitenfehler) 41
42 Algorithmus für f r das Ersetzen von Seiten Optimale Strategie (OPT) ersetzt die Seite, deren nächste n Referenz am weitesten in der Zukunft liegt erzeugt die wenigsten-seitenfehler keine reale Strategie wird zur Bewertung anderer Strategien herangezogen 42
43 Beispiel für 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 7 Seitenfehler 43
44 Algorithmus für f r das Ersetzen von Seiten FIFO Ersetze die älteste Seite im Hauptspeicher. Aufpassen: Auf alte Seiten kann häufig h zugegriffen werden. Anzahl der Seitenfehler kann ansteigen, wenn die Anzahl der Frames erhöht ht wird - Belady s Anomaly. einfache Implementierung: : Pointer, der zyklisch über die Seitenrahmen des Prozesses wandert. 45
45 Algorithmus für f r das Ersetzen von Seiten LRU (least( least-recently-used) Ersetze die Seite, die am längsten l nicht verwendet worden ist. Annahme: Seite wird auch in der Zukunft nicht referenziert (Lokalitätsprinzip) tsprinzip) Anzahl der Seitenfehler kaum höher h her als bei OPT Implementierung kann teuer sein. Verwalte Stack,, wobei jedes Stack-Element einer Seite entspricht. Seite kommt auf Top-of of-stack,, wenn diese angesprochen wird. Jede Seite bekommt Zeitstempel. 46
46 Beispiel für 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 9 Seitenfehler 47
47 Beispiel für 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 10 Seitenfehler 49
48 Beispiel für 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 10 Seitenfehler 51
49 Beispiel für 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 8 Seitenfehler 53
50 Algorithmus für f r das Ersetzen von Seiten Clock Policy FIFO-Variante Ringpuffer mit Frames,, die für 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 Position abgelegt. Setze dabei Use Bits mit Wert 1 auf 0 55
51 Clock Policy kaum mehr Seitenfehler als LRU wenn alle Use Bits gesetzt sind --> > FIFO 56
52 Resident Set Resident Set: : Seiten eines Prozesses, die sich im Hauptspeicher befinden Größ öße 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 nkung der Parallelität) t) Fixed Allocation Variable Allocation 57
53 Working Set und Seitenersetzung Programme haben in der Regel Lokalität t von Referenzen. temporäre re Lokalität Wiederholter Zugriff auf dieselbe Speicherposition räumliche Lokalität Zugriffe auf Speicherpositionen, die nahe beieinander liegen Design von Speicherhierarchien hängt h stark von der Lokalität t ab. Working Set Menge von Seiten definiert durch die letzten N Seitenreferenzen Approximation der Lokalität t eines Programms. Klein Sehr schnell Größ öße e des Working Sets Groß Sehr langsam 58
54 Working Set Strategie (1) Variable Allokation von Seiten für f r einen Prozess basierend auf Lokalitätsannahme 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) W(k, t) ) beschreibt Lokalität t des Prozesses 59
55 60 Working Set Strategie (2) k
56 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. 61
57 Working Set Strategie (3) Ermittlung der Größ öße e des Resident Set: Beobachtung der Working Sets der Prozesse Periodisches Löschen L der Seiten, die sich nicht im Working Set befinden Wenn Resident Set < Working Set Anfrage nach fehlenden Frames vom Betriebssystem sind nicht genügend gend Frames verfügbar, suspendiere einen Prozess und probiere Allokation später nochmals Working Set Strategie versucht Trashing zu verhindern und maximiert Grad des Multiprogrammierens. 64
58 Working Set Strategie (4) Probleme bei der Realisierung: Mitloggen der Zugriffe auf Seiten Ordnen der Seitenzugriffe optimales k ist zur Laufzeit unbekannt und variiert Verhindern von Trashing: : Beobachtung der Anzahl der Seitenfehler pro Prozess statt Working Set 65
59 Überblick: Seitenersetzungsalgorithmen 66
60 Thrashing Virtueller Speicher kann zu hohen Speicherzugriffskosten führen. f Thrashing: : Wenn ein Prozess nicht genügend gend Frames hat, kann das System die gesamte Zeit dazu verwenden, Seiten von der Platte in i den Hauptspeicher zu laden und umgekehrt. Muss versuchen, 1 oder mehrere Prozesse auszulagern (Swapping). Swapping Schreibe den gesamten Speicher eines Prozesses auf die Platte Vermeide Ausführung dieses Prozesses für 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. 67
61 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. Berechung von Working Sets Abschätzung durch Use-Bit 68
62 Segmentierung (1) Segmentierung: Jeder Prozess bekommt mehrere unabhängige ngige geschützte Speicherbereiche (Segment( Segment) ) mit unterschiedlicher Länge. L Segmente enthalten Code und/oder Daten. Beim Laden des Prozesses werden seine Segmente beliebig im Speicher positioniert. 1 Segmenttabelle pro Prozess: für f r jedes Segment 1 Eintrag (Start, Länge) Zugriff auf Segment wird kontrolliert: Zugriffspriorität, t, Zugriffsrechte (Schreiben, Lesen, etc.) Überlappende und nicht-überlappende Segmente sind möglich: m Nicht-überlappende Segmente um Programmfehlern entgegenzuwirken Separater Code und Daten-Stack Stack-SegmenteSegmente 70
63 Segmentierung (2) Nicht-überlappende Segmente können k verwendet werden, um erweiterten Adressbereich zu realisieren: Verteilte Netzwerke mit mehreren 32-Bit Maschinen können k Segmentierung verwenden, um einen einheitlich großen Adressraum zu realisieren. Segmente können k identische Adressbereiche realisieren. Windows 2000 verwenden 4 Gbyte Codesegmente, Stack- Segmente und Datensegmente Mehrere Prozesse (Threads( Threads) ) können k gemeinsamen Speicher verwenden. 71
64 1-dimensionaler Adressraum 1-dim Adressraum mit wachsenden Tabellengröß ößen Tabellen wachsen ineinander 72
65 Segmentierung separate Segmente: 2-dim. 2 Adressbereich Jede Tabelle kann unabhängig ngig von anderen Tabellen wachsen und schrumpfen. 73
66 Paging versus Segmentierung 74
67 Implementierung einer konventionellen Segmentierung (a)-(d) (d) Checkerboarding (e) Bereinigung des Checkerboarding durch Verdichtung 75
68 Zusammenfassung Partitionierung des Hauptspeichers Aufteilung auf mehrere Prozesse Relocation logische Adressierung Swapping Prozess muss sich vollständig im Hauptspeicher befinden Virtual Memory logischer Speicher > physikalischer Speicher Paging,, Segmentierung Adressübersetzungstabellen und -hardware Lade- und Austauschstrategien 81
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
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
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
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
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
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
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
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
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
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
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
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)
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
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
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
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
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:
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
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
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
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
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
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
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
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
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.
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,
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
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
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
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
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
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
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:
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
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
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
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?
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
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
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
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
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
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
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
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
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
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
MehrSpeicherverwaltung ÜBERBLICK
Speicherverwaltung 3. Systeme ohne Speicherabstraktion............... 229 3.2 Speicherabstraktion: Adressräume................ 232 3.3 Virtueller Speicher................................ 24 3.4 Seitenersetzungsalgorithmen.....................
MehrEarly first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement
Early first draft Höllische Programmiersprachen Seminar im WS 2014/15 Speichermanagement Max Haslbeck Technische Universität München 20.01.2015 Zusammenfassung 1 Einleitung 2 Begriffsklärung Heutzutage
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,
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)
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
MehrProzesse und Scheduling
Betriebssysteme für Wirtschaftsinformatiker SS04 KLAUSUR Vorbereitung mit Lösungen / Blatt 1 Prozesse und Scheduling Aufgabe 1 : Scheduling Gegeben seien die folgenden Prozesse und die Längen des jeweiligen
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
Mehr4. Übung - Betriebssysteme
1. ufgabe: Systemstart 4. Übung - etriebssysteme Informatik I für Verkehrsingenieure ufgaben inkl. eispiellösungen a Welche ufgabe hat das IOS und was passiert beim Starten eines Systems? b Welche ufgaben
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
Mehr5.6 Segmentierter virtueller Speicher
5.6 Segmentierter virtueller Speicher Zur Erinnerung: Virtueller Speicher ermöglicht effiziente und komfortable Nutzung des realen Speichers; Sharing ist problematisch. Segmentierung erleichtert Sharing,
MehrVon der Platte zur Anwendung (Platte, Treiber, Dateisystem)
(Platte, Treiber, Dateisystem) 1. Einleitung 2. Dateisysteme 2.1. Logisches Dateisystem 2.2. Dateiorganisationsmodul 2.3. Basis Dateisystem 3. Festplattentreiber 3.1. Funktionsweise 3.2. Scheduling Verfahren
MehrCUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1
CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig
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
MehrCA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder
CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch
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
MehrRealisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)
1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten
MehrVirtueller Speicher. Teil 2. Prof. Dr. Margarita Esponda-Argüero WS 2011/2012. M. Esponda-Argüero
Virtueller Speicher Teil 2 Prof. Dr. Margarita Esponda-Argüero WS 2011/2012 1 Speicherzuteilung im Kernel Speicherverwaltung für Kernel-Threads wird getrennt von der Speicherverwaltung für Benutzer-Prozesse
MehrVirtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel
Virtueller Speicher und Cache VL5 GRT, SS 2004, Kneisel Speicherhierarchie Übersicht! Ausgangsproblem, Motivation! Virtueller Speicher " Paging, Adressübersetzung, Pufferung " Segmentierung Abgrenzung
MehrProjekt für Systemprogrammierung WS 06/07
Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware
MehrLösungsvorschlag zur 5. Übung
Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zur 5. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche Aussagen über Caches sind
MehrBetriebssysteme und Systemsoftware
Merlin Denker Version 2 1 / 18 Vorwort Dieses Dokument soll einen Überblick über verschiedene Strategien aus der an der RWTH Aachen gehaltenen Vorlesung bieten. Die vorliegende Version dieses Dokuments
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
MehrPhysischer Datenbankentwurf: Datenspeicherung
Datenspeicherung.1 Physischer Datenbankentwurf: Datenspeicherung Beim Entwurf des konzeptuellen Schemas wird definiert, welche Daten benötigt werden und wie sie zusammenhängen (logische Datenbank). Beim
Mehr20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem
20. Algorithmus der Woche Online-Algorithmen: Was ist es wert, die Zukunft zu kennen? Das Ski-Problem Autor Susanne Albers, Universität Freiburg Swen Schmelzer, Universität Freiburg In diesem Jahr möchte
MehrArchitektur Verteilter Systeme Teil 2: Prozesse und Threads
Architektur Verteilter Systeme Teil 2: Prozesse und Threads 21.10.15 1 Übersicht Prozess Thread Scheduler Time Sharing 2 Begriff Prozess und Thread I Prozess = Sequentiell ablaufendes Programm Thread =
MehrWas machen wir heute? Betriebssysteme Tutorium 12. Organisatorisches. Frage 12.1.a. Programmieraufgaben Vorstellung. Antwort
Was machen wir heute? Betriebssysteme Tutorium 12 1 Organisatorisches Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität
MehrSystemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind
Betriebssysteme Systemprogramme bezeichnen alle Programme, die bestimmte Aufgaben unterstützen, die unabhängig von einer konkreten Anwendung sind Umfaßt z.b. auch Compiler, Interpreter und Dienstprogramme
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
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
MehrHardware Virtualisierungs Support für PikeOS
Virtualisierungs Support für PikeOS Design eines Virtual Machine Monitors auf Basis eines Mikrokernels Tobias Stumpf SYSGO AG, Am Pfaenstein 14, 55270 Klein-Winternheim HS Furtwangen, Fakultät Computer
MehrGrundlagen der Rechnerarchitektur. Ein und Ausgabe
Grundlagen der Rechnerarchitektur Ein und Ausgabe Übersicht Grundbegriffe Hard Disks und Flash RAM Zugriff auf IO Geräte RAID Systeme SS 2012 Grundlagen der Rechnerarchitektur Ein und Ausgabe 2 Grundbegriffe
MehrSpeicherverwaltung. Gliederung. Speicherverwaltung. Motivation. Übersicht: 1. Einführung und Übersicht. 2. Prozesse und Threads. 3.
Gliederung 1. Einführung und Übersicht 2. Prozesse und Threads 3. Interrupts Speicherverwaltung 4. Scheduling 5. Synchronisation 6. Interprozesskommunikation 7. Speicherverwaltung Speicherverwaltung Cl.
Mehr1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3
1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache
Mehr13. Übung mit Musterlösung
13. Übung mit Musterlösung 1 Lösung 1 Teil 1.Multiple Choice) Bewertung: Ein Punkt für richtige Antwort, für jede falsche Antwort ein Punktabzug. a) Für die Exponentialverteilung ist die Zeit bis zum nächsten
MehrInformatik I Modul 6: Betriebssysteme
Informatik I Modul 6: Betriebssysteme 2012 Burkhard Stiller M6 1 Modul 7: Betriebssysteme Überblick von Betriebssystemen Auftrags- und Speicherverwaltung Einlagerung, Zuweisung, Ersetzung 2012 Burkhard
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 4 Cache el0100 copyright W.
MehrOPERATIONEN AUF EINER DATENBANK
Einführung 1 OPERATIONEN AUF EINER DATENBANK Ein Benutzer stellt eine Anfrage: Die Benutzer einer Datenbank können meist sowohl interaktiv als auch über Anwendungen Anfragen an eine Datenbank stellen:
MehrEin- 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(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de)
Ü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
MehrMain Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins
5 Main Memory Hauptspeicher Memories 2 Speichermodule SIMM: single inline memory module 72 Pins DIMM: dual inline memory module 68 Pins 3 Speichermodule 4 Speichermodule 5 Speichermodule 6 2 Hauptspeicher
MehrBeim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:
1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address
MehrKlausur Betriebssystemkonzepte sowie Architektur von Rechnersystemen und Betriebssystemkonzepte
BSK/ARBK SS-04 Oß (Fachbereich 5, Elektrotechnik und Informationstechnik) Zuname: Vorname: Matr.-Nr.: Klausur Betriebssystemkonzepte sowie Architektur von Rechnersystemen und Betriebssystemkonzepte Fach-Nummer:
MehrModul 9: Betriebssysteme. Informatik I. Modul 9: Betriebssysteme. Semantische Lücke. Definition Betriebssystem. Aufgaben eines Betriebssystems
Fall Term 8, Department of Informatics, IFI, UZH, Switzerland Informatik I Prof. Dr. Burkhard Stiller Communication Systems Group CSG Department of Informatics IFI, University of Zürich Binzmühlestrasse,
MehrKapitel II. Computersysteme (1) Einführung: Hardware und Software. Bauteile eines einfachen PCs
Kapitel II Einführung: Hardware und Software 1 Computersysteme (1) Computer haben viele verschiedene Devices: Input/Output Devices Speicher Prozessor(en) Monitor 2 Bauteile eines einfachen PCs Bus Computersysteme
MehrVortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Bruno Kleinert fuddl@gmx.de. 20. Juni 2007
User Mode Linux (UML) Vortrag zum Seminar Konzepte und Techniken virtueller Maschinen und Emulatoren Friedrich-Alexander-Universität Erlangen-Nürnberg Bruno Kleinert fuddl@gmx.de 20. Juni 2007 Überblick
Mehr