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 4. Interruptverarbeitung in Betriebssystemen 5. Prozesse und Threads 6. CPU-Scheduling 7. Synchronisation und Kommunikation 8. Speicherverwaltung 9. Geräte- und Dateiverwaltung 10. Betriebssystemvirtualisierung Anwendungssoftware (Browser, Bankanwendung, Buchhaltungsanwendung, ) Systemnahe Software (Datenbanken, Compiler, Interpreter, ) Systemsoftware Betriebssystem Maschinensprache Mikroarchitektur Firmware und Hardware Physikalische Geräte Prof. Dr. Peter Mandl Seite 2
Zielsetzung Aufbau von Computersysteme kennenlernen Schnittstelle von Betriebssystemen zur Hardware kennenlernen Betriebssystemarten einordnen können Aufgaben von Betriebssystemen kennenlernen Prof. Dr. Peter Mandl Seite 3
Überblick 1. Überblick über Rechnersysteme 2. Fallstudien zu Rechnerarchitekturen 3. Betriebssystemarten 4. Aufgaben von Betriebssystemen Prof. Dr. Peter Mandl Seite 4
Rechnersysteme Anwendungssoftware (Browser, Bankanwendung, Buchhaltungsanwendung, ) Systemnahe Software (Datenbanken, Compiler, Interpreter, ) Systemsoftware Betriebssystem Maschinensprache Mikroarchitektur Firmware und Hardware Physikalische Geräte Prof. Dr. Peter Mandl Seite 5
Rechnerarchitekturen Von-Neumann-Rechner - CPU mit Leitwerk und Rechenwerk - Bussystem (Datenbus, Adressbus und Steuerbus) - Ein-/Ausgabesystem - Speicher Microprocessor, CPU Datenprozessor Befehlsinterpretation, Befehlsausführung Leitwerk (Steuerwerk) Rechenwerk (ALU) Ein-/ Ausgabe Flaschenhals - Abgrenzung: Harvard-Architektur Speicher Prof. Dr. Peter Mandl Seite 6
Rechnerarchitekturen Von-Neumann-Rechner Zentrale Recheneinheit (CPU) Steuer- Einheit Arithmetisch Logische Einheit (ALU) E / A Geräte Register Speicher Platte Drucker BUS Prof. Dr. Peter Mandl Seite 7
Überblick 1. Überblick über Rechnersysteme 2. Fallstudien zu Rechnerarchitekturen 3. Betriebssystemarten 4. Aufgaben von Betriebssystemen Prof. Dr. Peter Mandl Seite 8
CPU-Register als Schnittstelle für den Betriebssystemprogrammierer: Intel 8086 Registersatz mit vierzehn 16-Bit-Registern Allgemeine Arbeitsregister Segmentregister Quelle: http://de.wikipedia.org/wiki/x86-prozessor AX AH AL Akkumulator CS Codesegment BX BH BL Basisregister DS Datensegment CX CH CL Zählerregister ES Extrasegment DX DH DL Datenregister SS Stacksegment Adress- und Indexregister SP BP Stapelzeiger Basiszeiger IP Befehlszeiger DI Ziellindex SR Statusregister (PSW) SI Quellindex Prof. Dr. Peter Mandl Seite 9
CPU-Register als Schnittstelle für den Betriebssystemprogrammierer: Intel Pentium Registersatz - Acht 32-Bit-Register kompatibel zu den Vorgängern EAX, EBX, ECX, EDX, ESP, EBP, EDI, ESI - Segmentregister CS, DS,... (wie bei 8086) - Acht Gleitkommaregister-Register - Befehlszeiger EIP (IP),... 31 15 0 Quelle: http://www.chip.de EAX AH AL AX EBX BH BL BX ECX CH CL CX EDX DH DL DX Registerbezeichnungen: [E]AX: Akkumulator [E]BX: Basisregister [E]CX: Zählregister [E]DX: Datenregister Prof. Dr. Peter Mandl Seite 10
CPU-Register als Schnittstelle für den Betriebssystemprogrammierer: AMD64 (x64) Registersatz mit sechzehn 64-Bit-Mehrzweckregistern - RAX (EAX, AX, AL), RBX, RCX, RDX, RSP, RBP, RDI, RSI - R8 R15 (ergänzt) Weitere Register - Acht 64-Bit-Gleitkommaregister MMX0/FPR0 MMX7/FPR7 - Sechzehn 128-Bit-Mediaregister XMM0 XMM15-64-Bit-Statusregister RFLAGS - 64-Bit-Befehlszeiger RIP (EIP, IP) - Alte Segmentregister CS, DS,... (Kompatibilität) Quelle: http://www.socket939.co.uk Prof. Dr. Peter Mandl Seite 11
Einschub: Beispielskizze für Caches im Singleprozessor Typischer Einsatz von Caches (Speicherhierarchie) in heutigen Computersystemen Chip Prozessor L1-Cache L2-Cache L1 ist kleiner und schneller als L2 L2 ist kleiner und schneller als L3 L1 und L2 meist auf dem Chip L3 außerhalb L3-Cache Hauptspeicher (RAM) Prof. Dr. Peter Mandl Seite 12
Einschub: Beispielskizze eines Mehrkern-Chips Zwei Prozessorkerne jeweils mit integriertem L1- Cache, L2/L3-Cache auf dem Chip (Die) Chip Prozessor 1 L1-Cache Prozessor 2 L1-Cache L2-Cache L3-Cache Bus-Interface Systembus (Front Side Bus) Quelle: Böttcher, A.: Rechneraufbau und Rechnerarchitektur, Springer-Verlag, 2006 Prof. Dr. Peter Mandl Seite 13
Beispiel: Skizze des Intel Core i5 Kern 1 mit HT L1/L2 Cache Kern 2 mit HT L1/L2 Cache Shared L3 Cache GPU (Grafik-Prozessor) Bussysteme Speicher- Controller PCI Die 2 Kerne, L1 und L2 in den Kernen HT = Hyperthreading Prof. Dr. Peter Mandl Seite 14
Vereinfachte Architektur eines Computersystems: Hardwaremodell für unsere Betrachtung Ein Die Grafikprozessor (on-die) Rechnerkern 1 n (CPU) Mehrzweckregister Gleitkommaregister Leitwerk und Steuerwerk Statusregister Memory Controller Cache (L1, L2, ) MMU TLB Lokaler Interrupt Controller Gemeinsamer Cache (L3, L4, ) Kommunikationssystem (Punkt-zu-Punkt-Verbindungen oder Front Side Bus (FSB)) Northbridge Southbridge Interrupt Controller Anbindung externer Geräte über USB, S-ATA, PCI, ) Chipsatz Arbeitsspeicher (RAM) Digitale Ausgänge (HMDI, DVI) Motherboard Prof. Dr. Peter Mandl Seite 15
Beispiel: Skizze des Motherboards der Intel Core-i-Serie Mehrere Cores auf einem Die Speicherbus DDR3 DDR-RAM Intel Core i5/i7/i9 (LGA 1156 Package) Speicherbus DDR3 DDR-RAM Arbeitspeicher DMI x 4 FDI PCI Express 2.0 x16 Grafik-Prozessor DDR = Double Data Rate Verfahren Digital Display (HDMI, DVI) Intel H55 Express Chipset PCI Bus Serial ATA USB PCI-Express x1 Gigabit LAN Motherboard P7H55D-M-Pro von Asus (=Mainboard) Prof. Dr. Peter Mandl Seite 16
Beispiel: Skizze zum Intel Core i7 Kern Kern Kern Kern Grafik- Prozessor L1/L2 Cache L1/L2 Cache L1/L2 Cache L1/L2 Cache Memory Controller Gemeinsamer L3 Cache (Shared) Sandy-Bridge-Architektur (Micro-Architektur) Grafik-Prozessor auch auf dem Die In jedem Kern: L1 (z.b. 64 KiB je Kern) und L2 (z.b. 256 KiB je Kern) L3 ist z.b. 1-20 MiB groß Bussysteme Ein Die Prof. Dr. Peter Mandl Seite 17
Überblick 1. Überblick über Rechnersysteme 2. Fallstudien zu Rechnerarchitekturen 3. Betriebssystemarten 4. Aufgaben von Betriebssystemen Prof. Dr. Peter Mandl Seite 18
Arten von Betriebssystemen Betriebssysteme Mainframes- BS Server- BS PC-Betriebssysteme Embedded u. Handheld BS Echtzeit- BS Smartcard- BS High End Systeme IBM OS/390 IBM z/os Siemens BS2000 Unix Linux Solaris Windows 20xx Linux Windows xx MAC OS X Windows mobile ios Android Symbian OS Windows Phone VxWorks QNX OSEK Auf Chips von Kreditkarten Prof. Dr. Peter Mandl Seite 19
Überblick 1. Überblick über Rechnersysteme 2. Fallstudien zu Rechnerarchitekturen 3. Betriebssystemarten 4. Aufgaben von Betriebssystemen Prof. Dr. Peter Mandl Seite 20
Grundfunktionen des Betriebssystems Das Betriebssystem soll den Anwender bzw. Anwendungsentwickler von Details der Hardware entlasten Modern strukturierte Betriebssysteme kapseln den Zugriff auf die Betriebsmittel - der Zugriff funktioniert also nur über Betriebssystemfunktionen (Systemdienste) - Virtuelle Maschine über der Hardware Wesentliche Aufgabe des Betriebssystems ist die Betriebsmittelverwaltung Prof. Dr. Peter Mandl Seite 21
Betriebsmittel (1) Hard-/Softwareressourcen eines Computersystems werden als Betriebsmittel bezeichnet - Prozesse und Prozessoren - Speicher, Arbeitsspeicher (Hauptspeicher) - Dateien - Periphere Geräte (I/O-Geräte) Man unterscheidet reale und virtuelle Betriebsmittel Virtuelle Betriebsmittel sind nur scheinbar vorhanden: - Virtueller Hauptspeicher - Virtuelle Drucker - Virtuelle Koprozessoren Prof. Dr. Peter Mandl Seite 22
Betriebsmittel (2) Die wichtigsten Betriebsmittel Betriebsmittel = Ressourcen Prozesse und Threads Speicher Dateisystem I/O-Geräte Hauptspeicher (RAM) Virtueller Speicher Caches FAT (Windows) NTFS (Windows) ufs (Unix) ext3 (Linux) ext4 (Linux) Netzwerkkarte Grafikkarte Festplatten Tastatur.. Prof. Dr. Peter Mandl Seite 23
Betriebsmittelklassifikation Betriebsmittel-Klassifikationen: - Hardware- oder Software-Betriebsmittel Hardwarebetriebsmittel ist z.b. der Prozessor Softwarebetriebsmittel ist z.b. eine Nachrichten - Entziehbare und nicht entziehbare Betriebsmittel Prozessoren sind entziehbar Drucker sind nicht entziehbar - Exklusiv oder shared nutzbare Betriebsmittel Prozessor ist nur exklusiv nutzbar Magnetplatte ist shared, also gemeinsam, nutzbar Das Betriebssystem muss dafür Sorge tragen, dass exklusive Betriebsmittel konfliktfrei genutzt werden - Die Entscheidung trifft ein Scheduling-Algorithmus Prof. Dr. Peter Mandl Seite 24
Überblick Einführung in Computersysteme 2. Entwicklung von Betriebssystemen 3. Architekturansätze 4. Interruptverarbeitung in Betriebssystemen 5. Prozesse und Threads 6. CPU-Scheduling 7. Synchronisation und Kommunikation 8. Speicherverwaltung 9. Geräte- und Dateiverwaltung 10. Betriebssystemvirtualisierung Prof. Dr. Peter Mandl Seite 25