Betriebssystembau (BSB)

Größe: px
Ab Seite anzeigen:

Download "Betriebssystembau (BSB)"

Transkript

1 Betriebssystembau (BSB) Das Programmiermodell der x86_64-architektur Daniel Friesel, Olaf Spinczyk AG Eingebettete Systemsoftware Informatik 12, TU Dortmund

2 Überblick: Vorlesungen Struktur des OO-StuBS -Betriebssystems: Anwendung(en) Gerätezugriff (Treiber) Kontrollflussabstraktion Unterbrechungssynchronisation Hardware Prozessverwaltung Unterbrechungsbehandlung Interprozesskommunikation Betriebssystementwicklung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 2

3 Überblick: Vorlesungen Struktur des OO-StuBS -Betriebssystems: Anwendung(en) Gerätezugriff (Treiber) Hardware Prozessverwaltung Interprozesskommunikation Unterbrechungsbehandlung Unterbrechungssynchronisation Kontrollflussabstraktion Betriebssystementwicklung Thema der heutigen Vorlesung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 3

4 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 4

5 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 5

6 Historie der Intel x86-prozessoren (1) 886 (1978) der Urvater des PC-Prozessors 8286 (1982) Einführung des Protected Mode segmentbasierter Speicherschutz 8386 (1985) erster IA-32-Prozessor seitenbasierter virtueller Speicher 8486 (1989) integrierte FPU, RISC-Ansätze Pentium (1993) superskalar, 64-Bit-Datenbus SMM, MMX, APIC, Dualprozessor-fähig Pentium Pro (1995) Server, High-End Pentium II (1997) Pentium Pro + MMX RISC-artige Mikroinstruktionen Pentium III (1999) SSE Pentium 4 (2) Netburst-Architektur SSE2, Hyperthreading, Vanderpool, Intel 64/EM64T 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 6

7 Historie der Intel x86-prozessoren (2) Core (25) Dual Core, weniger Strom Pentium III-Derivat, SSE3, Core 2 (26) Dual/Quad Core, 64 Bit (amd64) Core i3/i5/i7 (28) SSE4, QPI, SMT, L3-Cache On-die L3-Cache, integrierter Speichercontroller und teils GPU Atom (28) noch weniger Strom Sandy Bridge (211) AVX, AES-NI Haswell/Broadwell (213) AVX2, TSX Sky-/Kaby-/Cannonlake (215-17) AVX3, MPX, SGX, ADX integrierte Southbridge, USB 3.1, GPU für 3D und 4k-Video 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 7

8 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 8

9 886: Programmiermodell 16-Bit-Architektur, little-endian 2-Bit-Adressbus, d.h. maximal 1 MiB Hauptspeicher wenige Register (jedenfalls aus heutiger Sicht) 123 Befehle kein orthogonaler Befehlssatz Befehlslängen von 1 bis 4 Byte segmentierter Speicher noch immer aktuell obwohl von 1978: noch heute von jeder amd64-cpu unterstützt Real Mode, Virtual 886 Mode Aufwärtskompatibilität wird bei Intel großgeschrieben 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 9

10 886: Registersatz Befehls- und Stapelzeiger 15 IP SP Flags-Register 15 FLAGS Vielzweckregister 15 AH BH CH DH AL BL CL DL Segmentregister 15 CS SS DS ES Stack Data Extra SI DI BP 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 1

11 886: Registersatz Befehls- und Stapelzeiger 15 IP SP Vielzweckregister 15 AH BH CH DH SI DI BP AL BL CL DL Jedes Vielzweckregister erfüllt seinen speziellen Zweck AX: Accumulator Register arithmetisch-logische Operationen I/O Flags-Register kürzester 15 Maschinencode FLAGS BX: Base Address Register CX: Count Register für LOOP-Befehl Segmentregister für 15 String-Operationen mit REP für Bit Shift und Rotate CS DX: Data SS Register Stack DX:AX DSsind 32 Bit für MUL/DIVData Portnummer ES für IN und OUT Extra SI, DI: Index Register für Array-Zugriffe (Displacement) BP: Base Pointer 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 11

