Programm. Logischer Speicher. Physischer Speicher. Hintergrundspeicher

Größe: px
Ab Seite anzeigen:

Download "Programm. Logischer Speicher. Physischer Speicher. Hintergrundspeicher"

Transkript

1 5. Virtueller Speicher 5.1 Grundprinzip Dem Programm wird ein größerer Hauptspeicher vorgespiegelt, als physikalisch vorhanden ist: - Das Programm arbeitet nur mit logischen bzw. virtuellen Adressen, - OS, Compiler und HW übersetzen diese virtuellen Adressen in physische: Programm Logischer Speicher MMU OS Physischer Speicher Hintergrundspeicher 95 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

2 Logischer Adressraum: - max. Größe abhängig von Hardware, - 32-Bit bei IA32 CPUs (Intel & AMD), - variabel große Segmente = Segmentation. - oder gleich große Seiten (pages) = Paging. - oder auch beides kombiniert (z.b. Intel). Physischer Adressraum: - Größe ergibt sich aus der Bitbreite der Speicheradressierung. - Intel IA32 Rechnersysteme bieten 32-Bit (4 GB). Hintergrundspeicher: - Dient dem Ein- und Auslagern inaktiver Programmteile. - Langsamer, preisgünstiger, größer (Festplatte, Netz...), - Steuerung über Betriebssystem & Interrupts. MMU - Memory Management Unit im Prozessor: - HW-Einrichtung zur Adressübersetzung, - verwendet Segment- und/oder Seitentabelle, - erzeugt nötigenfalls Page- und Segment-Faults. Unterschiede zur dynamischen Partitionierung: - Auch Teile eines Programms können ausgelagert werden. - Programme, die größer als der Hauptspeicher sind, können nun auch verarbeitet werden. 96 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

3 5.2 Segmentierung Hauptspeicher & Programme werden in variabel große Segmente unterteilt: - ein Stack-, mehrere Code- & Daten-Segmente, - eventuell pro Array ein Datensegment, - eventuell pro Prozedur ein Segment, Segmenttabelle enthält Beginn und Länge. Abbildungsprinzip: - Register enthalten den Offset im Segment, - Segmentregister enthalten einen Index in die Segmenttabelle. #Segment 16 Segment-Index Segmenttabelle Offset Segmentierung für Programm verborgen. Segmentregister werden durch das BS beim Programmwechsel gesetzt. Beginn Länge 32 Offset phys. Adresse 97 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

4 Beispiel: Adressierung - Schreibe den Wert 8 im aktuellen Datensegment an Offset 1024: Hauptspeicher Instruktion: mov ds:[eax], 8 Registerbelegung: Datenseg.: ds = 4 Register: eax = 1024 Segmenttabelle Beginn: 512 Länge: Compiler berücksichtigt Segmente: - Sprungtabelle enthält außer der Offsetadresse der Prozedur, auch Segment#. - Beim Prozeduraufruf über Segmentgrenzen hinweg, wird auch das Segmentregister geladen und evtl. die Präsenz geprüft, - Segmentadresse trägt der Lader ein Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

5 Virtueller Speicher: - Bei reiner Segmentierung ist der nutzbare virtueller Adressraum so groß, wie der Hauptsp. - Programme bestehen aus mehreren Segmenten. - Nicht benötigte Segmente können auf Disk ausgelagert werden. - Present-Bit: Segment ausgelagert? - Bei Zugriff auf ein ausgelagertes Segment tritt ein Segmentfehler (Segment Fault) auf. - Vor der Einlagerung muss evt. ein Segment verdrängt werden, da der HS erschöpft ist Accessed- und Modified-Bit für Ersetzungsstrategie relevant. Mehrprogrammbetrieb mit segment-orientierten virtuellen Adressraum: - Ausgelagerte Segmente können an beliebiger Stelle wieder eingelagert werden. - ganze Segmente werden ein- und ausgelagert, - auch hier tritt externe Fragmentierung auf, - Kompaktifizierung auf Disk ist teuer. 32 MB phys. AR n MB Disk Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

6 Speicherschutz: zusätzliche Bits in Einträgen der Segmenttabelle: - Privilegstufen zur Abgrenzung von Code & Daten des Kerns gegenüber Anwendungen. - Segmentlänge verhindert Zugriffe außerhalb des Segmentbereichs. - Zugriffsarten: Read, Write & Execute. Bewertung: - (Im Prinzip hat jedes Programm den Hauptspeicher für sich alleine.) - je nach Verwendung ist interne Fragmentierung vermeidbar, nicht aber externe. - Abhilfe durch Kompaktifizierung ist möglich. - Segmente nur komplett auslagerbar (evt. groß). Bem.: Anzahl der Segmente beschränkt: - z.b. bei IA 32 max Stück pro Programm. - Eine Tabelle für alle Programme reicht nicht. - pro Block/Objekt ein Segment nicht mögl. Segmente dürfen sich auch überlappen - z.b. BS Zugriff auf gesamten HS. 100 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

