Betriebssystembau (BSB)

Größe: px
Ab Seite anzeigen:

Download "Betriebssystembau (BSB)"

Transkript

1 Betriebssystembau (BSB) Das Programmiermodell der Intel IA-32-Architektur Horst Schirmeier, 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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 3

4 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 4

5 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 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-bus 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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 6

7 Historie der Intel x86-prozessoren (2) Core (25) Dual Core, weniger Strom Pentium III-Derivat, SSE3, Core 2 (26) Dual Core, Quad Core, 64 Bit Core i3/i5/i7 (28) SSE4, QPI, Quad Core, 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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 7

8 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 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 Aufwärtskompatibilität wird bei Intel großgeschrieben obwohl von 1978: noch heute von jeder IA-32-CPU unterstützt Real Mode, Virtual 886 Mode 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 9

10 886: Registersatz Befehls- und Stapelzeiger 15 IP SP Flag Register 15 FLAG Vielzweckregister 15 AH BH CH DH AL BL CL DL Segmentregister 15 CS SS DS ES Stack Data Extra SI DI BP 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 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/OFlag Register kürzester Maschinencode FLAG BX: Base Address Register 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur CX: Count Register für LOOP-Befehl Segmentregister für String-Operationen mit REP 15 für Bit Shift und Rotate CS DX: Data SSRegister 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

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 + Offset physikalische Adresse Die 16-Bit-Konkurrenz konnte i.d.r. nur 64KB adressieren. 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 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. 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 13

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

15 886: Fazit Urvater der PC-Prozessoren bildete den Kern der ersten PCs noch heute sind IA32-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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 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, - und Adressbus ab Pentium Pro: 64 Bit - 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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 16

17 8386: Registersatz (Erweiterungen) erweiterte Register heißen aus Kompatibilitätsgründen E EIP ESP Befehls- und Stapelzeiger IP SP EFLAG Flag Register FLAG EAX EBX ECX EDX ESI EDI EBP Vielzweckregister AH BH CH DH SI DI BP AL BL CL DL Stack Data Extra Extra Extra Segmentregister 15 CS SS DS ES FS GS Erweiterung zum Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 17

18 8386: Registersatz (neue Register) CR3 CR2 CR1 CR Testregister TR7 TR6 Speicherverwaltungsregister TR TSS-Sel. TSS-Basisadresse TSS-Limit LDTR LDT-Sel. LDT-Basisadresse LDT-Limit IDTR IDT-Basisadresse IDT-Limit GDTR GDT-Basisadresse GDT-Limit Steuerregister Debugregister DR DR1 DR2 DR3 DR6 DR Erläuterungen folgen 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 18

19 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 19

20 IA-32: 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 EAX EAX EBX EBX ECX ECX EDX EDX ESP --- EBP EBP ESI ESI EDI EDI Beispiel: MOV EAX, Feld[ESI * 4] EA Bit-Wert 32-Bit-Wert Lesen aus Feld mit 4 Byte großen Elementen und ESI als Index 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 2

21 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! 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 21

22 IA-32: Protected Mode Segmente ein Programm (in Ausführung) besteht aus mehreren Speichersegmenten mindestens CODE, DATEN und STACK Segmentselektoren beschreiben (indirekt) Adresse und Länge Lineare Adresse ist Segmentstartadresse + EA Segmente dürfen sich im linearen Adressraum überlappen, z.b. dürfen die Segmentstartadressen bei liegen. Dadurch wird ein flacher Adressraum nachgebildet. Lineare Adresse entspricht der physikalischen Adresse, falls die Paging Unit nicht eingeschaltet ist. 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 22

23 IA-32: Protected Mode 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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 23 x Limit linearer Adressraum