12 886: Segmentierter Speicher logische Adressen bestehen beim 886 aus Segmentselektor (i.d.r. der Inhalt eines Segmentregisters) Offset (i.d.r. aus einem Vielzweckregister oder dem Befehl) Berechnung der physikalischen Adresse: 15 Segmentselektor 15 + Offset 19 physikalische Adresse Die 16-Bit-Konkurrenz konnte i.d.r. nur 64KB adressieren. 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 12

13 886: Segmentierter Speicher logische Adressen bestehen beim 886 aus Segmentselektor (i.d.r. der Inhalt eines Segmentregisters) Offset (i.d.r. aus einem Vielzweckregister oder dem Befehl) Berechnung der physikalischen Adresse: 64K ought to be enough for anybody 15 Segmentselektor 15 + Offset angeblich ein Zitat von Bill Gates, physikalische Adresse Die 16-Bit-Konkurrenz konnte i.d.r. nur 64KB adressieren. 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 13

14 886: Speichermodelle Programme können Adressen unterschiedlich bilden. Das Ergebnis waren unterschiedliche Speichermodelle: Tiny -, Daten- und Stacksegment sind identisch: 64K insgesamt Small Trennung des s von Daten und Stack: 64K + 64K Medium 32- (bzw. 2-) Bit-Zeiger für, Daten- & Stapelseg., aber fest (64K) Compact Festes -Segment (64K), 32- (2-) Bit-Zeiger für Daten & Stack Large far -Zeiger für alles: 1MB komplett nutzbar Huge wie Large, aber mit normalisierten Zeigern 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 14

15 886: Fazit Urvater der PC-Prozessoren bildete den Kern der ersten PCs noch heute sind x86- und amd64-prozessoren kompatibel Segmentregister brachten Vorteile trotz 16-Bit-Architektur 1 MB Speicher Trennung von logischen Modulen im Hauptspeicher Programm- und Übersetzerentwicklung ist aber vergleichsweise schwierig verschiedene Speichermodelle nicht-orthogonaler Befehlssatz 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 15

16 IA-32 die 32-Bit-Intel-Architektur die erste IA-32-CPU war der 8386 wobei der Begriff IA-32 erst sehr viel später eingeführt wurde 32-Bit-Technologie: Register, Daten- und Adressbus ab Pentium Pro: 64 Bit Daten- und 36 Bit Adressbus zusätzliche Register komplexe Schutz- und Multitasking-Unterstützung Protected Mode ursprünglich schon mit dem 8286 (16-Bit) eingeführt Kompatibilität mit älteren Betriebssystemen durch den Real Mode mit älteren Anwendungen durch den Virtual 886 Mode segmentbasiertes Programmiermodell seitenbasierte MMU 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 16

17 amd64 Die 64-Bit-AMD-Architektur IA-32 erlaubte nur maximal 4 GB virtuellen Speicher Lösung: 64-Bit-Architektur Derzeit 48 Bit virtueller Adressraum (bis zu 256 TB) Weitere (und 64 Bit breite) Register Seitenbasierters Programmiermodell mit Speicherschutz No Execute-Bit für einzelne Seiten (Fast) keine Segmentierung Weiterhin rückwärtskompatibel Long Mode zur Nutzung der neuen Eigenschaften 32-Bit Legacy Mode für Systeme oder einzelne Anwendungen Von AMD entwickelt und von Intel (als Intel 64) übernommen Inzwischen meist als x86_64 / x64 bezeichnet Intels IA-64 (Itanium) konnte sich nicht durchsetzen 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 17

18 x86_64: Registersatz (Erweiterungen) erweiterte Register heißen aus Kompatibilitätsgründen R RAX RBX RCX RDX RSI RDI RBP R8 R15 Vielzweckregister AX BX CX DX SI DI BP RIP RSP RFLAGS Stack Data Extra Befehls- und Stapelzeiger 63 Flags-Register Segmentregister 15 CS SS DS ES Extra Extra 15 IP SP FLAGS FS GS Erweiterung zum Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 18