7 5.3 Paging Unterteilt den logischen Adressraum in gleich große Seiten (pages): - IA32 unterstützt 4 GB logischen Adressraum, der in 4 KB Seiten unterteilt wird. Phys. AR in gleich große Seitenrahmen (page frames / Kachel) zerlegt: - gleich groß wir eine logische Seite, dient zur Einbettung der logischen Seiten. Grundlage für Paging ist Lokalität: - Programm greift in einem kleinen Zeitraum t nur auf einen Teil seines AR zu. - Nach Zugriff auf Adresse a ist ein Zugriff in der Nähe von a wahrscheinlich. - Gründe: sequentielle Ausführung, Schleifen,... nicht benötigte Teile auslagern. Beim Zugriff auf eine ausgelagerte Seite tritt ein Seitenfehler (Page Fault) auf. Damit werden Programme in viele kleine auslagerbare Einheiten unterteilt mehr Flexibilität. Entwurfsfragen: - Seitengröße: interner Verschnitt vs. Verwaltung. - Ersetzungsregel: Welche Seite wird ersetzt? - Laderegel: Wann wird eine Seite geladen? 101 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

8 Einfach virtualisierter Speicher: - Die Gesamtsumme des Speicherverbrauchs aller Programme ist beschränkt, - Keine Umschaltung der Adressübersetzung erforderlich (TLB!), - Kein impliziter Zugriffsschutz durch die Virtualisierung, - Koexistenz der Programme trotzdem möglich, - Nur eine Übersetzungstabelle. Progr. 1 Hintergrundspeicher Progr. 2 Logischer AR MMU Physikalischer AR BS 102 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

9 Mehrfach virtualisierter Speicher: - Pro Prozess separater virtueller Adressraum. - Adressübersetzungstabelle muss beim Prozesswechsel umgeschaltet werden. - Teile des Betriebssystemadressraumes auch für die Anwendungsprogramme zugreifbar. Hintergrundspeicher Proz.-1 Proz.-2 Prg.-3 M M U Physikalischer AR BS BS BS 103 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

10 5.3.1 Adressübersetzung Einstufiger Übersetzungsvorgang - z.b. 20 Bit virtuelle Adr., - 4 KByte Seiten, - Seitentabelle virtuelle Adresse konsumiert 4 MB. Aufeinanderfolgende 20 Seiten müssen nicht unbedingt auf Seitentabellen-Index fortlaufende Kacheln abgebildet werden. 12 Offset Seitentabelle phys. Adresse 104 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

11 5.3.2 Mehrstufige Adressübersetzung Seitentabellen der Ebenen 1+i können evt. ausgelagert werden. Somit weniger Speicherbedarf für Tabelle. Damit kann es u.u. mehrere Seitenfehler virtuelle Adresse beim Zugriff auf eine Adresse geben. 12 Offset Kontextregister Kontexttabelle Ebene 1 Ebene 2 Seitentabellen Ebene Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

12 5.3.3 Typisches Format für die Seitentabelle (Intel Pentium): Kacheladresse nur gültig, wenn die Seite im Speicher vorhanden ist. Andernfalls können diese 20 Bits zum Auffinden der Seite auf Disk verwendet werden. Bits: dirty & accessed von MMU gesetzt. Präsenz-Bit durch BS verwaltet. Page Frame/Kachel - Adresse Avail 00 dirty accessed PCD PWT U/S W/R P Nutzbar für Betriebssystem beschrieben Use-Bit Seite hat Cache Disabled Cache durchschreiben User Seite, nicht Supervisor Seite beschreibbar Präsenz Bit, Seite vorhanden 106 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

13 5.3.4 Übersetzungspuffer (TLB) TLB = "Translation Lookaside Buffer". TLB puffert früher übersetzte virtuelle Adressen und deren phys. Adr. Hat nur wenige Einträge: P4 (40), IA64 (128). Falls kein Treffer im TLB erfolgt, wird hardwaremäßig auf die Seitentabellen im Hauptspeicher zugegriffen (teuer). Hohe Trefferrate (Hit ratio) wichtig. Cache benützt nur physikalische Adressen: - nicht sichtbar für die Software! - mit physikalischer Adresse Eindeutigkeit: TLB Programmierung: - Komplett löschen bei Adressraumwechsel. - 1 Eintrag entfernen beim Auslagern einer Seite. virtuelle Adresse physikalische Adresse TLB Seitentabellen Betriebssystem Daten Cache Haupt- Speicher 107 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