24 IA-32: Seitenbasierte MMU (1) Ein- und Auslagerung von Speicher (zwecks virtuellem Speicher) ist bei Segmentierung aufwändig. Daher bieten viele andere CPUs lediglich eine seitenbasierte Speicherverwaltung. ab dem 8386 kann eine Paging Unit (PU) optional hinzugeschaltet werden. die wichtigsten Verwaltungsinformationen stehen in den Steuerregistern CRx: 31 Page-Directory-Basisregister 11 reserviert Lineare Adresse des Page-Faults reserviert PG PE CR3 12 CR2 CR1 CR reserviert TS E M Paging: 1=aktiv Protection Enable: 1=aktiv 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 24

25 IA-32: Seitenbasierte MMU (2) lineare Directory Page Offset Adresse CR PD Basis Eintrag Eintrag 2 Eintrag 1 Page Directory Eintrag page page page page Page Tables page page 124 page 248 page Page Page-Frame Page-Frame Page-Frame Page-Frame 4KiB 4KiB 4KiB 4KiB Frames (, ) (, ) (, ) (, ) 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 25 (phys. Adr.)

26 IA-32: TLB Problem: bei aktiver Paging Unit wäre eine IA-32-CPU erheblich langsamer, wenn bei jedem Speicherzugriff das Page Directory und die Page Table gelesen werden müssten Lösung: der Translation Lookaside Buffer (TLB): vollassoziativer Cache Tag: 2-Bit-Wert aus Page Directory und Page Table Index : Page-Frame-Adresse Größe beim 8386: 32 Einträge bei normalen Anwendungen erreicht der TLB eine Trefferrate von etwa 98% Schreiben in das CR3-Register invalidiert den TLB 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 26

27 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 27

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

29 Schutzringe und Gates Durch einen 2-Bit- Eintrag im Segmentdeskriptor wird jedes Segment einer Privileg-Ebene zugeordnet Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 29

30 Schutzringe und Gates Privileg-Ebene 3 ist die niedrigste und für Anwendungen gedacht. Anwendungen Kundenspezifische BS-Erweiterungen Systemdienste Kern Privileg-Ebene ist die höchste und dem Betriebssystemkern vorbehalten. 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 3

31 Schutzringe und Gates Zugriff auf eines inneren Rings ist verboten eines inneren Rings kann nur durch Gates aufgerufen werden Zugriff auf eines äußeren Rings Zugriffe erlaubt auf Segmente der Aufruf von derselben eines äußeren Rings Ebene sind ist verboten! erlaubt 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 31

32 Segmentdeskriptoren weitere Informationen über die Schutzanforderungen der Segmente enthalten die Deskriptoren jede Verletzung führt zum Auslösen einer Ausnahme ein Segment-Deskriptor Segment Base G P S DPL Segment Base Segment Limit TYPE D/B AVL Segment Base Limit TYPE Data: ED - Expansion Direction W - Writable A - Accessed 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 AVL - Available for OS 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 32

33 Beispiel: Das flache Speichermodell Die meisten PC-Betriebssysteme nutzen Segmentierung nicht. 32-Bit-Offset der logischen Adresse = lineare Adresse trotzdem müssen zwei Segmentdeskriptoren angelegt werden: ; ; Descriptor-Tabellen ; gdt: dw,,, ; NULL Deskriptor dw dw dw dw xffff ; 4Gb - (x1*x1 = 4Gb) x ; base address= x9a ; code read/exec xcf ; granularity=496, ; 386 (+5th nibble of limit) dw xffff ; 4Gb - (x1*x1 = 4Gb) dw x ; base address= dw x92 ; data read/write dw xcf ; granularity=496, 24. Nov 216 ; 386 (+5th nibble of limit) Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 33

34 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 34

35 Multitasking neben dem Schutz vor unberechtigten vertikalen Zugriffen zwischen Segmenten unterschiedlicher Ebenen unterstützt IA-32 auch ein Task-Konzept ( horizontale Trennung ) die Zuordnung von Segmenten zu Tasks erfolgt über Lokale Deskriptortabellen (LDTs) Segmente aus der LDT von Task A Task A Task B Globale Segmente (Deskriptoren in der GDT) Task C 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 35