19 x86_64: Registersatz (neue Register) Speicherverwaltungsregister TR TSS-Sel. TSS-Basisadresse LDTR LDT-Sel. LDT-Basisadresse IDTR IDT-Basisadresse GDTR GDT-Basisadresse Steuerregister CR8 CR4 CR3 CR2 CR Modellspezifische Register TSS-Limit LDT-Limit IDT-Limit GDT-Limit 15 DR DR1 DR2 DR3 DR6 DR7 Debugregister Erläuterungen folgen 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 19

20 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 2

21 x86_64: Adressierungsarten Effektive Adressen (EA) werden nach einem einfachen Schema gebildet alle Vielzweckregister können dabei gleichwertig verwendet werden EA = Basis-Reg. + (Index-Reg. * Scale) + Displacement Beispiel: MOV RAX, Feld[RSI * 4] 1/2/4/ /2/4 Byte EA Lesen aus Feld mit 4 Byte großen Elementen und RSI als Index Neu bei x86_64: Relative Adressierung EA = RIP + Displacement 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 21

22 Das A2-Gate ist ein Relikt aus der Zeit der 8286-Systeme (IBM AT) beim IBM XT (886) konnte es bei der Adressberechnung zu einem Überlauf kommen. Im Maximalfall: xffef nur 2 Bit! xffff + xffff x1ffef Segment * 16 Offset phys. Adresse MS-DOS (und andere Systeme) verwenden diesen Trick. Aus Kompatibilitätsgründen wurde im IBM AT die A2-Leitung über das A2 Gate (Register im Tastaturcontroller) maskiert. A2 muss explizit freigeschaltet werden, um Speicher > 1 MiB zu adressieren Ab dem 486 hat Intel das A2-Gate in die CPU integriert! 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 22

23 IA-32: Protected Mode Segmente Ein Programm (in Ausführung) besteht aus mehreren Speichersegmenten Traditionell mindestens CODE, DATEN und STACK Segmentselektoren beschreiben (indirekt) Adresse und Länge Lineare Adresse ist Segmentstartadresse + EA Lineare Adresse entspricht physikalischer Adresse, falls die Paging Unit nicht eingeschaltet ist. Segmente dürfen sich überlappen, z.b. Startadressen == In der Praxis wird i.a. ein solcher flacher Adressraum genutzt Kein segmentbasierter Schutz im Long Mode Nur FS/GS-Startadresse und CS-Attribute werden berücksichtigt 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 23

24 x86_64: Segmente Segment Register SS GS FS ES DS CS Selektor Tabelle Flags Limit Startadresse SS GS FS ES DS CS Segmentdeskriptoren effektive Adresse + + Segmentgrenze lineare Adresse Startadresse des Segments Basis-Register Index-Register Scale 1, 2, 4 oder 8 Displacement (im Befehl) Operand selektiertes Segment 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 24 x Limit linearer Adressraum

25 x86_64: Seitenbasierte MMU Ein- und Auslagerung von Speicher (zwecks virtuellem Speicher) auf Seitenbasis Ab dem 8386 kann eine Paging Unit (PU) optional hinzugeschaltet werden, in x86_64 obligatorisch Die wichtigsten Verwaltungsinformationen stehen in den Steuerregistern CR/2/3: CR3 CR2 CR 63 reserviert Basis-Adresse der Page Map Virtuelle Adresse des Page-Faults reserviert PG sonstige reserviert PE Paging: 1=aktiv Protected-Mode Enable: 1=aktiv 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 25

26 x86_64: Seitenübersetzungstabelle lineare Adresse 63 N/A PML4-Index PDP-Index PD-Index Page-Index Offset 51 CR3 PML4-Basis 12 Page-Map Level 4 Eintrag Eintrag 2 Eintrag 1 Eintrag Page Directory Pointers Eintrag Eintrag 2 Eintrag 1 Eintrag Page Directory Eintrag Eintrag 2 Eintrag 1 Eintrag Page Table Eintrag Eintrag 2 Eintrag 1 Eintrag Page Frames (phys. Adr.)... Page-Frame 4KiB (, Daten) Page-Frame 4KiB (, Daten) Page-Frame 4KiB (, Daten) Page-Frame (, 4KiB Daten) 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 26