14 5.3.5 Invertierte Seitentabellen Für sehr große virtuelle Adressenbereiche besser einen Eintrag pro physikalische Kachel als Eintrag pro logischer Seite anlegen. 64-Bit Adressraum (z.b. Sun Sparc, Intel Itanium, Dec Alpha,...): - ~ 252 Einträge in Seitentabelle, - ~ für 4 KB Seiten & 8 Byte pro Eintrag, - ~ Terabyte nur für Seitentabellen. Lösung: Parallele Suche in großem TLB (z.b. 128 Einträge bei IA64). Bei Fehlanzeige im TLB: - OS wird per Interrupt gerufen (TLB Miss Fault), - über Hashtabelle zur phys. Adresse. - Hashtab. liegt im virt. Adressraum evt. TLB Miss Fault beim Durchsuchen. Bei Fehlanzeige in der Hashtabelle: - Betriebssystem konsultiert sekundäre Seitentabelle, - evtl. sind Tabellen und Seiten auf Festplatte Einlagern, - Betriebssystem muss TLB und Hashtabelle konsistent halten. Neue MMU für 64-Bit Intel-Architektur. 108 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

15 5.3.6 Einlagerungsstrategie Demand Paging: - Nur die benötigten Seiten eines Programms werden eingelagert. - Einlagerung erfolgt erst bei Bedarf, also bei einem Seitenfehler. Pre-Paging: - Versuch, hohe Seitenfehlerrate beim Lauf eines Programms zu vermeiden. - Kosten/Nutzen-Verhältnis von Pre-Paging hängt davon ab, ob die in der Zukunft benötigten Seiten eingelagert werden können. - Eventuell bei einem Seitenfehler benachbarte Seiten auch einlagern Lokalität ausnutzen. Kombination von Pre- und Demand Paging: - Pre-Paging zu Beginn der Programmausführung vermeidet anfängliche hohe Seitenfehlerrate. - Pre-Paging für den Anfang des Programmcodes, für statische Daten, Teile des Heaps und Stacks. - weitere Einlagerungen erfolgen durch Demand Paging. 109 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

16 5.3.7 Ersetzungsalgorithmen Prinzip der Seitenersetzung: - Ist eine Seite nicht im HS (page fault), so wird sie mit Seitenersetzungsverfahren eingelagert. - Ist der HS erschöpft muss zuvor eine Seite auf Disk ausgelagert werden, damit Platz frei wird. - Ein-/Auslagern teuer Ersetzungsalgorithmus sollte Seitenfehler minimieren. Optimale Seitenersetzung: - Ersetze die Seite, die zukünftig am längsten nicht mehr benötigt wird. - Zukunft unbekannt theoret. untere Grenze - Beispiel für einen HS mit 3 Kacheln: a b c d c a e d b c a auslagern Seitenfehler für Seite D 110 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

17 5.3.8 Not recently used (NRU) Flags in der Seitentabelle: - Use-Bit falls die Seite referenziert wurde (periodisch zurücksetzen) - Dirty-Bit falls Seite verändert wurde (wichtig für die Auslagerungsstrategie). Auslagerungspriorität nach Klassen: A: Use-Bit = false, Seite unverändert B: Use-Bit = false, Seite verändert C: Use-Bit = true, Seite unverändert D: Use-Bit = true, Seite verändert Fall B beschreibt eine Seite, die in einem früheren Intervall verändert wurde und noch zurückgeschrieben werden muss First-in, First-out (FiFo) Einfache Liste der eingelagerten Seiten. Die am längsten residente Seite wird ersetzt. Nachteil: - Auch häufig genutzte Seiten werden entfernt. - ungünstig bei zyklischen Zugriffsmustern. 111 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

18 Belady s Anonomalie Mehr Seitenfehler trotz mehr Kacheln: tritt u.u. bei FIFO-Strategie auf. 4 Kacheln 11 Seitenfehler: Kacheln 13 Seitenfehler: Optimal: 4 Kacheln 9 Seitenfehler: Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

19 Verfahren des zweiten Versuches "Second chance page replacement algorithm". Verbesserung der FiFo-Strategie. Falls USE-Bit gelöscht, dann Seite auslagern. Falls USE-Bit gesetzt: zweite Chance - USE-Bit zurücksetzen, - Seite hinten erneut einordnen, Mehr Verwaltungsaufwand für die Liste als bei einfachem Fifo. Problem: evt. lange a used 2nd Chance alte Seiten auslagern a e unused used neue Seiten Suche nach Auslagerungs-Kandidat. Bemerkungen: - Zurücksetzen der Used-Bits impliziert auch, dass betroffene Seiten aus TLB gelöscht werden. - Andernfalls wird das Used-Bit beim nächsten Zugriff nicht gesetzt. b used c unused d used 113 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