36 Lokale Segmentdeskriptortabellen sind nötig, wenn der Segmentselektor (z.b. aus einem Segmentregister) sich auf die LDT bezieht: 15 Index TI RPL TI = : GDT TI = 1: LDT werden mit Hilfe des LDTR gefunden, das bei jedem Taskwechsel ausgetauscht wird: TR LDTR IDTR GDTR Speicherverwaltungsregister TSS-Sel. LDT-Sel. TSS-Basisadresse LDT-Basisadresse IDT-Basisadresse GDT-Basisadresse TSS-Limit LDT-Limit IDT-Limit GDT-Limit 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 36

37 Der Task-Zustand: TSS Segmente das Task-Register TR verweist auf eine struktur, die den kompletten Task-Zustand aufnimmt bei einem Task-Wechsel (siehe nächste Seite) wird der komplette Zustand gesichert und der Zustand des Ziel- Tasks geladen alles in Hardware! I/O Map Base Address EDI ESI EBP ESP EBX EDX ECX EAX EFLAGS EIP CR3 (PDBR) LDT Segment Sel. GS FS DS SS CS ES 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 37 ESP2 ESP1 ESP SS2 SS1 SS Prev. Task Link T

38 Task-Wechsel für einen Task-Wechsel benötigt man entweder... ein Task-Gate in der GDT, einer LDT oder der IDT (Task-Wechsel bei Unterbrechungen!) oder einfach nur einen TSS-Deskriptor in der GDT ausgelöst werden kann ein Wechsel durch eine JMP-Instruktion eine CALL-Instruktion eine Unterbrechung eine IRET-Instruktion Nested Tasks bei Unterbrechungen und CALLs wird das NT-Flag im EFLAGS-Register und der Prev. Task Link im TSS gesetzt. Wenn dies der Fall ist, springt IRET zum vorherigen Task zurück. 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 38

39 Ein-/Ausgaben im Protected 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 EFLAGS-Register erlauben Ein- und Ausgaben auf bestimmten Schutzringen auf den anderen Ebenen regelt die I/O Permission Bitmap für jeden Task und Port der Zugriff: TSS Port 151 Ports mit größeren eine '1' verhindert Nummern dürfen den Portzugriff nicht angesprochen werden den Abschluss bildet immer ein Byte mit xff I/O Map Base Address LDT Segment Sel. GS 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur T Port

40 IA-32: Was gibt es sonst noch? Physical Address Extension (PAE) ab Pentium Pro: 36-Bit-Adressen (physikalisch) erweiterte Page-Table-Einträge weitere Page-Directory-Ebene 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 IA-32-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 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 4

41 Agenda Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz Tasks Zusammenfassung 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 41

42 Zusammenfassung die IA-32-Architektur ist ausgesprochen komplex, u.a. segmentbasierter und seitenbasierter Speicherschutz Hardwareunterstützung für Multitasking Task-Aktivierung bei Unterbrechungen Schutz von I/O-Ports pro Task viele dieser Features werden von heutigen Betriebssystemen nicht genutzt typisch ist der flache Adressraum mit aktiver Paging Unit schwergewichtige Prozesse sind nicht für jede Anwendung nötig bemerkenswert ist auch die konsequente Kompatibilität mit älteren Prozessorversionen Stichwort PIC und A2 Gate! 24. Nov 216 Betriebssystembau: 6-Das Programmiermodell der IA-32 Architektur 42

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

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

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

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

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

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

Betriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.

Betriebssysteme 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

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

Was kann ein Assembler?

Was kann ein Assembler? Assemblerprogrammierung Assembler und Maschinensprache Befehle und Pseudo-Befehle C-Konstrukte in Assembler übersetzt Aufrufkonventionen (ABI) Der netwide assembler nasm Binärformate Was ist ein Assembler?

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

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

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

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

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

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

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