27 x86_64: TLB Problem: Speicherzugriffe werden durch Indirektion über PML4, PDP, Page Directory und Page Table verlangsamt Lösung: der Translation Lookaside Buffer (TLB): assoziativer Cache Tag: PML4/PDP/PD/PT Daten: Page-Frame-Adresse Größe und Assoziativität hängen von CPU ab bei normalen Anwendungen erreicht der TLB eine Trefferrate von etwa 98% Schreiben in das CR3-Register invalidiert den TLB 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 27

28 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 28

29 Schutz unter IA-32 die wichtigste Eigenschaft des Protected Mode ist das Schutzkonzept Ziel: fehlerhaften oder nicht vertrauenswürdigen isolieren Schutz vor Systemabstürzen Schutz vor unberechtigten Datenzugriffen keine unberechtigten Operationen, z.b. I/O-Port-Zugriffe Voraussetzungen: und Daten werden hinsichtlich der Vertrauenswürdigkeit kategorisiert bekommen einen Besitzer (siehe "Multitasking") 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 29

30 Schutzringe und Gates Durch einen 2-Bit- Eintrag im Segmentdeskriptor wird jedes Segment einer Privileg-Ebene zugeordnet. Daten Daten Daten Daten Daten Daten 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 3

31 Schutzringe und Gates Privileg-Ebene 3 ist die niedrigste und für Anwendungen gedacht. Anwendungen Daten Kundenspezifische BS-Erweiterungen Daten Systemdienste Daten Kern Daten Privileg-Ebene ist die höchste und dem Betriebssystemkern vorbehalten. Daten Daten 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 31

32 Schutzringe und Gates Zugriff auf Daten Daten eines inneren Rings ist verboten Daten Daten eines inneren Rings kann nur durch Gates aufgerufen werden Zugriff auf Daten eines Daten äußeren Rings Zugriffe erlaubt Daten Daten auf Segmente der Aufruf von derselben eines äußeren Rings Ebene sind ist i.a. verboten! erlaubt 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur erlaubt 32

33 Segmentdeskriptoren Erlauben Schutz von im Protected Mode jede Verletzung führt zum Auslösen einer Ausnahme In 64-Bit-Systemen erlauben sie die Ausführung von 32-Bit- ein Segment-Deskriptor Segment Base G D/B L AVL Limit P S DPL Segment Base Segment Limit TYPE Segment Base TYPE : C - Conforming R - Readable A - Accessed P - Present Bit G - Granularity DPL - Descriptor Privilege Level D/B - 16/32 Bit Seg. S - System Segment L - Long Mode aktiv 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 33

34 Schutz unter x86_64 Segmentierung wurde in der Praxis kaum angenommen Fast alle IA-32-Systeme nutzen flaches Speichermodell Offset der logischen Adresse = lineare Adresse Stattdessen: Schutz durch virtuellen Speicher Phys. Speicher Prozess 1: Prozess 2: Prozess n: CR3 CR3 CR3 Seiten- Tabelle Seiten- Tabelle Seiten- Tabelle... Seite 2 Seite 2 Seite 2 Seite 1 Seite Jeder Prozess sieht nur seinen virtuellen Adressraum Seitentabelle ist vor Anwendungssoftware verborgen Zusätzliche Einschränkungen pro Seite möglich 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 34

35 Einträge der Seitenübersetzungstabelle N X Available Basisadresse der Tabelle / Basisadresse der Seite AVL... U/S R/W P No Execute User/Supervisor Read/Write Present Einstellung in jeder Hierarchieebene möglich Daten dürfen nicht als ausgeführt werden (NX=1) Schutz vor Lesezugriffen aus Ring 3 (U/S=) Readonly-Seiten (R/W=) Erlaubt Umsetzung von Shared Memory Oder Readonly-Zugriff auf Betriebssystemstrukturen Effektiv werden nur Ring (Kern) und 1-3 (Anwendung) getrennt 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 35

36 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 36

37 IA-32: Multitasking Neben dem Schutz vor unberechtigten vertikalen Zugriffen zwischen Segmenten unterschiedlicher Ebenen unterstützt IA-32 auch ein Task-Konzept ( horizontale Trennung ) Ist im x86_64 Long Mode nicht verfügbar Daten Globale Segmente (Deskriptoren in Daten Daten der GDT) Segmente aus der LDT von Task A Daten Daten Task A Daten Task C Task B 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 37

