Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum.
|
|
- Katharina Schmidt
- vor 7 Jahren
- Abrufe
Transkript
1 Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum Hauptspeicher-Adressierung 15.1 Adressierungsmodi 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". 16 Bit Segment + 16 Bit Offset 20 Bit Adresse 4 Bit Versatz 1 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
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 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
3 Adressierung im Protected Mode Segmentierung und Paging kombinierbar: GDTR GDTR Segmentselektor Virtuelle 32 Bit Adresse Lokale Deskriptortabelle Globale Deskriptortabelle Segment-Basis + Lineare Adresse CR3 Directory Deskriptor- Deskriptor- Deskriptor- tabelle Tables tabelle tabelle + Physikalische Adresse! 3 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
4 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. Ab 486 weitere Register. SS CS DS ES FS GS ESP EIP EAX EBX ECX EDX ESI EDI EBP SP IP AX BX CX DX SI DI BP AL BL CL DL Eflags Flags 4 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
5 Unsichtbare Register Zweck: - Erweiterte Adresse im Protected Mode, - Zugriffsschutz & Prozessorsteuerung, - Betriebssystemaufruf. Kontrollregister CR0..CR3/4: Weitere Register: - Debug & Test Register, - Boundary Scan... Spätere Register (nicht 386): - MMX - Multimedia Extension, - Gleitkomma Operationen. SS CS DS ES FS GS TSSX LDTX CR0 CR1 CR2 CR3 SS-Basis/-Limit CS-Basis/-Limit DS-Basis/-Limit Segment- Deskriptorcaches ES-Basis/-Limit FS-Basis/-Limit GS-Basis/-Limit TSS-Basis/-Limit LDT-Basis/-Limit IDT-Basis/-Limit GDT-Basis/-Limit Debug, Test, JTAG 5 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
6 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. 6 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
7 (5) Kontrollregister: Maschinenkonfigurierung, Maschineneigenschaften, Seitentabellen. CR0: - Paging, - Taskswitch, - Coprocessor, - Protected Mode. CR0 CR1 CR2 CR3 CR4 PG... TS, EM, MP, PE reserviert Fault Adresse Directory Adresse CPU Erweiterungen 7 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
8 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. 8 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
9 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 Typ Applikationssegm., DT=true. 4 Basis Limit Nur Deskriptoren mit gleicher oder schlechterer Sicherheitsstufe dürfen geladen werden (CS) P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
10 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). #11: EXE (code/not data) #10: E/C (downward,conforming), #9: W/R (write data, read code), #8: A (accessed). 1 Typ Bit#8=true (Access-Bit): - dieses Segment wurde benützt, - nützlich für die Speicherauslagerungsstrategie. 10 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
11 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 128 Parameterbytes: present, privilege, typ12 Zieloffset Zielsegment # Zieloffset DWcnt 11 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
12 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. 12 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
13 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 # 13 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
14 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 14 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
15 Zugriffsschutz-Mechanismen Zugang über Gate-Deskriptoren. Zugang zur privilegierteren Ebene nur über ein Gate: - Call, Trap, Interrupt, Task (TSS) - Ausnahme: Conforming Deskriptors. Vier Privilegierungsebenen: - 3: Anwendungsprogramme, - 2: Laufzeitumgebungen, GUI : Gerätetreiber, - 0: Kernel. Privilegierungscode: - CPL im aktuellen Codesegment, - RPL im Selektorargument, - DPL im Deskriptor, - IOPL in Flags Paging folgt auf die Segmentierung 15 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
16 Die Segmentierung ermöglicht, mindestens 64 Terabytes zu adressieren. Resultat der Segmentierung ist 32 Bit lineare Adresse oder Exception. Ist eine Segment ausgelagert, so wird beim Zugriff eine Exception erzeugt und das Segment eingelagert. Die lineare Adresse kann in 4 KB Blöcken auf physikalische Seiten übersetzt werden. Die Übersetzungstabellen sind 2-stufig: Segmentierung Paging Paging auf Basis der linearen Adresse CR3 Directory Directo Directo Directo Directo Directo Directo Directo Tables ry ry ry ry ry ry ry Frames 16 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
17 Seitentabelleneintrag (Intel Pentium) : Kacheladresse nur gültig, wenn Seite im Speicher vorhanden ist. Frame/Kachel-Adresse Auffinden der Seite im Sekundärspeicher. Caching Strategie und Schreibrechte. 12 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 17 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
18 15.5 Grafik-Adressübersetzungstabelle abgekürzt "GART": - übersetzt logische Speicherzugriffe in physikalische, - findet sich in AGP-fähigen Host-Bridges, - Grafiktreiber setzt 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 18 P. Schulthess, Systemprogrammierung I, 2002, VS Informatik Ulm
15. Hauptspeicher-Adressierung
15. Hauptspeicher-Adressierung 15.1 Adressierungsmodi 15.1.1 Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum. 16 Bit
Mehr12. Sicherheit. A, B3, B2, B1, C2, C1, D sicher unsicher. Betriebssysteme, Sommer 2005, Verteilte Systeme, Universität Ulm, M.
12. Sicherheit 12.1 Einleitung Ziel: Schutz vor Fehlern & Eindringlingen. Objekt: passive Ressource (z.b. Datei) Subjekt: aktive Einheiten (Proz. & Benutzer) Sicherheit: Fähigkeit eines BS, für seine Objekte
MehrH. Intel x86 CPU. Höhere Informatik. Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe
H. Intel x86 CPU Historische Entwicklung des x86 Registersatzes. Complex Instruction Set Computer (CISC), Deskriptoren & Adressierung, Cacheausstattung. Höhere Informatik Systemprogrammierung: - Betriebssystemkonzepte,
MehrBetriebssysteme (BS) IA-32. Überblick. das Programmiermodell der Intel Architektur. Historie der Intel x86 Prozessoren. 8086: Programmiermodell
Betriebssysteme (BS) alias Betriebssystembau (BSB) IA-32 das Programmiermodell der Intel Architektur Überblick Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz "Tasks" Zusammenfassung
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) Das Programmiermodell der Intel IA-32 Architektur http://ess.cs.tu-.de/de/teaching/ws213/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) Das Programmiermodell der Intel IA-32 Architektur http://ess.cs.tu-dortmund.de/de/teaching/ws212/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) Das Programmiermodell der Intel IA-32 Architektur Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os
MehrBetriebssysteme (BS)
Betriebssysteme (BS) VL 6 IA-32 das Programmiermodell der Intel-Architektur Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg
MehrSpeicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) Das Programmiermodell der Intel IA-32-Architektur https://ess.cs.tu-dortmund.de/de/teaching/ws216/bsb/ Horst Schirmeier, Olaf Spinczyk horst.schirmeier@tu-dortmund.de https://ess.cs.tu-dortmund.de/~hsc
MehrBetriebssysteme (BS)
Betriebssysteme (BS) VL 6 IA-32: Das Programmiermodell der Intel-Architektur Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg
MehrProseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging
Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher
MehrBetriebssysteme (BS)
Betriebssysteme (BS) VL 6 IA-32: Das Programmiermodell der Intel-Architektur Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg
MehrBetriebssysteme (BS)
Betriebssysteme (BS) VL 6 IA-32: Das Programmiermodell der Intel-Architektur Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen Nürnberg
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,
MehrBetriebssysteme (BS) Überblick: Einordnung dieser VL. VL 6 IA-32: Das Programmiermodell der Intel-Architektur. Historie der Intel x86-prozessoren
Betriebssysteme (BS) Überblick: dieser VL VL 6 IA-32: Das Programmiermodell der Intel-Architektur Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
MehrBetriebssysteme (BS) Überblick: Einordnung dieser VL. VL 6 IA-32: Das Programmiermodell der Intel-Architektur. Historie der Intel x86-prozessoren
Betriebssysteme (BS) Überblick: dieser VL VL 6 IA-32: Das Programmiermodell der Intel-Architektur Volkmar Sieh / Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
MehrBetriebssysteme (BS)
Betriebssysteme (BS) VL 6 IA-32: Das Programmiermodell der Intel-Architektur Volkmar Sieh / Daniel Lohmann Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
MehrDOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.
DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
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
MehrVirtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
MehrProseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert
Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung
MehrBetriebssystembau (BSB)
Betriebssystembau (BSB) Das Programmiermodell der x86_64-architektur https://ess.cs.tu-dortmund.de/de/teaching/ws217/bsb/ Daniel Friesel, Olaf Spinczyk daniel.friesel@tu-dortmund.de https://ess.cs.tu-dortmund.de/~df
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)
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
MehrVorlesung: Rechnerstrukturen, Teil 2 (Modul IP7)
Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) Vorlesung: Rechnerstrukturen, Teil 2 (Modul IP7) J. Zhang zhang@informatik.uni-hamburg.de Universität Hamburg AB Technische Aspekte Multimodaler Systeme
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrÜbung zu Betriebssysteme
Übung zu Betriebssysteme Threadumschaltung 6. & 8. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme
MehrAbbilden von virtuellen auf physikalische Adressen
Abbilden von virtuellen auf physikalische Adressen Virtuelle Adresse 31 30 29 28 27... 15 14 13 12 11 10 9 8... 3 2 1 0 Virtuelle Seitennummer Seiten Offset Translation Physikalische Adresse 29 28 27...
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
MehrÜbung zu Betriebssysteme
Übung zu Betriebssysteme Interruptbehandlung 08. & 10. November 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte
MehrProf. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7
Prof. Dr. Sharam Gharaei Version 1.2.0, 07.04.2017 Inhaltsverzeichnis 1 Einleitung 1 1.1 Code-bezogene Aspekte 2 1.2 Speicherungsbezogene Aspekte 2 2 Grundlage der Realisierung 2 3 Die Realisierung 3 3.1
MehrÜbung zu Betriebssysteme
Übung zu Betriebssysteme Threadumschaltung 7. & 10. Dezember 2017 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte
MehrMaschinensprache. 2.5 x86 Speicherzugriff. Universität Mannheim
Maschinensprache 2.5 x86 Speicherzugriff Hauptspeicher Speicheraufbau Linearer, zusammenhängender Adressraum Kleinste adressierbare Einheit: 1 Byte Unterteilung in physikalischen, linearen und virtuellen
MehrDas Assembler-Buch. Trutz Eyke Podschun. Grundlagen und Hochsprachenoptimierung. 4., aktualisierte Auflage ADDISON-WESLEY
Trutz Eyke Podschun Das Assembler-Buch Grundlagen und Hochsprachenoptimierung 4., aktualisierte Auflage ^ ADDISON-WESLEY An imprint of Addison Wesley Longman, Inc. Bonn Reading, Massachusetts Menlo Park,
MehrWie schreibt man ein Betriebssystem?
Wie schreibt man ein Betriebssystem? Vom BIOS in den Userspace Andreas Galauner Easterhegg 2011 Democode Es gibt Democode: http://github.com/g33katwork/sigint10osworkshop git clone git://github.com/g33katwork/
Mehri386 Interrupt-Deskriptortabelle (IDT)
Agenda: IRQ-Behandlung in OO-Stubs Interrupts und Traps bei x86 Die Interrupt-Deskriptor-Tabelle (IDT) Aufbau der IDT Traps und Hardware IRQs Der Programmierbare Interruptcontroller PIC 8295A Aufbau Verwendung
MehrBetriebssystemtechnik
Betriebssystemtechnik Übung 2 - Den Speicher beseiten Daniel Danner Christian Dietrich Gabor Drescher May 19, 2015 Betriebssystemtechnik 1 13 Ziel dieser Übung Betriebssystemtechnik 2 13 Ziel dieser Übung
Mehr7. Speicherverwaltung
7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische
Mehrx86-assemblerprogrammierung
x86-assemblerprogrammierung Inhalt Literatur Register Speicherverwaltung Adressierung Stackverwaltung Datentypen und Befehlssatz Befehlskodierung Dandamudi : Intruduction to Assembly Language Programming
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
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
MehrDer Intel 8086 Reto Gurtner 2005
Der Intel 8086 Reto Gurtner 2005 1 1. DIE INTERNEN REGISTER... 3 1.1 ALLGEMEINE REGISTER AX, BX, CX UND DX... 3 DAS AX-REGISTER... 4 DAS BX-REGISTER... 4 DAS CX-REGISTER... 5 DAS DX-REGISTER... 5 1.2 DIE
MehrBetriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 3. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund michael.engel@tu-dortmund.de http://ess.cs.uni-dortmund.de/~me/ 1 Agenda: IRQ-Behandlung
MehrEchtzeitbetriebssysteme
Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom
MehrSchreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).
Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle
MehrAssembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung
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
Mehr3 Schnittstelle zum Betriebssystem 3.1 Einleitung
3.1 Einleitung 1 Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner Dateiverwaltung (Kopieren, Verwalten,.)
MehrBetriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14
BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS
MehrÜbung zu Betriebssystembau (Ü BS)
Übung zu Betriebssystembau (Ü BS) Interruptbehandlung in OOStuBS Wanja Hofer Lehrstuhl für Informatik IV WS 07/08 1 Agenda: IRQ-Behandlung in OOStuBS Interrupts und Traps beim x86 Die Interrupt-Deskriptor-Tabelle
MehrERA-Zentralübung Maschinenprogrammierung
ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 17.11.2017 Inhalt Aufgabe 3.1 Aufgabe 3.2 Aufgabe 3.3 Logische Operationen Schiebebefehle Weitere Befehle Registerübersicht Aufgabe 3.1
MehrTechnische Informatik II (TI II) (8) Speicherverwaltung. Sebastian Zug Arbeitsgruppe: Embedded Smart Systems
1 Technische Informatik II (TI II) (8) Speicherverwaltung Sebastian Zug Arbeitsgruppe: Embedded Smart Systems 2 Fragen an die Veranstaltung Nach welchen Merkmalen lässt sich der Speicher in einem Rechner
MehrEinschub: HW-Zugriff aus dem Userspace
Einschub: HW-Zugriff aus dem Userspace Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Einschub: HW-Zugriff aus dem
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
MehrTeil 2: Speicherstrukturen
Inhalt Teil 2: Speicherstrukturen Hauptspeicher Cache Assoziativspeicher Speicherverwaltungseinheit ( Memory Management Unit ) 1 Virtueller Speicher Trennung von virtuellem Adreßraum (mit virtuellen Adressen)
MehrDas Assembler-Buch. Trutz Eyke Podschun. Grundlagen, Einführung und Hochsprachenoptimierung
Trutz Eyke Podschun Das Assembler-Buch Grundlagen, Einführung und Hochsprachenoptimierung ^ ADDISON-WESLEY An imprint of Pearson Education Deutschland GmbH München Boston San Francisco Harlow, England
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
MehrPru fungsprotokoll. Prüfer: Dr. Lenhardt Beisitzer:? Datum der Prüfung: Dauer: 25 Minuten
Pru fungsprotokoll Prüfer: Dr. Lenhardt Beisitzer:? Datum der Prüfung: 09.12.2016 Dauer: 25 Minuten Das folgende Protokoll habe ich nach bestem Wissen und Gewissen erstellt. Es besteht kein Anspruch auf
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
MehrBesprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben
Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht
MehrKlausur Mikroprozessortechnik
1 Prof. Dr. K. Wüst WS 2001 FH Gießen Friedberg, FB MNI Studiengang Informatik Nachname: Vorname: Matrikelnummer: Klausur Mikroprozessortechnik 14.9.2001 Punkteverteilung Aufgabe Punkte erreicht 1 3 2
Mehr(Cache-Schreibstrategien)
Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei
Mehr5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1
5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes
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
MehrÜbung zu Betriebssystemtechnik
Übung zu Betriebssystemtechnik Paging in StuBSmI 14. Mai 2018 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Verteilte Systeme
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
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
MehrBetriebssysteme Teil 10 B: Fragen rund um Seitenfehler
Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden
MehrERA-Zentralübung Maschinenprogrammierung
ERA-Zentralübung Maschinenprogrammierung M. Meyer LRR TU München 27.10.2017 Arithmetik mit 80386 Inhalt Rechenmodell Register Befehle Beispiele 80386-Rechenmodell Typisches Zwei-Address-Format Ziel :=
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
MehrDas Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11.
Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} Stellen wir uns nun vor, die 12 Zahlen sind nicht in der richtigen Reihenfolge,
MehrKonzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner
Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy
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
MehrRechnernetze und Organisation
Framework für Assignment A2 1 Übersicht Framework für Assignment A2 WH: Aufgabenstellung Klassen und Methoden Getting started Erste Instruktion aus Testdaten dekodieren 2 Aufgabenstellung Instruction-Set
Mehr20 Task-Management Was bleibt noch zu tun? Wird ein Poolelement in die Queue aufgenommen, dann muß der Poolelemente-Zähler inkrementiert werden. Dies erledigt die Anweisung pool_kopf_adr -> anzahl_der.pool_elemente
MehrEinführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
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
MehrI. Speicherverwaltung
I. Speicherverwaltung Variable und feste Partitionen im Hauptspeicher. Laufzeitstrukturen im Hauptspeicher. Virtueller Speicher. Höhere Informatik : - Programmierung, Datenbanken, Verteilte Systeme, Theorie...
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung
MehrRO-Tutorien 17 und 18
RO-Tutorien 17 und 18 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery TUTORIENWOCHE 12 AM 19.07.2012 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrBetriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme
Betriebssysteme Sommersemester 2017 Betriebssysteme 5. Kapitel Adressumsetzung Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 5.1 Speicher schneller, teurer, kleiner Betriebssysteme Adressumsetzung
MehrInhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung
Speicherverwaltung Teil I Hard- und Software-Komponenten zur Speicherverwaltung Inhaltsübersicht Zusammenhängende Speicherzuteilung Partitionen fester Größe Partitionen variabler Größe Methoden zur Verwaltung
MehrBetriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.
Speicherverwaltung - Grundlegende Konzepte Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung
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
Mehrx86-assemblerprogrammierung
x86-assemblerprogrammierung von Michael Röhrs (Ergänzend zum Vortrag am 25.04.01) Einleitung Die Familie der x86-prozessoren gehört zur Klasse der CISC-Prozessoren ( Complex Instruction Set Computer ).
MehrTechnische Realisierung (1)
Technische Realisierung () Einfachstes Modell: Prozess (Daten+Code) befindet sich im Hintergrundspeicher Bei teilweise eingelagerten Prozessen: Zusätzlich Teile im Hauptspeicher Logische Adressen überdecken
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
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
Mehr5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1
5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes
MehrAssembler - Variablen
Assembler - Variablen Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Variablen 1/30 2008-04-21 Variablen Variablen
MehrJust-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2011/2012 Just-In-Time-Compiler (2) 1/13 2011-09-12 Just-In-Time-Compiler
MehrRechnerorganisation. Überblick über den Teil 13
Rechnerorganisation Teil 3 9. Juni 2 KC Posch Überblick über den Teil 3 Arbiter: Wie können sich 2 aktive Partner vertragen? Direkter Speicherzugriff: Ein Ko Prozessor zum Daten Schaufeln Die Verbesserung
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
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
Mehr