Aufgabe 2 - Erweiterung um PIC und Interrupts

Aufgabe 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

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

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

Instruktionssatz-Architektur

Instruktionssatz-Architektur Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2005/2006 Übersicht 1 Einleitung 2 Bestandteile der ISA 3 CISC / RISC Übersicht 1 Einleitung 2 Bestandteile

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

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

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

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

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

Die Mikroprogrammebene eines Rechners

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

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

x86 Open Source Virtualisierungstechniken Thomas Glanzmann <thomas@glanzmann.de>

x86 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

Mehr

Gymnasium Marktoberdorf

Gymnasium Marktoberdorf Gymnasium Marktoberdorf Abiturjahrgang 2006/08 FACHARBEIT Name des Verfassers: Leistungskurs: Kursleiter: Thema der Facharbeit: Stefan Linke Physik Betriebssystementwicklung Bewertung Datum:... Notenpunkte:...

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

Grundlagen der Rechnerarchitektur

Grundlagen 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

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

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

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

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

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

Betriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund

Betriebssystembau. 7. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund Betriebssystembau 7. Ü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 Coroutinen

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

Übersicht. Virtueller Speicher CPU-Modi Virtuelle Maschinen. ISM SS 2015 - Teil 4/ProtectionI

Ü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

Mehr

Betriebssysteme (BS) PC Bussysteme. Überblick. und deren Programmierung. PCI-basierte PC Systeme. alias Betriebssystembau (BSB)

Betriebssysteme (BS) PC Bussysteme. Überblick. und deren Programmierung. PCI-basierte PC Systeme. alias Betriebssystembau (BSB) Betriebssysteme (BS) alias Betriebssystembau (BSB) PC Bussysteme und deren Programmierung Überblick Rückblick Bussysteme im PC Bus aus Sicht des Betriebssystems Initialisierung, BIOS,... Erweiterungen

Mehr

Karlsruher Institut für Technologie

Karlsruher 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

Mehr

7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung

7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung 7a. Rechnerarchitektur und Grundzüge der Assemblerprogrammierung Inhalt: Schichtenmodell x86-architektur und x86-assemblerprogrammierung Assemblersprache und Einbindung in C 1 Schichtenmodell Strukturierung

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

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

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

moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de

moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de moderne Prozessoren Jan Krüger jkrueger@techfak.uni-bielefeld.de Übersicht FachChinesisch SPARC - UltraSparc III/IV PowerPC - PowerPC 970(G5) X86 - Pentium4(Xeon), Itanium, (Pentium M) X86 - AthlonXP/MP,

Mehr

Virtualisierung. Seminarvortrag SS 2005. Niels Burkhardt

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

Mehr

6 Speicherverwaltung

6 Speicherverwaltung 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in mehreren Schritten zu modifizieren.

Mehr

Hobby-Betriebssysteme unter Linux entwickeln

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

Mehr

7 Ein einfacher CISC-Prozessor

7 Ein einfacher CISC-Prozessor 7 Ein einfacher CISC-Prozessor In diesem Kapitel wird ein einfacher Prozessor vorgestellt. Die Architektur, die wir implementieren, wurde von R. Bryant und D. O Hallaron entworfen und verwendet eine Untermenge

Mehr

Aktuelle Themen der Informatik: Virtualisierung

Aktuelle Themen der Informatik: Virtualisierung Aktuelle Themen der Informatik: Virtualisierung Sebastian Siewior 15 Mai 2006 1 / 22 1 Überblick 2 Techniken 3 Paravirtualisierung 4 Ende 2 / 22 Wieso Virtualisieren Wieso mehrere Betriebsysteme auf einer

Mehr

Optimierung der Schnittstelle zwischen Hypervisor und Betriebssystemkern bei virtuellen Maschinen

Optimierung 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

Mehr

Ansä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 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

Anbindung zum Betriebssystem (BS)