20 Uhrzeigerverfahren Ähnlich wie Verfahren des zweiten Versuchs. Einen Zeiger im Ring umlaufen lassen. Ringliste der Seiten absuchen. Falls Use-Bit gelöscht, dann Seite auslagern. Falls Use-Bit gesetzt, zurücksetzen & Zeiger inkrementieren. Unterschied zu second chance Verfahren: - kein Umhängen von Listenträgen. g used h un used f used i un used j un used k unused l unused a used b used e used d used c unused 114 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

21 Least recently used (LRU) Am längsten unbenutzte Seite auslagern. Theoretischer Ansatz: - 64 Bit Zeitstempel in Kacheltabelle halten, - Zeitpunkt des letzten Zugriffs eintragen, - bei jedem Zugriff aktualisieren zu teuer. LRU-Simulation in Software: - pro Kachel ein Zähler, - periodisch werden die Zähler gealtert, - Kachel mit niedrigstem Zähler ersetzen. Arbeitsweise des Zählers: 1) Zähler vor Verschiebung Rechtsverschiebung 2) USE-Bit wird vorne eingefügt 1 0 herausgeschobenes Bit entfällt 115 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

22 Allokation von Kacheln Jedes Programm benötigt eine Mindestanzahl an Kacheln. Allokationsalgorithmen: - proportional, - gleichverteilt, - prioritätenabhängig,... Lokale Strategie: - Bei einem Seitenfehler werden nur Seiten des betroffenen Programms ausgelagert. - Die Prog. haben Speicherbereich fester Größe. - Vorteil: andere Prg. werden nicht beeinträchtig. - Nachteil: Kachelbedarf schwer schätzbar. Globale Seitenersetzungsverfahren: - Tritt ein Seitenfehler auf, so stehen die Seiten aller Programme zur Disposition. - Programme haben physikalischen Speicherbereich variabler Größe. - Vorteil: mehr Flexibilität Optimierung des Gesamtsystems. - Nachteil: gegenseitige Beeinflussung des Paging-Verhaltens. 116 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

23 Thrashing (Seitenflattern) Falls ein Programm weniger Kacheln zur Verfügung hat, als es ständig nutzt ergeben sich sehr häufige Seitenfehler & -austausche (Thrashing). Mögliche Ursachen: - lokale Verfahren: Zahl der Kacheln zu gering. - globale Verfahren: ein Programm braucht zu einem Zeitpunkt sehr viele Seiten, wodurch die Bereiche aller anderen sehr klein werden. Abhilfe: - eventuell Programm mit niedriger Priorität ganz auslagern (Swapping) viele Kacheln werden frei - Zuordnen ausreichend vieler Kacheln Problem: Bestimmen dieser Anzahl Lösungsansatz: Working-Set-Modell 117 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

24 Working-Set-Modell Working-Set-Modell approximiert Lokalität. Working Set (WS) = Menge von Seiten, die in t referenziert werden. Working Set Window (WSW) = Anzahl verfügbarer Kacheln für ein Programm. Beispiel: Seitenzugriffssequenz & Working-Set WS(t1)={1,2,5,6,7} WS(t2)={3,4} Problem: richtige Wahl WSW: - zu klein: WSW umfasst nicht die gesamte Lokalität Thrashing. - zu groß: WSW umfasst mehrere Lokalitäten weniger Programme können gleichzeitig verarbeitet werden. - zu beachten: Working Set ändert sich ständig. 118 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

25 Lösung: Page Fault Frequency Strategie - falls Seitenfehlerrate > oberer Schwellwert: o Allokation zusätzlicher Kacheln. o wenn nicht mögl. Programm verdrängen. - falls Seitenfehlerrate < unterer Schwellwert: o Freigabe von Speicherkacheln. #Seitenfehler Erhöhen der Kachelanzahl obere Grenze untere Grenze Reduzieren der Kachelanzahl #Kacheln 119 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

26 Shared Memory Speicherbereich kann an verschied. log. Adressen eingeblendet werden: Insbesondere bei mehrfach virtualisiertem Speicher. Kacheln gemeinsam nutzen: - Datenaustausch zw. Prozessen, - Redundanz von Code vermeiden. Muss beim Auslagern berücksichtigt werden betrifft auch bei lokalen Strategien andere! Copy-On-Write: - Speicher nur zum Lesen gemeinsam nutzen. - schreibt ein Prozess, so wird die zugehörige Seite kopiert Änderungen für andere unsichtbar. Proz.-1 shared shared - verwendet für Unix fork, globale Variablen in shared libraries und DLLs,... BS Proz.-2 Logischer AR BS M M U Hintergrundspeicher Physikalischer AR 120 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