38 Task State-Segmente Das Task-Register TR verweist auf das Task State Segment (TSS) In IA-32 nimmt es den Task- Zustand auf Segmente, Registerinhalt,... Task-Wechsel sind so komplett in Hardware möglich x86_64 unterstützt dies nicht Stattdessen: TSS für E/A- Berechtigungen und Stackpointer I/O Permission Bitmap I/O Map Base Address IST7 IST6 IST5 IST4 IST3 IST2 IST1 RSP2 RSP1 RSP 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 38

39 Ein-/Ausgaben im Long Mode Nicht jeder beliebige Task darf Ein-/Ausgaben durchführen! Zugriffe auf Geräte im Speicher (memory-mapped I/O) können über Speicherschutz abgefangen werden Zugriffe auf I/O-Ports werden eingeschränkt: die I/O Privilege Level-Bits im RFLAGS-Register erlauben Ein- und Ausgaben auf bestimmten Schutzringen auf den anderen Ebenen regelt die I/O Permission Bitmap im TSS den Zugriff: TSS Die Bitmap endet mit eine '1' verhindert dem TSS den Portzugriff Segmentende, Ports mit größeren Port Nummern dürfen nicht angesprochen I/O Map Base Address werden. IST7 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 39...

40 x86_64: Was gibt es sonst noch? Bald: 5-Level Paging Bis zu 4 PB Speicher (128 PB Adressraum) statt bisher 64/256 TB System Management Mode (SMM) gibt dem BIOS Kontrolle über das System das Betriebssystem merkt davon nichts! Virtualisierung der CPU der Virtual 886 Mode 16-Bit-Anwendungen oder Betriebssysteme laufen als Task in einer geschützten Umgebung Intel-VT, AMD-V Hardwareunterstützung für virtuelle Maschinenlösungen wie VMware, VirtualPC oder Xen erlaubt die Ausführung von Ebene--Protected-Mode- in einer VM 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 4

41 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 41

42 Zusammenfassung die x86_64-architektur ist ausgesprochen komplex, u.a. Virtueller Speicher mit vierfacher Seitentabelle Seitenbasierter Speicherschutz Schutz von I/O-Ports pro Task Ausführung von im 32-Bit Legacy Mode in einem 64-Bit-System Kaum genutzte IA-32-Features wurden in amd64 entfernt Segmentierung (viele Systeme nutzen einen flachen Adressaum) Task-Wechsel in Hardware Dennoch: konsequente Kompatibilität mit älteren Prozessorversionen Stichwort Legacy / Virtual 886 Mode, PIC und A2 Gate! 16. Nov 217 Betriebssystembau: 6-Das Programmiermodell der x86_64-architektur 42

Betriebssysteme (BS) IA-32. Überblick. das Programmiermodell der Intel Architektur. Historie der Intel x86 Prozessoren. 8086: Programmiermodell

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

Mehr

Betriebssysteme (BS)

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

Mehr

Betriebssysteme (BS) IA-32. Überblick: Vorlesungen. das Programmiermodell der Intel-Architektur. Agenda. Historie der Intel x86-prozessoren

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

Mehr

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Proseminar 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

Mehr

Intel x86 Bootstrapping

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

Mehr

5.6 Segmentierter virtueller Speicher

5.6 Segmentierter virtueller Speicher 5.6 Segmentierter virtueller Speicher Zur Erinnerung: Virtueller Speicher ermöglicht effiziente und komfortable Nutzung des realen Speichers; Sharing ist problematisch. Segmentierung erleichtert Sharing,

Mehr

Zwei Möglichkeiten die TLB zu aktualisieren

Zwei 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

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Einführung https://ess.cs.tu-dortmund.de/de/teaching/ws2016/bsb/ Horst Schirmeier, Olaf Spinczyk horst.schirmeier@tu-dortmund.de https://ess.cs.tu-dortmund.de/~hsc AG Eingebettete

Mehr

Proseminar 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 Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung

Mehr

Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum.

Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum. 15.1.1 Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum. - 15. Hauptspeicher-Adressierung 15.1 Adressierungsmodi Virtual

Mehr

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

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

15. Hauptspeicher-Adressierung

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

Mehr

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

Mehr

Virtueller Speicher und Memory Management

Virtueller 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

Mehr

Wie schreibt man ein Betriebssystem?

Wie 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/

Mehr

x86-assemblerprogrammierung

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

Mehr

Tutorium Rechnerorganisation

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

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) Einführung http://ess.cs.tu-.de/de/teaching/ws2013/bsb/ Olaf Spinczyk olaf.spinczyk@tu-.de http://ess.cs.tu-.de/~os AG Eingebettete System Informatik 12, TU Dortmund Überblick Organisatorisches

Mehr

7. Speicherverwaltung

7. Speicherverwaltung 7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische

Mehr

RO-Tutorien 15 und 16

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

Pru fungsprotokoll. Prüfer: Dr. Lenhardt Beisitzer:? Datum der Prüfung: Dauer: 25 Minuten

Pru 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

Mehr

Betriebssystemtechnik

Betriebssystemtechnik 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

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002 Die Deutsche Bibliothek - CIP-Einheitsaufnahme

Mehr

Assembler - Adressierungsarten

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

Mehr

Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben

Besprechung 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

Mehr

Echtzeitbetriebssysteme

Echtzeitbetriebssysteme 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

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Das Assembler-Buch. Trutz Eyke Podschun. Grundlagen und Hochsprachenoptimierung. 4., aktualisierte Auflage ADDISON-WESLEY

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

Mehr

Vorlesung "Struktur von Mikrorechnern" (CBS)

Vorlesung 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

Mehr

Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme

Betriebssysteme 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

Mehr

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

Mehr

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

Mehr

Klausur zur Mikroprozessortechnik

Klausur 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

Mehr

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Dominik Schoenwetter Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität

Mehr

Rechnergrundlagen SS Vorlesung

Rechnergrundlagen SS Vorlesung Rechnergrundlagen SS 2007 13. Vorlesung Inhalt Cache Lesen Schreiben Überschreiben Memory Management Unit (MMU) Translation Lookaside Buffer (TLB) Klausurvorbereitung Inhalte der Klausur Rechnergrundlagen

Mehr

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

Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS) 1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten

Mehr

Einführung in Computersysteme

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

Mehr

Vorlesung "Struktur von Mikrorechnern" (SMR)

Vorlesung Struktur von Mikrorechnern (SMR) 2 16-Bit Bit-Prozessoren 2.4 Datentypen in PASCAL 2.5 PIN-Funktionen beim I 8086 2.5.1 Adressbus 2.5.2 Multiplexbus 2.5.3 Interruptlogik 2.5.4 Betriebsmodi 2.6 Mehrrechnerkonzept Inhaltsverzeichnis Kapitel

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

Aufgabe 1 Entwicklung einer Virtuellen Maschine

Aufgabe 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

Mehr

RO-Tutorien 17 und 18

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

Mehr

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

Konzepte 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

Mehr

Übung zu Betriebssystembau (Ü BS)

Ü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

Mehr

Technische Informatik 2 Speichersysteme, Teil 3

Technische Informatik 2 Speichersysteme, Teil 3 Technische Informatik 2 Speichersysteme, Teil 3 Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute Virtueller Speicher (Fortsetzung) Translation Lookaside Buffer

Mehr

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44

Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock

Mehr

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

Mehr

3 Schnittstelle zum Betriebssystem 3.1 Einleitung

3 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,.)

Mehr

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

1. Speicher. Typische Nutzung eines Adreßraums. Systemsoftware. Textbereich relativ klein. Sehr großer Abstand zwischen Heap und Stack 1. Speicher 1 Typische Nutzung eines Adreßraums Textbereich relativ klein Sehr großer Abstand zwischen Heap und Stack Keine Verunreinigungen durch: E/A-Bereiche nicht bestückte Adreßbereiche fremde Kontrollflüsse

Mehr

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1

Hans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1 Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)

Mehr

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht

Kap.2 Befehlsschnittstelle. Prozessoren, externe Sicht Kap.2 Befehlsschnittstelle Prozessoren, externe Sicht 2 Befehlsschnittstelle 2.1 elementare Datentypen, Operationen 2.2 logische Speicherorganisation 2.3 Maschinenbefehlssatz 2.4 Klassifikation von Befehlssätzen

Mehr

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012

Überschrift. Speicherverwaltung. Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 Überschrift Speicherverwaltung Prof. Dr. Margarita Esponda Freie Universität Berlin 2011/2012 1 Hauptziele: Speicherverwaltung Speicher ist die zweite wichtigste Ressource, die das Betriebssystem verwalten

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 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

Mehr

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung

Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung Vorlesung: Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung Themenüberblick Virtualisierung VL 02: Einführung in die Virtualisierung (heute) VL 06: VL 08: XaaS VL 09: PaaS + SaaS VL

Mehr

Einführung in die technische Informatik

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

Mehr

Einführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009

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

Mehr

Lösungsvorschlag für Übung September 2009

Lösungsvorschlag für Übung September 2009 Universität Mannheim Vorlesung Betriebssysteme Lehrstuhl für Praktische Informatik 1 Herbstsemester 2009 Prof. Dr. Felix Freiling Dipl.-Inform. Jan Göbel Lösungsvorschlag für Übung 2 25. September 2009

Mehr

TECHNISCHE 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

Vorwort 15 Inhalt der DVD 18. Kapitel 1 Halbleitertechnik im Überblick 19. Kapitel 2 Logikschaltungen 29

Vorwort 15 Inhalt der DVD 18. Kapitel 1 Halbleitertechnik im Überblick 19. Kapitel 2 Logikschaltungen 29 Band 1 Vorwort 15 Inhalt der DVD 18 Kapitel 1 Halbleitertechnik im Überblick 19 1.1 Bipolar-Halbleiter 20 1.2 Der MOSFET 22 GUI Kapitel 2 Logikschaltungen 29 2.1 Logische Grundschaltungen 29 2.2 Sequentielle

Mehr

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

Mehr

Leichtgewichtsprozesse

Leichtgewichtsprozesse Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) PC-Bussysteme und deren Programmierung http://ess.cs.tu-dortmund.de/de/teaching/ws2012/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete

Mehr

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9

Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)

Mehr

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 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

Mehr

Rechnerorganisation. IKS 2016 H.-D. Wuttke, K. Henke

Rechnerorganisation. IKS 2016 H.-D. Wuttke, K. Henke Rechnerorganisation Mathematische Grundlagen (1) Boolesche Algebren: BMA, BAA (2,3) Kombinatorische Schaltungen (4,5) Automaten (6,7) Sequentielle Schaltungen (8) Programmierbare Strukturen (9) Rechneraufbau

Mehr

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at

Memory Management. Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at Memory Management Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1 Speicherverwaltung Effektive Aufteilung und Verwaltung des Arbeitsspeichers für BS und Programme Anforderungen

Mehr

12. Sicherheit. A, B3, B2, B1, C2, C1, D sicher unsicher. Betriebssysteme, Sommer 2005, Verteilte Systeme, Universität Ulm, M.

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

Mehr

Paging. Einfaches Paging. Paging mit virtuellem Speicher

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

Mehr

20 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

Mehr

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

Mehr

Technische Informatik 1 - HS 2017

Technische Informatik 1 - HS 2017 Institut für Technische Informatik und Kommunikationsnetze Prof. L. Thiele Technische Informatik 1 - HS 2017 Übung 11 Datum: 21. 22. 12. 2017 Virtueller Speicher 1 Performanz Gehen Sie von einem virtuellen

Mehr

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

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

Mehr

Grundlagen Rechnerarchitektur und Betriebssysteme

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

Mehr

Teil 1: Prozessorstrukturen

Teil 1: Prozessorstrukturen Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium

Mehr

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

(Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl Übung zur Vorlesung Grundlagen Betriebssysteme und Systemsoftware (Prof. Dr. J. Schlichter, WS 2011 / 2012) Übungsleitung: Dr. Wolfgang Wörndl (gbs-ws11@mailschlichter.informatik.tu-muenchen.de) http://www11.in.tum.de/veranstaltungen/grundlagenbetriebssystemeundsystemsoftwarews1112

Mehr

i386 Interrupt-Deskriptortabelle (IDT)

i386 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

Mehr

Linux Paging, Caching und Swapping

Linux Paging, Caching und Swapping Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches

Mehr

Geräteentwurf mit Mikroprozessoren 1

Geräteentwurf mit Mikroprozessoren 1 Geräteentwurf mit Mikroprozessoren 1 Vorlesung am Institut für Elektronik der TU Graz Dipl.-Ing. Dr. Gerhard Stöckler SS 2003 Vorausgesetzte Kenntnisse: Grundlagen der Digitaltechnik Binäre Informationsdarstellung

Mehr

Mikrorechentechnik 1. Befehlssatzarchitektur. Professur für Prozessleittechnik Wintersemester 2011/2012

Mikrorechentechnik 1. Befehlssatzarchitektur. Professur für Prozessleittechnik Wintersemester 2011/2012 Fakultät Elektrotechnik und Informationstechnik, Professur für Prozessleittechnik Mikrorechentechnik 1 Befehlssatzarchitektur Professur für Prozessleittechnik Wintersemester 2011/2012 Qualifikationsziele

Mehr

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

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

Mehr

(Cache-Schreibstrategien)

(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

Mehr

Memory Management Units in High-Performance Processors

Memory 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

Mehr

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Betriebssysteme 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

Mehr

Projekt für Systemprogrammierung WS 06/07

Projekt 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

Mehr

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Systeme 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

Mehr

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de

Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp Heiko@rvs.uni-bielefeld.de Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung

Mehr

Tutorium Rechnerorganisation

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

Mehr

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard Systeme I: Betriebssysteme Kapitel 4 Prozesse Wolfram Burgard Version 18.11.2015 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen

Mehr

Neue Prozessor-Architekturen für Desktop-PC

Neue Prozessor-Architekturen für Desktop-PC Neue Prozessor-Architekturen für Desktop-PC Bernd Däne Technische Universität Ilmenau Fakultät I/A - Institut TTI Postfach 100565, D-98684 Ilmenau Tel. 0-3677-69-1433 bdaene@theoinf.tu-ilmenau.de http://www.theoinf.tu-ilmenau.de/ra1/

Mehr

Wunschvorstellung der Entwickler vom Speicher

Wunschvorstellung der Entwickler vom Speicher Wunschvorstellung der Entwickler vom Speicher Unendlich groß Unendlich schnell Nicht flüchtig billig Obwohl sich der verfügbare Speicher laufend erhöht, wird immer mehr Speicher benötigt, als verfügbar

Mehr

Inhaltsübersicht. Speicherverwaltung Teil I. Motivation. Prinzipielle Arten der Speicherverwaltung

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

Mehr

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

Übung zu Grundlagen der Betriebssysteme. 13. Übung 22.01.2012 Übung zu Grundlagen der Betriebssysteme 13. Übung 22.01.2012 Aufgabe 1 Fragmentierung Erläutern Sie den Unterschied zwischen interner und externer Fragmentierung! Als interne Fragmentierung oder Verschnitt

Mehr

5 Speicherverwaltung. bs-5.1 1

5 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

Mehr

Hinweise 80x86-Architektur

Hinweise 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

Mehr

6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten

6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten 6. Intel IA-32 Prozessoren Aufbau und Adressierungsarten 6.1 Gegenstand der Vorlesung Interne Organisation - Architektur - Register - Statusbits - Speicherstruktur Basis-Adressierungsarten - direct - absolute

Mehr

Rechnerorganisation. Überblick über den Teil 13

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

Mehr

Kapitel VI. Speicherverwaltung. Speicherverwaltung

Kapitel VI. Speicherverwaltung. Speicherverwaltung Kapitel VI Speicherverwaltung 1 Speicherverwaltung Computer exekutiert Programme (mit Daten) im Hauptspeicher. Hauptspeicher: Großes Array von Wörtern (1 oder mehrere Bytes) Jedes Wort hat eine eigene

Mehr