Anbindung zum Betriebssystem (BS) 5.1 Einleitung Anbindung zum Betriebssystem (BS) Aufgaben BS Schnittstelle zur Hardware Sicherstellung des Betriebs mit Peripherie Dienste erfüllen für Benutzung Rechner durch Verwaltung der Ressourcen

Mehr

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

Mehr

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3

1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 1. Übersicht zu den Prozessorfamilien 2 2. Grundlagen der Rechnerorganisation 3 2.1. Aufbau eines Rechners in Ebenen 3 2.2. Die Ebene der elektronischen Bauelemente 5 2.3. Die Gatterebene 5 2.3.1 Einfache

Mehr

Aufbau und Funktionsweise eines Computers

Aufbau und Funktionsweise eines Computers Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)

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

Speicherverwaltung (Swapping und Paging)

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

Mehr

Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:

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

Mehr

Hardware-basierte Virtualisierung

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

Mehr

Welches Register wird für was verwendet?

Welches Register wird für was verwendet? Welches Register wird für was verwendet? AX Register: Arithmetische Funktionen BX Register: Arbeitsspeicher adressieren (lea ; mov bx, offset), kann als Zeiger im Datensegment verwendet werden (siehe Direkter

Mehr

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

Enterprise Computing Einführung in das Betriebssystem z/os. Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 UNIVERSITÄT LEIPZIG Enterprise Computing Einführung in das Betriebssystem z/os Prof. Dr. Martin Bogdan Prof. Dr.-Ing. Wilhelm G. Spruth WS2012/13 Verarbeitungsgrundlagen Teil 2 Virtual Storage el0100 copyright

Mehr

5. Mikroprozessoren für PCs: die X86-Familie. 5.1 Einführung

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

Mehr

Rechner Architektur. Martin Gülck

Rechner Architektur. Martin Gülck Rechner Architektur Martin Gülck Grundlage Jeder Rechner wird aus einzelnen Komponenten zusammengesetzt Sie werden auf dem Mainboard zusammengefügt (dt.: Hauptplatine) Mainboard wird auch als Motherboard

Mehr

Der MS-DOS Standardmonitor und Debugger DEBUG

Der MS-DOS Standardmonitor und Debugger DEBUG Einfache Assemblerprogrammierung mit DOS-DEBUG 1/7 Auf Personalcomputern kann in der Regel leicht eine einfache Umgebung zur Software-Entwicklung für die Intel Rechnerfamilie 80x86 eingerichtet werden.

Mehr

Teil IX. Adressraum und Arbeitsspeicher

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

Mehr

Rechnernutzung in der Physik. Betriebssysteme

Rechnernutzung in der Physik. Betriebssysteme Rechnernutzung in der Physik Betriebssysteme 1 Betriebssysteme Anwendungsprogramme Betriebssystem Treiber BIOS Direkter Zugriff von Anwenderprogrammen auf Hardware nur in Ausnahmefällen sinnvoll / möglich:

Mehr

Hardware-basierte Virtualisierung

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

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) PC-Bussysteme und deren Programmierung Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/~os

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) 2. Übung http://ess.cs.tu-dortmund.de/de/teaching/ws2014/bsb/ Olaf Spinczyk olaf.spinczyk@tu-dortmund.de http://ess.cs.tu-dortmund.de/~os AG Eingebettete Systemsoftware Informatik

Mehr

Ein- Ausgabeeinheiten

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

Main Memory. Hauptspeicher. Memories. Speichermodule. SIMM: single inline memory module 72 Pins. DIMM: dual inline memory module 168 Pins

Main 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

Mehr

Kapitel 9 Hauptspeicherverwaltung

Kapitel 9 Hauptspeicherverwaltung Kapitel 9 Hauptspeicherverwaltung Einführung: Speicher als Betriebsmittel Speicherkapazität wächst ständig ein PC heute hat 1000 mal soviel Speicher wie 1965 der größte Computer der Welt Anwendungsprogramme