27 Segmente & Paging Kombination von Segmenten mit Paging soll den Nachteil des internen Verschnitts bzw. der externen Speicherfragmentierung mildern. - log. Adr.raums wird in Segmente geteilt. - Segmente werden in Seiten zerlegt. - Segmente können sich eine Kachel teilen. Seitenersetzung aber schwieriger Zweistufiger Speicherschutz auf: - Segmentebene - und Seitenebene. Ausgelagert werden nur Seiten. Beispiel: Intel IA32. - Segmentierung ergibt lineare Adresse, - Paging ergibt physikalische Adresse (PageDirectory & PageTables umfassen jeweils 4KB). GDTR CR3 Segmentselektor LDTR Lokale Deskriptortabelle Globale Deskriptortabelle Page Directory Page Table virtuelle Adresse lineare Adresse SEGMENTIERUNG PAGING physikalische Adresse 121 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

28 5.4 Beispiel: Linux Physikalische Speicherverwaltung Zonen des physischen Adressraums: - ZONE_DMA: für ISA Geräte. - ZONE_NORMAL: Standardzone (direkt für Kern zugreifbar, z.b. für E/A). - ZONE_HIGHMEM: > 896 MB RAM (nur indirekt für den Kern zugänglich). - Zonen-Information siehe auch Befehl dmesg. - pro Zone definierte Schwellwerte (Watermarks): o Balance zwischen Zonen o Auslagern, falls zu wenig freie Kacheln. Verwaltung in Buddy-Technik (pro Zone): - Fragmentierung innerhalb der 2 n -Byte großen Container, - leere Blöcke schnell aggregierbar, - freie Blöcke schnell auffindbar, - alloziert Kacheln fortlaufend (wenn möglich). virtueller Adressrauum 4 GB Kern 3 GB User 0 physikalischer Adressraum ZONE_HIGHMEM 896 MB ZONE_NORMAL 16 MB ZONE_DMA Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

29 Slab Allocator: - gruppiert vorinitialisierte Objekte (z.b. I-Nodes) gleichen Typs (gleicher Größe), - pro slab eine oder mehrere Speicher-Kacheln vorsehen, - schnelles Auffinden von Blöcken mit passender Größe, - Vorteilhaft zur Allokation von kleinen Objekten, - Speicherallokation in den Größen 2 x (x>5), - leere Slabs auf Anfrage freigeben, - mildert interne Fragmentierung, - Slabs auch in Solaris. "Caches" im Sinne von Behälter: - für einen Objekttyp/-größe, - mehrere slabs pro Cache, - Slabs: voll, partiell gefüllt, leer, Info: - Konsole: cat /proc/slabinfo - Web: osg.informatik.tu-chemnitz.de/ mitarb/robge/talks/slaballocator.pdf 123 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

30 5.4.2 Virtuelle Speicherverwaltung Unterteilung des virtuellen Adressraums: - User Mode: 0-3GB (privat pro Prozess), Kernel Mode: 3-4 GB (shared). - Schutz für Kern und Anwendungen durch Segmentdeskriptoren, - nur Demand Paging (kein Pre-Paging), - keine Segmentierung in User-Mode. Insgesamt komplizierte Speicherverwaltung: - dreistufige Seitentabellenstruktur (entwickelt für 64-Bit Alpha). - IA 32 verwendet nur eine zweistufige Tabelle. (Eintrag im Page-Directory wird als mittlere Seitentabelle mit nur einem Eintrag behandelt). Seitenersetzung nach globaler LRU-Strategie: - modifizierter Clock Algorithmus, - Use-Bit erweitert 8-Bit Altersvariable, - beim ersten Zugriff nach einem Taskwechsel wird das Alter erhöht, - Daemon kswapd verringert Alter periodisch (10s) oder bei Bedarf (Watermark), - Code-Kacheln des Kern-Images werden nicht auslagert, - Slabs werden gesondert behandelt (siehe Literatur). Weitergehende Informationen unter: - Understanding the Linux Memory Manager, - Linux Memory Management, Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

31 5.5 Beispiel: Windows NT Physikalische Speicherverwaltung Jede Kachel in einem oder mehreren Working-Sets oder in einer der vier folgenden Speicherlisten. standby list: - unveränderte Seiten, - kürzlich aus Working-Set entfernt. - gehören noch zu einem Prozess. - haben noch original Kopien auf der Platte und können somit einfach entfernt werden. modified list: - veränderte Seiten, - kürzlich aus Working-Set entfernt. - Seiten noch im Hauptspeicher und gehören einem Prozess. free list: - unveränderte Seiten, die keinem Prozess gehören. zeroed pages list: - wie free list, Seiten jedoch mit Nullen aufgefüllt. 125 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

