Programm. Logischer Speicher. Physischer Speicher. Hintergrundspeicher
|
|
- Karola Frei
- vor 6 Jahren
- Abrufe
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
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
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
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
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
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
MehrÜbung zu Einführung in die Informatik # 10
Übung zu Einführung in die Informatik # 10 Tobias Schill tschill@techfak.uni-bielefeld.de 15. Januar 2016 Aktualisiert am 15. Januar 2016 um 9:58 Erstklausur: Mi, 24.02.2016 von 10-12Uhr Aufgabe 1* a),
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
Mehr5.5.5 Der Speicherverwalter
5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) reagiert auf = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper)
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
Mehr(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl
Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112
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
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:
MehrFachbericht 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
MehrWie groß ist die Page Table?
Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten
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 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 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt
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)
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
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
MehrBetriebssysteme 1. Thomas Kolarz. Folie 1
Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die
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
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,
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
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
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
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
MehrLö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 1) Ein Betriebssystem mit virtueller Speicherverwaltung arbeite mit 32 Bit langen virtuellen Adressen einer Seitengröße von 4KB zweistufigem Paging, wobei
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 11.01.2017 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrGrundlagen der Informatik III Wintersemester 2010/2011
Grundlagen der Informatik III Wintersemester 21/211 Wolfgang Heenes, atrik Schmittat 12. Aufgabenblatt mit Lösungsvorschlag 7.2.211 Hinweis: Der Schnelltest und die Aufgaben sollen in den Übungsgruppen
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
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
MehrSpeicher- 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
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
Mehr1 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
MehrLinux Memory Management für MySQL
Linux Memory Management für MySQL SIG MySQL - Performance 13.03.2012 Marius Dorlöchter mdo@ordix.de www.ordix.de Vorstellung Marius Dorlöchter Consultant bei ORDIX seit 2006 Gruppe Systemintegration Betriebssysteme:
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
Mehr5.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
MehrDefinitionen zum Verschnitt
Definitionen zum Verschnitt Die absoluten Größen haben eine Einheit. Beim Bilden der Verhältnisgrößen wird die Einheit gekürzt. Man kann bei den Verhältnisgrößen die Größe durch die Anzahl vorgegebener
MehrGrundlagen der Betriebssysteme
Grundlagen der Betriebssysteme [CS2100] Sommersemester 2014 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 6 Speicherverwaltung
MehrVirtuelle Speicherverwaltung
Virtuelle Speicherverwaltung Konzepte von -Komponenten Lehrstuhl für Informatik 4 Verteilte Systeme und e Sommersemester 2005 Olessia Usik olessia@freenet.de 20. Juni 2005 Gliederung 1 Einleitung 2 Swapping
MehrTechnische Informatik 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
MehrIntel 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
MehrKonzepte 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
MehrBibliotheks-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)
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
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
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
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
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
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
MehrEchtzeit-Multitasking
Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme
MehrGrundlagen 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
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
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
Mehr3. 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.
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
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
MehrBesprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen?
Themen heute Besprechung der Probeklausur Übungsscheine, inoffizielle Evaluation Übungsaufgaben Noch Fragen? Besprechung der Probeklausur Probeklausur wird jetzt ausgeteilt Notenschlüssel: 45 37,5 Punkte:
Mehr10.1 Seitentauschverfahren. Kapitel 10 Algorithmen zur Speicherverwaltung. Auswahlstrategie. Modellierung der Seitenzugriffe
0. Seitentauschverfahren Kapitel 0 Algorithmen zur Speicherverwaltung Virtueller Speicher verwendet Paging, hierbei treten evtl. Seitenfehler auf Motivierende Rechnung: Leistungseinfluss von Seitenfehlern
MehrBesprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur
Themen heute Besprechung des 8. Übungsblattes Einführung in Caches Cache-Organisation Cache-Ersetzungsstrategien Aufgaben (an der Tafel) Testklausur Besprechung des 8. Übungsblattes Aufgabe 2.6. In diesem
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
MehrHugepages, 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
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:
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 (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,
MehrVorlesung 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
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
MehrBootvorgang 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
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
MehrGrundlagen Rechnerarchitektur und Betriebssysteme
Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,
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
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.
Mehr1. Von-Neumann-Architektur (7/66 Punkte)
Fakultät Informatik/Mathematik Seite 1/8 Datum: 23.12.2010 Name: Vorname: Arbeitszeit: 60 Minuten Matr.-Nr.: Hilfsmittel: alle eigenen Unterschrift: wird vom Prüfer ausgefüllt 1 2 3 4 5 6 7 8 9 Diese hat
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
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
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
Mehr9 Speicherorganisation
9 Speicherorganisation In diesem Kapitel behandeln wir... verschiedene Speicherkonzepte Algorithmen zur effektivenspeichernutzung Rechteverwaltung vonspeicher 98 Kapitel 9: Speicherorganisation 9. Speicherhierarchie
MehrTeil 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
MehrBetriebssysteme Übung 2. Tutorium System Calls & Multiprogramming
Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming Task Wiederholung 1 System SysCalls (1) Wozu? Sicherheit Stabilität Erfordert verschiedene modes of execution: user mode privileged mode
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
MehrComputer-Systeme Teil 15: Virtueller Speicher
Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14.01.2013 1 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller
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
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
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,
MehrSpeicherverwaltung. 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
MehrSpeicherorganisation
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
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?
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
Mehr6 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
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
MehrBanner T 1 T 2. Bild T 7 T 8. Fließtext T 9
Name, Vorname: Matrikel-Nr.: Aufgabe 1 Wir schreiben das Jahr 2010. Ein Desktop-System mit drei identischen Prozessoren P = {P 1, P 2, P 3 } wird zur Darstellung einer Webseite verwendet. Insgesamt neun
MehrBetriebssysteme 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
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
MehrHausübung 5 (Musterlösung )
SoSe 2014 Konzepte und Methoden der Systemsoftware Universität Paderborn Fachgebiet Rechnernetze Hausübung 5 (Musterlösung ) 2014-06-23 bis 2014-07-04 Hausübungsabgabe: Format: Lösungen in schriftlicher
MehrSpeicherverwaltung, Interrupts & Exceptions. Daniel Richter Seminar Prozesssteuerung und Robotik 03. Dezember 2008
Speicherverwaltung, Interrupts & Exceptions Daniel Richter Seminar Prozesssteuerung und Robotik 03. Dezember 2008 Agenda 2 Speicherverwaltung Grundlagen Möglichkeiten auf verschiedenen Ebenen CPU/Hardware,
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
Mehr, SS2012 Übungsgruppen: Do., Mi.,
VU Technische Grundlagen der Informatik Übung 7: Speicher und Peripherie 183.579, SS2012 Übungsgruppen: Do., 31.05. Mi., 06.06.2012 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung
Mehr