Mehr

Neues in Hyper-V Version 2

Neues in Hyper-V Version 2 Michael Korp Technical Evangelist Microsoft Deutschland GmbH http://blogs.technet.com/mkorp Neues in Hyper-V Version 2 - Virtualisieren auf die moderne Art - Windows Server 2008 R2 Hyper-V Robust Basis:

Mehr

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

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

Mehr

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory

Rechnerarchitektur und Betriebssysteme (CS201): Virtual Memory Rechnerarchitektur und Betriebssysteme (CS2): Virtual Memory 19 November 23 Prof Dr Christian Tschudin Departement Mathematik und Informatik, Universität Basel Wiederholung / Diskussion 1 Was ist ein inode?

Mehr

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

Mehr

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE

DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE D - CA - IV - AA - 1 HUMBOLDT-UNIVERSITÄT ZU BERLIN INSTITUT FÜR INFORMATIK Vorlesung 4 DATEN UND BEFEHLSFORMATE, ADDRESSIERUNGSARTEN UND MASCHINEN- PROGRAMMIERUNGSKONZEPTE Sommersemester 2003 Leitung:

Mehr

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte

Intel 80x86 symmetrische Multiprozessorsysteme. Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte Intel 80x86 symmetrische Multiprozessorsysteme Eine Präsentation im Rahmen des Seminars Parallele Rechnerarchitekturen von Bernhard Witte Gliederung I. Parallel Computing Einführung II.SMP Grundlagen III.Speicherzugriff

Mehr

1.7 Assembler Programmierung

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

Mehr

Arbeitsfolien - Teil 4 CISC und RISC

Arbeitsfolien - Teil 4 CISC und RISC Vorlesung Informationstechnische Systeme zur Signal- und Wissensverarbeitung PD Dr.-Ing. Gerhard Staude Arbeitsfolien - Teil 4 CISC und RISC Institut für Informationstechnik Fakultät für Elektrotechnik

Mehr

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

CA Übung 30.01.2006. Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder CA Übung 30.01.2006 Hallo zusammen! Christian kann heute nicht kommen => ich bin heute da, Christian das nächste Mal wieder Adrian Schüpbach: scadrian@student.ethz.ch Christian Fischlin: cfischli@student.ethz.ch

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Hyper-V Grundlagen der Virtualisierung

Hyper-V Grundlagen der Virtualisierung Grundlagen der Virtualisierung Was ist Virtualisierung? Eine Software-Technik, die mehrere Betriebssysteme gleichzeitig auf dem Rechner unabhängig voneinander betreibt. Eine Software-Technik, die Software

Mehr

Übung 4 - Betriebssysteme I

Übung 4 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 9. Juni 2002 Übung 4 - Betriebssysteme I Aufgabe 1 1. Erläutern Sie die Begriffe der transparent und der virtuell mit ihrer in der Informatik üblichen Bedeutung. 2. Wie werden

Mehr

Ihr exone Systemhauspartner Buxtenet Systemhaus GmbH & Co. KG

Ihr exone Systemhauspartner Buxtenet Systemhaus GmbH & Co. KG exone Challenge 1111 Atom 330 Art.Nr. exone Challenge 1211 X3430 RAID 47819 584 49816 1.855 exone Challenge 1811 X3220 RAID exone Challenge 1911 E5504 44628 2.983 exone Challenge 1911 i7p920 46203 1.569

Mehr

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen:

Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: 1 ADRESSIERUNG IN MMIX Beim Programmieren mit MMIX habt ihr vielleicht schon öfter eine der folgenden Fehlermeldungen von MMIXAL bekommen: no base address is close enough to the address A! relative address

Mehr

Betriebssystembau (BSB)

Betriebssystembau (BSB) Betriebssystembau (BSB) PC-Bussysteme und deren Programmierung 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

Mehr

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung

Speicher Virtuelle Speicherverwaltung. Speicherverwaltung Speicherverwaltung Die Speicherverwaltung ist derjenige Teil eines Betriebssystems, der einen effizienten und komfortablen Zugriff auf den physikalischen Arbeitsspeicher eines Computer ermöglicht. Je nach

Mehr

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

183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 VU Technische Grundlagen der Informatik Übung 7: Speicher, Peripherie 183.579, WS2012 Übungsgruppen: Mo., 07.01. Do., 10.01.2013 Aufgabe 1: Ihre Kreativität ist gefragt! Um die Qualität der Lehrveranstaltung

Mehr

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9

Inhalt. Prozessoren. Curriculum Manfred Wilfling. 28. November HTBLA Kaindorf. M. Wilfling (HTBLA Kaindorf) CPUs 28. November / 9 Inhalt Curriculum 1.4.2 Manfred Wilfling HTBLA Kaindorf 28. November 2011 M. Wilfling (HTBLA Kaindorf) CPUs 28. November 2011 1 / 9 Begriffe CPU Zentraleinheit (Central Processing Unit) bestehend aus Rechenwerk,

Mehr

Embedded-Linux-Seminare. Linux als Betriebssystem

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

Mehr

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor.

Rechnerstrukturen. 6. System. Systemebene. Rechnerstrukturen Wintersemester 2002/03. (c) Peter Sturm, Universität Trier 1. Prozessor. Rechnerstrukturen 6. System Systemebene 1 (Monoprozessor) 2-n n (Multiprozessor) s L1- in der L2- ( oder Motherboard) ggf. L3- MMU Speicher Memory Controller (Refresh etc.) E/A-Geräte (c) Peter Sturm,

Mehr

Technische Informatik 2 Adressierungsarten

Technische Informatik 2 Adressierungsarten Technische Informatik 2 Adressierungsarten Prof. Dr. Miroslaw Malek Sommersemester 2009 www.informatik.hu-berlin.de/rok/ca Thema heute X-Adressmaschine 0-Adressmaschine 1-Adressmaschine 2-Adressmaschine

Mehr

Aspektorientierte Entwicklung einer konfigurierbaren x86-variante

Aspektorientierte Entwicklung einer konfigurierbaren x86-variante Aspektorientierte Entwicklung einer konfigurierbaren x86-variante der Betriebssystemfamilie CiAO Abschlussvortrag Björn Bosselmann Bjoern.Bosselmann@cs.uni-dortmund.de 30. August 2010 1 Inhalt Einleitung

Mehr

Assembler-Programmierung

Assembler-Programmierung Assembler-Programmierung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Assembler-Programmierung 1/48 2012-02-29 Assembler-Programmierung

Mehr

Computer-Architektur Ein Überblick

Computer-Architektur Ein Überblick Computer-Architektur Ein Überblick Johann Blieberger Institut für Rechnergestützte Automation Computer-Architektur Ein Überblick p.1/27 Computer-Aufbau: Motherboard Computer-Architektur Ein Überblick p.2/27

Mehr

CyPhyControl. Virtualisierte Ausführungsplattform für die zuverlässige Steuerung cyber-physikalischer Systeme

CyPhyControl. Virtualisierte Ausführungsplattform für die zuverlässige Steuerung cyber-physikalischer Systeme CyPhyControl Virtualisierte Ausführungsplattform für die zuverlässige Steuerung cyber-physikalischer Systeme Olaf Spinczyk Markus Buschhoff Boguslaw Jablkowski AG Eingebettete Systemsoftware Informatik

Mehr

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1

MMU Virtualisierung. ISE Seminar 2012. Thomas Schaefer 1 MMU Virtualisierung ISE Seminar 2012 Thomas Schaefer 1 Inhalt Allgemein MMU: Virtualisiert Probleme Problem 1: Ballooning Problem 2: Memory-Sharing Kurz: Problem 3 & 4 Translation Lookside Buffer TLB in

Mehr