32 Bem.: alle Kacheln, die einen physikalischen Defekt aufweisen sind ebenfalls in einer Liste vermerkt. Kacheln wandern zwischen Working-Sets und verschiedenen Listen. Wird eine Kachel aus WorkingSet verdrängt, kommt sie in die Modified/Standby Liste. Falls eine Seite ausgelagert wird, wird die Kachel in die Free Liste verschoben. BS verschiebt Kacheln zw. den Listen: - von Modified- auf Standby-List, - von Free- auf Zeroed-List Virtuelle Speicherverwaltung Unterteilung des Adressraums: - durch Segmente für Kern und Anwendungen. - User Mode: 0-2GB (privat pro Prozess). - Kernel Mode: 2-4 GB (shared). - Paging (ohne Segmentierung). - Demand- und Pre-Paging. 126 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

33 Seitenersetzung: - lokale Strategie: o Clock bei Einzel-CPUs zurücksetzen des Used-Bits bedeutet evt. TLB-Eintrag manuell löschen. o FIFO bei Multiprozessor-Systemen Clock zu teuer, da mehrere TLBs. - Clustering: Beim Einlagern einer Seite werden Nachbarseiten mit eingelagert (Pre-Paging): Data: 0-3 Seiten; Code: 1-7 Seiten - variabel große Working-Sets: o jeder Prozess hat einen Working-Set o MIN: 20-50, MAX: Kacheln. o initiale Werte für alle Prozesse gleich, o konfigurierbar mit speziellen Werkzeugen. - evt. WorkingSet (WS) bei einem Seitenfehler anpassen: o WS<MIN: Kachel hinzufügen o WS>MAX: Kachel aus WS entfernen (wird noch nicht ausgelagert) - Bem.: Kern ist in zwei Speicherpools unterteilt, einen mit und einen ohne Seitenersetzung. 127 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

34 Balance-Set-Manager: - Hintergrundprozess, der ein Mal pro Sek. prüft, ob genügend freie Kacheln vorhanden sind. - Wenn nicht, WorkingSet-Manager starten o passt WS-Größe an und entzieht Kacheln o zunächst inaktive Proz. mit WS>MAX. o Prozesse mit WS<MIN nur im Notfall. o progressiv aggressivere Durchläufe. Zustände der Kacheln eines Prozesses: - Verfügbar: ungenutzte Kacheln. - Reserved: logischer Adressbereich reserviert. - Commited: Kacheln / Platz in Pagefile alloziert. - Vorteil: Kacheln möglichst spät allozieren. Win32 Heaps für Anwendungen: - VMM bietet nur Seitengranularität (z.b. VirtualAlloc). - für effiziente Allokation kleiner Objekte, - i.d.r. in Laufzeitumgebungen. 128 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

35 5.6 Zusammenfassung Segmentierung: - Adressübersetzung: Segmentstart + 32-Bit Offset, - variable Größe vermeidet internen Verschnitt, - Schutz: Länge, Zugriffsart, Privilegstufe, - nur beschränkte Anzahl. Paging: - HS in Seiten fester Größe (z.b. 4 KB) unterteilen, - Adressübersetzung: mehrstufig über Seitentabellen (auch auslagerbar), - virt. Speicherblock muss nicht auf fortlaufende Kacheln abgebildet werden vermeidet externe Fragmentierung (im Vergleich zu reiner Segmentierung) IA32: Segmentierung & Paging (abschaltbar) kombinierbar. TLB puffert bereits übersetzte virtuelle Adressen. Ersetzungsstrategien (für Paging & Segmentierung): - verwenden accessed und dirty Bits gesetzt durch MMU und present Bit verwaltet durch BS, - dienen der Analyse des Verhalten in der Vergangenheit, um damit die Zukunft abzuschätzen. Thrashing: Seitenflattern ständig zu wenig Kacheln WorkingSet näherungsweise bestimmen mit Page Fault Frequency Strategie. 129 Betriebssysteme, Sommer 2005 Verteilet Systeme, Universität Ulm, M. Schöttner

Tutorium Rechnerorganisation

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

Mehr

wichtigstes Betriebsmittel - neben dem Prozessor: Speicher

wichtigstes 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

Mehr

Memory 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 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

Mehr

Speicherverwaltung (Swapping und Paging)

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

Mehr

Linux Paging, Caching und Swapping

Linux 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

Mehr

Technische 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 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

Mehr

Übung zu Einführung in die Informatik # 10

Ü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),

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

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

Mehr

5.5.5 Der Speicherverwalter

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

Mehr

Einführung in die technische Informatik

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

Mehr

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

(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

Mehr

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

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

Mehr

Wenn alle Referenzbits gleich 1, wird nach FIFO entschieden

Wenn 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:

Mehr

Fachbericht Thema: Virtuelle Speicherverwaltung

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

Mehr

Wie groß ist die Page Table?

Wie 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

Mehr

Betriebssysteme I WS 2013/2014. Betriebssysteme / verteilte Systeme rolanda.dwismuellera@duni-siegena.de Tel.: 0271/740-4050, Büro: H-B 8404

Betriebssysteme 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

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

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

Mehr

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012

Ü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

Mehr

8. Swapping und Virtueller Speicher

8. 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)

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller 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

