15. Hauptspeicher-Adressierung
|
|
- Emma Kerner
- vor 6 Jahren
- Abrufe
Transkript
1 15. Hauptspeicher-Adressierung 15.1 Adressierungsmodi Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum. 16 Bit Segment 4 Bit Versatz + 16 Bit Offset 20 Bit Adresse Virtual 386 Mode: - Nutzung der untersten 1 MB des linearen A-Raumes, - Virtual 386 Überwachungsprogramm & Emulator, - Abfangen von privilegierten Instruktionen, - Segmentregisterfunktion wie Real Mode, - Pro VM eine eigene Speicherabbildung, - Grundlage für "DOS-Box". 1 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
2 Protected Mode: Segmentregister sind nun Segmentselektoren. Deskriptoren für Speichersegmente. 16 verschiedene Segmenttypen. Paging ab Intel/386 möglich. 64 Terabyte Adressraum. 4 Privilegierungsebenen. Segmentselektor Segmentdeskriptoren 32 Bit Adresse Segment-Basis + 32 Bit Adresse 2 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
3 Long Mode für Athlon 64 Prozessoren Zusätzliche Stufen der Adressübersetzung RAX RBX MM0/ST0 MM1/ST1 XMM0 XMM1 Einfachere Speichersegmentierung. Erweiterung auf 64 Bit. RCX RDX RBP RSI MM2/ST2 MM3/ST3 MM4/ST4 MM5/ST5 XMM2 XMM3 XMM4 XMM5 Erweiterung des Registersatzes: - General Purpose Register, - SSE/XMM Register. - Instruction Pointer, RDI RSP R8 R9 R10 MM6/ST6 MM7/ST7 XMM6 XMM7 XMM8 XMM9 XMM10 R11 XMM11 R12 XMM12 R13 eflags XMM13 R14 XMM14 R15 RIP XMM15 3 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
4 Adressierung im Protected Mode Segmentierung und Paging kombinierbar: GDTR LDTR Segmentselektor Virtuelle 32 Bit Adresse Lokale Deskriptortabelle Globale Deskriptortabelle Segment-Basis + Lineare Adresse CR3 Page Directory Deskriptor- Deskriptor- Deskriptor- Page tabelle Tables tabelle tabelle Page + Physikalische Adresse! 4 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
5 15.2 Register ab i Sichtbare Register Für Anwendungsprogramme zugänglich. Arbeitsregister: - Mit Segmentregister verbunden, - aber umsteuerbar mit einem Präfix. Funktionsbezogene Register: - Flags (mit IO-Privilege Level), - Daten, Extra-Daten, - Stack, Code. Spätere Register (nicht 386): - SSE Streaming SIMD Extension, - MMX - Multimedia Extension, - Gleitkomma Operationen. SS CS DS ES FS GS ESP EIP EAX EBX ECX EDX ESI EDI EBP Eflags SP IP AX BX CX DX SI DI BP Flags AL BL CL DL 5 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
6 Unsichtbare Register Zweck: - Caching der Deskriptoren, - Erweiterte Adresse im Protected Mode, - Zugriffsschutz & Prozessorsteuerung, - Betriebssystemaufruf. Kontrollregister CR0..CR3/4. Weitere Register: - Debug & Test Register, - Boundary Scan... Modellspezifische Register MSR: - Monitoring & Profiling, - Memory Type Range Register, - Page Attribute Table SS CS DS ES FS GS TSSX LDTX CR0 CR1 CR2 CR3 SS-Basis/-Limit CS-Basis/-Limit DS-Basis/-Limit Segment- Deskriptor- ES-Basis/-Limit caches FS-Basis/-Limit GS-Basis/-Limit TSS-Basis/-Limit LDT-Basis/-Limit IDT-Basis/-Limit GDT-Basis/-Limit Debug, Test, JTAG, PAE, MSR 6 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
7 Evolution vs. Komplikation Die Segmentregister arbeiten im Protected Mode als 16 Bit Segmentselektoren: Tabellenindex LDT GDT Requ. Priv. Level Im Segmentselektor liegt ein Index in die globale oder die lokale Deskkriptortabelle. Gleichzeitig mit dem Segmentregister wird implizit der Segmentdeskriptorcache geladen. Dabei geschehen unter Umständen mehrere Hauptspeicherzugriffe. Auch für das aktuelle Task-State Segment und die lokale Deskriptortabelle werden Deskriptoren gepuffert (cached). Selektorregister TSSX und LDTX können gelesen werden. 7 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
8 (5) Kontrollregister: Maschinenkonfigurierung, Maschineneigenschaften, Seitentabellen. CR0: - Paging, - Taskswitch, - Coprocessor, - Protected Mode. CR0 CR1 CR2 CR3 CR4 PG... TS, EM, MP, PE reserviert PageFault Adresse PageDirectory Adresse CPU Erweiterungen 8 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
9 Datenstrukturen 15.3 Segmentdeskriptoren Originaldeskriptoren liegen in lokaler oder globaler Deskriptortabelle. Segmentdeskriptor-Caches unsichtbar in der CPU vorhanden. Potential für einen segmentierten virtuellen Speicher ohne Seiteneinteilung: - evtl. Segment-Deskriptoren ein- & auslagern und Selektoren ergänzen. - gleichzeitig jeweils 8000 lokale und 8000 globale Deskriptoren, - anstatt eines Zeigers nur ein Segment-Selektor, - für jedes Objekt einen Segmentdeskriptor, - Evtl. LDT-Register umsetzen. Schutzfunktion bei Segmentierung: - Protection Level ( )=(privileged... non-priv.) - Zugriffsmodus (exec, read, write ), - Feldlänge im Deskriptor. 9 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
10 Deskriptor für Applikationssegmente: Intel 286 "Historium". Granularität der Länge: - 1 Byte / 4K. 32-Bit oder 16-Bit Instruktionen & Adressen. Granularität 32/16 Bit, Reserve, OS use, Present, Protect 0..3, Application-Deskr. Beim Zugriff auf ein ausgelagertes Segment erfolgt ein Interrupt an das OS. Applikation-Deskriptoren haben DT=true Typ Basis Limit Nur Deskriptoren mit gleicher oder schlechterer Sicherheitsstufe dürfen einfach selektiert werden (CS). 10 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
11 Kennung für Applikationssegemente Bit#11=true (EXE-Bit): Code - Codesegment, darf ausgeführt werden, - darf auch gelesen werden, falls Bit#9=true (W/R), - falls Bit#10=true (conforming), ausführbar durch unterprivilegiertes Segment. Bit#11=false (EXE-Bit): Data - Datensegment, nicht ausfühbar, - schreiben, falls Bit#9=true (W/R), - falls Bit#10=true (abwärts), erstreckt sich das Segment von der Basisadresse nach unten (Stack). Bit#8=true (Access-Bit): - dieses Segment wurde benützt, - nützlich für die Speicherauslagerungsstrategie. #11: EXE (code/not data) #10: E/C (downward,conforming), #9: W/R (write data, read code), #8: A (accessed). 1 Typ P 11 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
12 Intel386 System-Segmente Haben das DT-Bit gelöscht (286er Segmente weggelassen). Call-Gate Deskriptor (Typ = 12): - beschreibt den Einsprung in eine geschützte Routine, - normalerweise in einem anderen Segment (far call), - referenziert einen weiteres Segmentdeskriptor, - ändert kurzzeitig die Privilegierungsebene, - übernimmt bis zu 124 Parameterbytes: present, privilege, typ12 Zieloffset Zielsegment # Zieloffset DWcnt 12 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
13 Interrupt-Deskriptoren (Typ = 14): - Beschreibt den Einsprung in eine Interruptroutine, - 8 Byte Einträge in der Interrupt-Deskriptortabelle, - IDT-Basis/Limit geladen über LIDT-Instruktion, present, privilege, typ14/15 Zieloffset Zielsegment # Zieloffset Trap-Gate Deskriptoren (Typ = 15) arbeiten ähnlich wie Interruptdeskriptoren, jedoch ohne die Interrupts zu maskieren: LDT Segmentdeskriptor (Typ = 2): - kann nur in der Globalen Deskriptortabelle liegen, - wird durch eine LLDT-Instruktion geladen, - beschreibt eine Lokale Deskriptortabelle, - Format wie Applikationsdeskriptor. 13 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
14 Task-Gate Deskriptor (Typ = 5): - referenziert ein Task-State Segment (TSS), - evtl. mehrere Task-Gates für ein TSS, - enthält Privilegierungsstufe: Ein Task-Switch erfolgt falls: - laden von Selektor für Task-Gate oder TSS, - i.e. Call- oder Jump-Instruktion, - Interrupt oder Exception, - IRET v. nested Task. present, privilege, typ=5 Tables TSS Zielsegment # 14 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
15 Task-State Segment Deskriptor (Typ = 9/11): - Enthält aktuellen/geretteten Prozessorzustand (TSS), - Segmentselektor für lokale Deskriptortabelle, - Basisadresse für Seitentabellendirectory, - Stacks der Privilegierungstufen 0,1,2, - aktuell sichttbare Prozessorregister, - Zugriffsmaske für die E/A-Ports, - Link zum vorherigen Tasksegm., - aktives TSS mit Typ=11, - Nested-Task Flag. Task-State Segment IO-Permission Bitmap OS Zeux TSS-Limit IO-Bitmap Register Stacks 0,1,2 PrevTSS Task-Register TSS-Base 15 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
16 Zugriffsschutz-Mechanismen Schutzverletzung falls ein besser privilegierter Deskriptor geladen wird. Zugang zu besserer Privilegierung über Gate-Deskriptoren: - Inanspruchnahme von Betriebssystemdienste und dergleichen, - Call, Trap, Interrupt, Task (TSS) - Ausnahme: Conforming Deskriptors* Vier Privilegierungsebenen: 3: Anwendungsprogramme, 2: Laufzeitumgebungen, GUI... 1: Gerätetreiber, 0: Kernel. Privilegierungscode: - CPL im aktuellen Codesegment, - RPL im Selektorargument, - DPL im Deskriptor, - IOPL in Flags. 16 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess * greifen auf geschützte Daten im Auftrag einer Applikation zu.
17 15.4 Paging und MMU Für ausgelagerte Seiten (Pages) wird beim Zugriff eine Exception erzeugt & die Seite wird vom OS eingelagert (ähnlich wie bei ausg. Segmenten). Die Memory Management Unit (MMU) besorgt die Adressübersetzung: - Adressübersetzung für jeweils eine Speicherseite mit 4 KB fester Länge (z.b.), - Übernimmt eine sog. lineare Adresse 32-Bit von der Segmentierung, - Liefert eine 32-Bit physikalische Adresse, - zweistufige Übersetzungstabelle, - Paging Segmentierung. TLB: - Translation look-aside Buffer, - Enthalten die letzten Mappings, - beispielsweise 100 Einträge, - evtl. explizit flushen, - hier nicht gezeigt. CR3 Page Directory????? Page? Tables Page Frames 17 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
18 Seitentabelleneintrag (Intel Pentium) : Kacheladresse nur gültig, wenn die Seite im Hauptspeicher vorhanden ist. Page Frame/Kachel-Adresse Im Falle eines Seitenfehlers (Page fault) holt das OS die Seite vom Sekundärspeicher. Avail 00 Nutzbar für Betriebssystem Caching Strategie und Schreibrechte. 12 dirty accessed PCD PWT U/S W/R P beschrieben Use-Bit Seite hat Cache Disabled Cache durchschreiben User Seite, nicht Supervisor Seite beschreibbar Präsenz Bit, Seite vorhanden 18 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
19 15.5 Adressübersetzung im Long-Mode (Athlon 64) Erweiterung der MMU auf 4 Stufen: - 3. Stufe Page Directory Pointer Table, - PageMap4L als vierte Stufe, - Tabelleneinträge 64 Bits. Derzeitige Implementierung: - Logische Adresse erst bis 48 Bits, - Physikalische Adresse bis 40 Bits, - obere Bits reserviert. Nur noch rudimentäre Segmentierung: - Basisadresse >0 for FS, GS, - Attribute für CS, DS.?????? Page 4L Map????? PD Ptr? Table????? Page? Directory?????? Page Tables Page Frames CR3 19 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
20 15.6 Grafik-Adressübersetzungstabelle abgekürzt "GART": - findet sich in AGP-fähigen Host-Bridges, - übersetzt logische Speicherzugriffe in physikalische, - Grafiktreiber setzt explizit die Tabelleneinträge. 3D-Grafikadapter: - greifen als Busmaster in den Hauptspeicher hinein, - arbeiten auf logischen Koordinaten & Strukturen. Physikalische Buszugriffe: - für normale PCI-Geräte, - über den PCI Bus, - über Hostbus, - zum Cache. AGP Grafikadapter (3D) Logische Adressen CPU: (Treiber/SW) MMU GART Host-Brücke (PCI/AGP) Physikal. Adressen Hauptspeicher 20 Systemprogrammierung I, Sommer 2005, VS Informatik, Ulm, P. Schulthess
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,
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
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
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
MehrBetriebssysteme (BS) IA-32. Überblick: Vorlesungen. das Programmiermodell der Intel-Architektur. Agenda. Historie der Intel x86-prozessoren
Betriebssysteme (BS) Überblick: Vorlesungen Daniel Lohmann IA-32 das Programmiermodell der Intel-Architektur Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Gerätezugriff (Treiber) Anwendung(en)
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
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
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
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
MehrSysteme 1. Kapitel 9.2. Interaktion von Hardware und Betriebssystem Linux-Kernel und x86 Systeme
Systeme 1 Kapitel 9.2 Interaktion von Hardware und Betriebssystem Linux-Kernel und x86 Systeme Speicherzugriffe auf x86 Systemen Auf x86 Systemen existieren drei Arten von Speicheradressen Logische Adresse
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
MehrBetriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.
BS-V Betriebssysteme SS 2015 Dipl.-Math., Dipl.-Inform. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls v1.0, 2015/05/28 (klassische Dokumentation) Folie V-1 Übersicht: BS Praxis und BS Theorie
MehrKarlsruher Institut für Technologie
Karlsruher Institut für Technologie Lehrstuhl für Programmierparadigmen Sprachtechnologie und Compiler WS 2010/2011 Dozent: Prof. Dr.-Ing. G. Snelting Übungsleiter: Matthias Braun Lösung zu Übungsblatt
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
MehrAlgorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013. Vorlesung 9, Dienstag 18.
Algorithmen und Datenstrukturen (ESE) Entwurf, Analyse und Umsetzung von Algorithmen (IEMS) WS 2012 / 2013 Vorlesung 9, Dienstag 18. Dezember 2012 (Performance Tuning, Profiling, Maschinencode) Prof. Dr.
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
MehrAufgabe 1 Entwicklung einer Virtuellen Maschine
Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung
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
MehrAufgabe 2 - Erweiterung um PIC und Interrupts
Aufgabe 2 - Erweiterung um PIC und Interrupts Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Erweiterung
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
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
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
Mehr01744 PC-Technologie Prüfungsprotokoll (Note 1,3) vom 20.06.16 bei Dr. Lenhardt, Protokollführer Dr. Bähring
01744 PC-Technologie Prüfungsprotokoll (Note 1,3) vom 20.06.16 bei Dr. Lenhardt, Protokollführer Dr. Bähring Dr. Lenhardt legt Wert darauf, dass man kurz und ohne ausschweifen Antwortet. Abkürzungen sollen
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
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
MehrAufgabe 2 - Erweiterung um PIC und Interrupts
Aufgabe 2 - Erweiterung um PIC und Interrupts Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS2010/2011 Aufgabe 2 - Erweiterung um
MehrKlausur zur Mikroprozessortechnik
Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Klausur zur Mikroprozessortechnik Nachname: Vorname: Matrikelnummer: 7.3.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2
MehrVorlesung "Struktur von Mikrorechnern" (CBS)
5 Entwicklung der Prozessorarchitekturen 5.1 Intel Prozessorenreihe i86 5.1.1 8088 und 8086 Prozessoren 5.1.3 80386 Prozessoren 5.1.5 Pentium Prozessoren 5.2 Vergleich von Prozessorarchitekturen unterschiedlicher
MehrOptimierung der Schnittstelle zwischen Hypervisor und Betriebssystemkern bei virtuellen Maschinen
Optimierung der Schnittstelle zwischen Hypervisor und Betriebssystemkern bei virtuellen Maschinen Der Technischen Fakultät der Universität Erlangen-Nürnberg zur Erlangung des Grades DOKTOR-INGENIEUR vorgelegt
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
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
MehrÜbersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI
Übersicht Virtueller Speicher CPU-Modi Virtuelle Maschinen 2 Behandelter Bereich: Virtualisierung Syscall-Schnittstelle Ports Server Apps Server Apps Betriebssystem Protokolle Betriebssystem Medien Hardware
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
MehrEinführung in Computersysteme
Einführung in Computersysteme 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
MehrAssembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
MehrTasks I. Andreas Görzen Benjamin Kotke Fabian Mierendorff Jonas Kemper Sebastian Wolf Timo Lorenz Wolfgang Laut. 16. Juli 2013
Tasks I Andreas Görzen Benjamin Kotke Fabian Mierendorff Jonas Kemper Sebastian Wolf Timo Lorenz Wolfgang Laut 16. Juli 2013 1 Inhaltsverzeichnis 1 Analyse 3 1.1 Task State Segment...........................
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
Mehrx86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013
x86 Assembler Praktische Einführung Sebastian Lackner Michael Müller 3. Juni 2013 1 / 53 Inhaltsverzeichnis 1 Einführung 2 Assembler Syntax, Register und Flags 3 Hauptspeicher 4 Stack 5 Assemblerbefehle
Mehr5 Speicherverwaltung. bs-5.1 1
5 Speicherverwaltung bs-5.1 1 Pufferspeicher (cache) realer Speicher Primärspeicher/Arbeitsspeicher (memory) Sekundärspeicher/Hintergrundspeicher (backing store) (Tertiärspeicher/Archivspeicher) versus
MehrMemory Management Units in High-Performance Processors
Memory Management Units in High-Performance Processors Ausgewählte Themen in Hardwareentwurf und Optik Seminar Universität Mannheim LS Rechnerarchitektur - Prof. Dr. U. Brüning WS 2003/2004 Frank Lemke
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
MehrHinweise 80x86-Architektur
Hinweise 80x86-Architektur Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Hinweise 80x86-Architektur
MehrPentium. Die Intel-Pentium CPU. AK Pentium. Packaging. Pentium Busse. RISC oder CISC?
Pentium Die Intel-Pentium CPU Äußerst komplexes Ding IA-32 Intel Architecture Software Developer s Manual Vol 1: Basic Architecture: 426 Seiten Vol 2: Instruction Set Reference: 976 Seiten Vol 3: System
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
MehrName: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
MehrVT und Pacifica. Vortrag zum Seminar Virtuelle Maschinen und Emulatoren. Alexander Würstlein arw@arw.name
VT und Pacifica Vortrag zum Seminar Virtuelle Maschinen und Emulatoren Alexander Würstlein arw@arw.name Friedrich-Alexander-Universität Erlangen-Nürnberg 28. Mai 2007 arw (FAU) VT & SVM 28. Mai 2007 1
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
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
MehrVorlesung 5: Interrupts
Universität Bielefeld Technische Fakultät AG Rechnernetze und verteilte Systeme Vorlesung 5: Interrupts Peter B. Ladkin Kommunikation über den Bus CPU läuft zu einer Taktfrequenz I/O Geräte laufen zu anderen
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
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,
MehrHardware-basierte Virtualisierung
Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Hardware-basierte Virtualisierung 1/22
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
MehrHardware-basierte Virtualisierung
Hardware-basierte Virtualisierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 V. Sieh Hardware-basierte
MehrDie Mikroprogrammebene eines Rechners
Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.
MehrHobby-Betriebssysteme unter Linux entwickeln
Hobby-Betriebssysteme unter Linux entwickeln Hans-Georg Eßer Univ. Erlangen-Nürnberg h.g.esser@cs.fau.de Linux-Infotag 2013 Linux User Group Augsburg 23.03.2013 Was? Und warum? (1/2) Zahlreiche Projekte,
MehrMain Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins
5 Main Memory Hauptspeicher Memories 2 Speichermodule SIMM: single inline memory module 72 Pins DIMM: dual inline memory module 68 Pins 3 Speichermodule 4 Speichermodule 5 Speichermodule 6 2 Hauptspeicher
MehrBetriebssysteme KU - Einführungstutorium
Betriebssysteme KU - Einführungstutorium SWEB-Tutoren irc://irc.at.euirc.net/bs Teamwork Arbeitsaufteilung? Zeiteinteilung? Codeeinteilung? Kommunikation! Kommunikation Kommunikation mit dem Team Gruppentreffen
MehrBetriebssysteme Teil 10: Virtueller Speicher
Betriebssysteme Teil 10: Virtueller Speicher 11.12.15 1 Übersicht Segmente Systemaufrufe Swapping Paging 2 Physikalischer Adressraum I - Wiederholung 3 Physikalischer Adressraum II - Wiederholung Es wird
Mehr64-Bit-Erweiterungen der IA32
Aktuelle Hardwaretechnologien und ihr Einfluss auf die Betriebssystementwicklung 64-Bit-Erweiterungen der IA32 Pascal Recktenwald & Jens Haupert 64-Bit-Erweiterungen der IA32 Überblick Geschichte der IA32
Mehr5. Mikroprozessoren für PCs: die X86-Familie. 5.1 Einführung
5. Mikroprozessoren für PCs: die X86-Familie 5.1 Einführung Die heute in PCs und Workstations sind, aus der Sicht der Rechnerarchitektur, gesehen, Kinder zwei verschiedener Familien. Die ersten Mitglieder
MehrEmbedded-Linux-Seminare. Linux als Betriebssystem
Embedded-Linux-Seminare Linux als Betriebssystem http://www.embedded-linux-seminare.de Diplom-Physiker Peter Börner Spandauer Weg 4 37085 Göttingen Tel.: 0551-7703465 Mail: info@embedded-linux-seminare.de
Mehr2. Aufgabenblatt Musterlösung
2. Aufgabenblatt Musterlösung Technische Informatik II Sommersemester 2011 Problem 2: Assembler Syntax Register eines 32-bit Intel-Prozessors: 16 bits 8 bits 8 bits general purpose registers EAX Accumulator
MehrVirtualisierung. Seminarvortrag SS 2005. Niels Burkhardt
Seminarvortrag SS 2005 Niels Burkhardt Inhalt Einleitung Wofür? Voraussetzungen Klassifizierung Emulation, ABI, Virtuelle Maschinen Virtuelle Maschinen Aufbau Eigenschaften Aufteilung der Befehle VMM Module
MehrTECHNISCHE HOCHSCHULE NÜRNBERG GEORG SIMON OHM Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl
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
MehrTIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems
Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving
Mehrx86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de>
x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der
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.
MehrEinführung in (Intel) 80x86 Assembler. Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26
Einführung in (Intel) 80x86 Assembler Einführung in (Intel) 80x86 Assembler Wintersemester 2008/09 1 / 26 1 Geschichte 2 Programmiermodell 3 Befehlssatz 4 Konventionen 5 Beispiele 6 SSE 7 Literatur Einführung
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
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
MehrDie Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008
Die Linux Kernel Virtual Machine - Wo steht der Linux Hypervisor? 2. März 2008 Jörg Rödel Virtualization - Whats out there? Virtualisierung hat bereits längere Geschichte auf x86 Startete mit VMware Setzte
MehrSicheres C Programmieren in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011
Sicheres C in Embedded Systemen ARM II (ARM7TMDI [1] ) Wintersemester 2010-2011 Dipl. Ing. (FH) Ebrecht Roland, Infineon Technologies AG M.Eng (Electronic Systems) Güller Markus, Infineon Technologies
MehrProtected User-Level DMA in SCI Shared Memory Umgebungen
Protected User-Level DMA in SCI Shared Memory Umgebungen Mario Trams University of Technology Chemnitz, Chair of Computer Architecture 6. Halle Chemnitz Seminar zu Parallelverarbeitung und Programmiersprachen
MehrGrundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur ARM, x86 und ISA Prinzipien Übersicht Rudimente des ARM Assemblers Rudimente des Intel Assemblers ISA Prinzipien Grundlagen der Rechnerarchitektur Assembler 2 Rudimente
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
MehrProzesse und Threads. Prozess. Trace. Einfachstes Prozessmodell. Traces
Prozesse und s Begriffe und Konzepte Prozesszustände Kontrollstrukturen des BS Prozesse BS s Peter Puschner 1 Vorlesung Betriebssysteme, Prozesse; WS 05/06 2 Prozess Animated Spirit of a program ausführbares
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?
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:
Mehr1.7 Assembler Programmierung
1.7 Assembler Programmierung Die nach außen sichtbare Programmierschnittstelle eines Prozessors ist der Befehlscode. Dies ist eine binäre Dateninformation, die vom Prozessor Byte für Byte abgearbeitet
MehrBetriebssysteme Vorstellung
Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen
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
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
Mehr5.Vorlesung Betriebssysteme Hochschule Mannheim
Christian Baun 5.Vorlesung Betriebssysteme Hochschule Mannheim SS2011 1/41 5.Vorlesung Betriebssysteme Hochschule Mannheim Christian Baun Karlsruher Institut für Technologie Steinbuch Centre for Computing
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)
MehrBetriebssysteme 13/14
Betriebssysteme 13/14 Prozesse und Threads 2 Oktober 2013 1/72 Was ist ein Prozess? Was ist ein Thread? typischer Bootvorgang Bootloader (Grub,...) Kernel und initramfs Filesysteme, Devices init-prozess
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 K_Kap11B: Files, Filesysteme Datenstrukturen
Betriebssysteme K_Kap11B: Files, Filesysteme Datenstrukturen 1 Files als lineare Liste File angeordnet als verkette Liste von Blöcken Jeder Block enthält Zeiger zum Nachfolger Zeiger = Adresse des Blocks
MehrVorlesung Betriebssysteme I
1 / 19 Vorlesung Betriebssysteme I Thema 4: Grundlegende Begriffe, Teil 2 Robert Baumgartl 22. November 2016 2 / 19 Begriffe: Schnittstelle beschreibt den statischen Aspekt einer Kommunikationsbeziehung
MehrAnsätze zur Virtualisierung von Rechnern. Christian Surauer Technische Universität München
Ansätze zur Virtualisierung von Rechnern Christian Surauer Technische Universität München 25. April 2002 1 Inhaltsverzeichnis 1.0 Einleitung 2.0 Problemstellung 2.1 Naiver Ansatz 2.2 Mögliche Lösungen
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
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
MehrGymnasium Marktoberdorf
Gymnasium Marktoberdorf Abiturjahrgang 2006/08 FACHARBEIT Name des Verfassers: Leistungskurs: Kursleiter: Thema der Facharbeit: Stefan Linke Physik Betriebssystementwicklung Bewertung Datum:... Notenpunkte:...
MehrWas machen wir heute? Betriebssysteme Tutorium 2. Organisatorisches. Frage 2.1.a. Theorieblätter Abgabe. Antwort. Probleme mit OS/161?
Was machen wir heute? Betriebssysteme Tutorium 2 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
MehrProjekt für Systemprogrammierung WS 06/07
Dienstag 30.01.2007 Projekt für Systemprogrammierung WS 06/07 Von: Hassan Bellamin E-Mail: h_bellamin@web.de Gliederung: 1. Geschichte und Definition 2. Was ist Virtualisierung? 3. Welche Virtualisierungssoftware
MehrSmartphone Entwicklung mit Android und Java
Smartphone Entwicklung mit Android und Java predic8 GmbH Moltkestr. 40 53173 Bonn Tel: (0228)5552576-0 www.predic8.de info@predic8.de Was ist Android Offene Plattform für mobile Geräte Software Kompletter
MehrAssembler - Einleitung
Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache
MehrEin- Ausgabeeinheiten
Kapitel 5 - Ein- Ausgabeeinheiten Seite 121 Kapitel 5 Ein- Ausgabeeinheiten Am gemeinsamen Bus einer CPU hängt neben dem Hauptspeicher die Peripherie des Rechners: d. h. sein Massenspeicher und die Ein-
MehrÜ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