Mehr

1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack

1. 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

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Mehr

Kapitel 9 Hauptspeicherverwaltung

Kapitel 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

Mehr

5.6 Segmentierter virtueller Speicher

5.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,

Mehr

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

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

Mehr

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

Betriebssysteme. Dipl.-Ing.(FH) Volker Schepper Speicherverwaltung Real Mode Nach jedem starten eines PC befindet sich jeder x86 (8086, 80386, Pentium, AMD) CPU im sogenannten Real Mode. Datenregister (16Bit) Adressregister (20Bit) Dadurch lassen sich

Mehr

Technische Informatik 2 Speichersysteme, Teil 3

Technische 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

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Speicher 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

Mehr

Lösungsvorschlag zur 6. Übung

Lösungsvorschlag zur 6. Übung rof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 9/1 Lösungsvorschlag zur 6. Übung 1 räsenzübungen 1.1 Schnelltest a) Caches und virtueller Speicher können

Mehr

(Prüfungs-)Aufgaben zum Thema Speicherverwaltung

(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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

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

Mehr

Grundlagen der Informatik III Wintersemester 2010/2011

Grundlagen 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

Mehr

4.3 Hintergrundspeicher

4.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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

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

Mehr

Speicher- Management

Speicher- Management - Management hierarchie Die Hauptcharakteristika von sind: Kosten Kapazitäten Zugriffszeiten Generell gilt: kürzere Zugriffszeiten bedingen höhere Kosten pro bit größere Kapazität bedingt geringere Kosten

Mehr

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13

Enterprise 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

Mehr

1 Windows 2000/XP (3.1, NT, 95, 98)

1 Windows 2000/XP (3.1, NT, 95, 98) 1 Windows 2000/XP (3.1, NT, 95, 98) 2 Der Anfang: MS-DOS Zielsetzung: Ein leichtes Betriebssystem für IBM-PCs mit lediglich einem Benutzer Abwärtskompatibel zu CP/M-80 von Digital Research Einführung 1981

Mehr

Linux Memory Management für MySQL

Linux 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:

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung. Maren Bennewitz

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

Mehr

5.5 Virtueller Speicher

5.5 Virtueller Speicher 5.5 Virtueller Speicher Wenn der reale Speicher sogar für einzelne Prozesse zu klein ist : Virtueller Speicher (virtual memory), ist beliebig groß, nimmt alle Prozesse auf, ist in gleichgroße Teile Seiten

Mehr

Definitionen zum Verschnitt

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

Mehr

Grundlagen der Betriebssysteme

Grundlagen 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

Mehr

Virtuelle Speicherverwaltung

Virtuelle 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

Mehr

Technische Informatik 1

Technische 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

Mehr

Intel x86 Bootstrapping

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

Mehr

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

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

Mehr

Bibliotheks-basierte Virtualisierung

Bibliotheks-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Bibliotheks-basierte Virtualisierung (WS15/16)

Mehr

Betriebssysteme (BTS)

Betriebssysteme (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

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

Realisierung: 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

Mehr

Anbindung zum Betriebssystem (BS)

Anbindung 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

Mehr

Technische Informatik 2 Speichersysteme, Teil 2

Technische 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

Tutorium Rechnerorganisation

Tutorium 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

Mehr

Virtueller 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. 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

Mehr

Echtzeit-Multitasking

Echtzeit-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

Mehr

Grundlagen von Caching-Mechanismen beim Zusammenspiel von Mikroprozessor und Betriebssystem. Klaus Kusche Dezember 2015

Grundlagen von Caching-Mechanismen beim Zusammenspiel von Mikroprozessor und Betriebssystem. Klaus Kusche Dezember 2015 Grundlagen von Caching-Mechanismen beim Zusammenspiel von Mikroprozessor und Betriebssystem Klaus Kusche Dezember 2015 Inhalt Ziele & Voraussetzungen Grundidee & Beispiele von Caches Bedeutung effizienter

Mehr

Konzepte von Betriebssystemkomponenten Disk-Caches und Dateizugriff

Konzepte 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

Mehr

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1

MMU 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

Mehr

3. Speicherverwaltung

3. Speicherverwaltung Überblick 3. Speicherverwaltung 3.1 Grundlegendes 3.2 Seitenersetzungsstrategien 3.3 Speicherverwaltung unter Linux 3.4 Speicherverwaltung unter Windows 3.5 Leistungsaspekte des virtuellen Speichers O.

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme 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

Mehr

Technische 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

Technische 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

Mehr

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

Besprechung 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:

Mehr

10.1 Seitentauschverfahren. Kapitel 10 Algorithmen zur Speicherverwaltung. Auswahlstrategie. Modellierung der Seitenzugriffe

10.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

Mehr

Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur

Besprechung 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

Mehr

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder

CA Ü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

Hugepages, NUMA or nothing on Linux?

Hugepages, NUMA or nothing on Linux? Hugepages, NUMA or nothing on Linux? Daniel Hillinger Value Transformation Services S.r.l. Zweigniederlassung Deutschland München Schlüsselworte Memory; Arbeitsspeicher; NUMA; Hugepages Einleitung Speicherarchitekturen

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung 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:

Mehr

Praktikum Informatik 2: Betriebssysteme und Rechnernetze

Praktikum 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

Mehr

Betriebssysteme (BS) Inhalt. Speicherverwaltung. Olaf Spinczyk 1.

Betriebssysteme (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,

Mehr

Vorlesung Betriebssysteme II

Vorlesung Betriebssysteme II 1 / 49 Vorlesung Betriebssysteme II Thema 4: Hauptspeicherverwaltung Robert Baumgartl 27. April 2015 2 / 49 Freispeicherverwaltung Motivation Applikationen und das Betriebssystem selbst fordern zur Laufzeit

Mehr

Betriebssysteme - Speicherverwaltung

Betriebssysteme - 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

Bootvorgang des DSM-Systems Systems Plurix

Bootvorgang des DSM-Systems Systems Plurix Bootvorgang des DSM-Systems Systems Plurix Stefan Frenz Vortrag im Rahmen der Abteilungsbesprechung Voraussetzungen: CPU CPU-Modi Voraussetzungen: BIOS Rechner-Initialisierung durch das BIOS Interrupt

Mehr

Konzepte von Betriebssystemkomponenten (KVBK) Schwerpunkt Linux

Konzepte 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

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

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

Mehr

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013

183.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

Mehr

6 Speicherverwaltung

6 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.

Mehr

1. Von-Neumann-Architektur (7/66 Punkte)

1. 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

Mehr

Übung 4 - Betriebssysteme I

Ü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

Mehr

Welche der folgenden Aussagen gelten? a) Im allgemeinen gilt: ein Deadlock tritt auf gdw. der Resource-Allocation Graph einen Zykel

Welche 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

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie

Mehr

9 Speicherorganisation

9 Speicherorganisation 9 Speicherorganisation In diesem Kapitel behandeln wir... verschiedene Speicherkonzepte Algorithmen zur effektivenspeichernutzung Rechteverwaltung vonspeicher 98 Kapitel 9: Speicherorganisation 9. Speicherhierarchie

Mehr

Teil IX. Adressraum und Arbeitsspeicher

Teil IX. Adressraum und Arbeitsspeicher Teil IX Adressraum und Arbeitsspeicher wosch SS 2005 SOS1 IX-1 Überblick 11 Adressraum Adressraum Physikalischer Adressraum Logischer Adressraum Virtueller Adressraum Zusammenfassung Arbeitsspeicher Speicherzuteilung

Mehr

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Betriebssysteme Ü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

Mehr

Prozesse und Scheduling

Prozesse 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

Mehr

Computer-Systeme Teil 15: Virtueller Speicher

Computer-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

Mehr

Cache. 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 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

Mehr

Verteilte Echtzeit-Systeme

Verteilte 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

Universitä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. 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,

Mehr

Speicherverwaltung. Strategien. Sommersemester Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl. Seite 1

Speicherverwaltung. Strategien. Sommersemester Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl. Seite 1 Speicherverwaltung Strategien Sommersemester 2015 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze

Mehr

Speicherorganisation

Speicherorganisation Speicherorganisation John von Neumann 1946 Ideal wäre ein unendlich großer, unendlich schneller und unendlich billiger Speicher, so dass jedes Wort unmittelbar, d.h. ohne Zeitverlust, zur Verfügung steht

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory

Rechnerarchitektur 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?

Mehr

Verteilte Systeme. Verteilte Systeme. 5 Prozeß-Management SS 2016

Verteilte 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

Mehr

6 Speicherorganisation

6 Speicherorganisation Der Speicher des Programms ist in verschiedene Speicherbereiche untergliedert Speicherbereiche, die den eigentlichen Programmcode und den Code der Laufzeitbibliothek enthalten; einen Speicherbereich für

Mehr

13. Übung mit Musterlösung

13. Ü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

Mehr

Banner T 1 T 2. Bild T 7 T 8. Fließtext T 9

Banner 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

Mehr

Betriebssysteme 1. Thomas Kolarz. Folie 1

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

Mehr

Betriebssysteme 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 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

Mehr

Hausübung 5 (Musterlösung )

Hausü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

Mehr

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

Speicherverwaltung, 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,

Mehr

Virtueller Speicher und Cache. VL5 GRT, SS 2004, Kneisel

Virtueller 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

Mehr

, SS2012 Übungsgruppen: Do., Mi.,

, 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

Mehr