Betriebssysteme (BTS)



Ähnliche Dokumente
2. Vorlesung Betriebssysteme

1 Aufgaben zu Wie funktioniert ein Computer?

3.Vorlesung Systemsoftware (SYS) Hochschule Mannheim

5 Speicherverwaltung. bs-5.1 1

Teil VIII Von Neumann Rechner 1

Systemsoftware (SYS) Fakultät für Informatik WS 2008/2009 Christian Baun. Übungsklausur

Mikrocontroller Grundlagen. Markus Koch April 2011

Rechner Architektur. Martin Gülck

4.Vorlesung Grundlagen der Informatik

Tapps mit XP-Mode unter Windows 7 64 bit (V2.0)

Handbuch PCI Treiber-Installation

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

4D Server v12 64-bit Version BETA VERSION

Anleitung zur Nutzung des SharePort Utility

Lösungsskizzen zur Abschlussklausur Betriebssysteme

Systemsoftware (SYS)

Formular»Fragenkatalog BIM-Server«

Staatlich geprüfter EDV-Führerschein

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

Einrichtung des Cisco VPN Clients (IPSEC) in Windows7

1. Übung - Einführung/Rechnerarchitektur

Ein kleines Computer-Lexikon

EasyWk DAS Schwimmwettkampfprogramm

M a i l C r e d i t. \\Burt\user\Soutschek\FP\Technik\Frankiermaschinen\00_PC Software\MailCredit\Anleitung MailCredit Installation.

Installation OMNIKEY 3121 USB

schnell und portofrei erhältlich bei beck-shop.de DIE FACHBUCHHANDLUNG mitp/bhv

IBM Software Demos Tivoli Provisioning Manager for OS Deployment

Verwendung des Terminalservers der MUG

Anleitung zur Nutzung des SharePort Plus

ARAkoll 2013 Dokumentation. Datum:

Windows 8 Lizenzierung in Szenarien

mywms Vorlage Seite 1/5 mywms Datenhaltung von Haug Bürger

Computeria Urdorf. Treff vom 16. Januar Was ist ein Computer?

Handbuch. timecard Connector Version: REINER SCT Kartengeräte GmbH & Co. KG Goethestr Furtwangen

Im Original veränderbare Word-Dateien

Inhalt. 1 Einleitung AUTOMATISCHE DATENSICHERUNG AUF EINEN CLOUDSPEICHER

Facharbeit Informatik. Thema:

SDD System Design Document

Albert HAYR Linux, IT and Open Source Expert and Solution Architect. Open Source professionell einsetzen

Eigene Dokumente, Fotos, Bilder etc. sichern

HTBVIEWER INBETRIEBNAHME

Über die Internetseite Hier werden unter Download/aktuelle Versionen die verschiedenen Module als zip-dateien bereitgestellt.

Speicher in der Cloud

Installation der SAS Foundation Software auf Windows

Microsoft Vista Leistungsoptimierung

Leitfaden zur ersten Nutzung der R FOM Portable-Version für Windows (Version 1.0)

Duonix Service Software Bedienungsanleitung. Bitte beachten Sie folgende Hinweise vor der Inbetriebnahmen der Service Software.

SILBER SURFER. PC-Treffen der Arbeiterwohlfahrt, Ortsverein Sehnde. PC Internet / Cloud. Leitfaden zur Schulung

Schnittstellen des Computers

Technische Alternative elektronische Steuerungsgerätegesellschaft mbh. A-3872 Amaliendorf, Langestr. 124 Tel +43 (0)

In 12 Schritten zum mobilen PC mit Paragon Drive Copy 11 und Microsoft Windows Virtual PC

Zwischenablage (Bilder, Texte,...)

icloud nicht neu, aber doch irgendwie anders

In 15 einfachen Schritten zum mobilen PC mit Paragon Drive Copy 10 und Microsoft Windows Virtual PC

Nutzung von GiS BasePac 8 im Netzwerk

zur WinIBW Version 2.3

Installationsanleitung Maschinenkonfiguration und PP s. Release: VISI 21 Autor: Anja Gerlach Datum: 18. Dezember 2012 Update: 18.

Lizenzierung von System Center 2012

Windows Server 2008 (R2): Anwendungsplattform

Anleitung Zugang Studenten zum BGS-Netzwerk Drucker und WLAN (Windows 7) BGS - Bildungszentrum Gesundheit und Soziales Gürtelstrasse 42/44.

Workshop: Eigenes Image ohne VMware-Programme erstellen

Einführung in die technische Informatik

METTLER TOLEDO USB-Option Installation der Treiber unter Windows XP

Verschlüsselung mit PGP. Teil 1: Installation

Benutzerhandbuch. Leitfaden zur Benutzung der Anwendung für sicheren Dateitransfer.

Virtuelle Maschinen. von Markus Köbele

ANYWHERE Zugriff von externen Arbeitsplätzen

Grundlagen der Technischen Informatik. Sequenzielle Netzwerke. Institut für Kommunikationsnetze und Rechnersysteme. Paul J. Kühn, Matthias Meyer

QUICK INSTALLATION GUIDE

Einrichten einer Festplatte mit FDISK unter Windows 95/98/98SE/Me

Computergruppe Heimerdingen Basiskurs. Karlheinz Wanja & Richard Zeitler

Die Komponenten in Ihrem Computer

SharePoint Demonstration

Anleitung zum Extranet-Portal des BBZ Solothurn-Grenchen

Monatstreff für Menschen ab 50 Temporäre Dateien / Browserverlauf löschen / Cookies

gibt es verschiedene Betriebssysteme die je nach Gerät und Nutzer installiert werden können.

Buddy - Algorithmus Handbuch für Endnutzer Stand

Systeme 1. Kapitel 6. Nebenläufigkeit und wechselseitiger Ausschluss

MetaQuotes Empfehlungen zum Gebrauch von

FlowFact Alle Versionen

3 ORDNER UND DATEIEN. 3.1 Ordner

Local Control Network

OPERATIONEN AUF EINER DATENBANK

Lizenzierung von SharePoint Server 2013

! " # $ " % & Nicki Wruck worldwidewruck

Befehlssatz zum High Speed Interface-88-USB (HSI-88-USB) (ab Firmware 0.71) (Version 1.2)

ERPaaS TM. In nur drei Minuten zur individuellen Lösung und maximaler Flexibilität.

SSH Authentifizierung über Public Key

Die Mikroprogrammebene eines Rechners

2. Word-Dokumente verwalten

BEO-Sanktionsprüfung Eine Einführung zum Thema Sanktionsprüfung und eine Übersicht zur BEO-Lösung.

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Rechnernetzwerke. Rechnernetze sind Verbünde von einzelnen Computern, die Daten auf elektronischem Weg miteinander austauschen können.

Lizenzierung von Windows Server 2012

Checkliste für die Behebung des Problems, wenn der PC Garmin USB GPS-Geräte nicht erkennt.

Zimmertypen. Zimmertypen anlegen

3. Vorlesung Betriebssysteme

Transkript:

2.Vorlesung Betriebssysteme (BTS) Christian Baun cray@unix-ag.uni-kl.de Hochschule Mannheim Fakultät für Informatik Institut für Betriebssysteme 16.3.2007

Wiederholung vom letzten Mal Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Historische Entwicklung der Betriebssysteme und Hardware Klassifikationen von Betriebssystemen Betriebsarten Stapelbetrieb Dialogbetrieb Echtzeitbetrieb Singletasking und Multitasking Einzelbenutzerbetrieb und Mehrbenutzerbetrieb Ein-Prozessor- und Mehr-Prozessor-Betriebssysteme 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 2

Heute Einführung in Betriebssysteme Betriebssystemaufbau (Monolithisch, Mikrokernel, Hybridkernel) Logischen Strukturierung von Betriebssystem mit Schalen Rechner-Architekturen und Hardware-Komponenten Von-Neumann-Architektur Hauptprozessor (CPU) Busse Speicher (Register, Cache, Hauptspeicher, Festplatten) Speicherpyramide Arbeitsweise der Speicherhierarchie Lokalitätsausnutzung (zeitliche und räumliche Lokalität) Cache-Anfragen (Cache-Hit und Cache-Miss) 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 3

Betriebssystemaufbau (1) Ein entscheidendes Kriterium für den Aufbau eines Betriebssystems ist der eingesetzte Kernel (Kern). Unterschieden wird in Betriebssysteme mit: Monolithischem Kernel Minimalem Kern (Mikrokernel) Hybridkernel (Makrokernel) Die unterschiedlichen Kernelarchitekturen unterscheiden sich darin, ob die Funktionen, die sie dem Benutzer und seinen Applikationen anbieten, im Kernel enthalten sind, oder sich außerhalb des Kernels als Dienste (Server) befinden. Anwendungen Anwendungen Dienste (Server) Dienste (Server) Anwendungen Monolithischer Kernel Mikrokernel Dienste (Server) Hybridkernel 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 4

Monolithische Betriebssysteme (1) Monolithische Betriebssysteme haben im einfachsten Fall keine geordnete Struktur. Sie bestehen aus Funktionen, die sich beliebig gegenseitig aufrufen und beliebig auf interne Daten zugreifen können. Der Kernel enthält neben den Funktionen für Speicher- und Prozessverwaltung und Prozesskommunikation auch Hardware-Treiber und eventuell Treiber für die unterstützten Dateisysteme. Vorteilhaft ist die höhere Geschwindigkeit gegenüber Mikrokerneln. Nachteilig ist, dass abgestürzte Komponenten im Kernel nicht separat neu gestartet werden und das gesammte System nach sich ziehen können. Der Entwicklungsaufwand für Erweiterungen am Kernel ist hoch, da dieser bei jedem Kompilieren komplett neu übersetzt werden muss. Mikrokernel-Systeme sind in der Regel nicht stabiler als monolithische Systeme (gewachsene Stabilität). 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 5

Monolithische Betriebssysteme (2) Unstrukturiert Minimale Struktur Funktion 1 Funktion 2 Aufruf Funktion 3 Systemschnittstelle Systemfunktion 1 Hauptfunktion... Systemfunktion n Funktion 5 Funktion 3 Hilfsfunktion 1... Hilfsfunktion n Hardwareschnittstelle Beim Linux-Kernel ist es möglich, Treiber für Hardware und Dateisysteme in Module auslagern. Diese Module laufen jedoch im Kernel-Modus (kernel space). Darum ist der Linux-Kernel nach wie vor ein monolithischer Kernel. Betriebssysteme mit monolithischen Kerneln sind u.a: Linux, BSD, MS-/DR-DOS, Windows 95/98/ME, MacOS (bis 8.6), OS/2 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 6

Monolithische Betriebssysteme Schalen (1) Betriebssysteme folgen einem Ordnungsprinzip und monolithische Betriebssysteme werden mit ineinanderliegenden Schalen, die von innen nach außen immer abstraktere, mächtigere Funktionen enthalten, logisch strukturiert. Das Minimum sind drei Schalen. Die innerste Schale enthält immer die hardwareabhängigen Teile des Betriebssystems. So können Betriebssysteme (theoretisch!) leicht an unterschiedliche Rechnerarchitekturen angepasst werden. Die mittlere Schale enthält den Kernel und grundlegende Ein-/Ausgabe- Dienste (Bibliotheken und Schnittstellen) für Geräte und Daten. Die äußerste Schale enthält die Anwendungsprogramme und die Benutzerschnittstelle. In der Regel stellt man monolithische Betriebssysteme mit mehr als drei logischen Schichten (Schalen) dar. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 7

Monolithische Betriebssysteme Schalen (2) Jede Schicht ist vergleichbar mit einer abstrakten Maschine, die mit ihren benachbarten Schichten über wohldefinierte Schnittstellen kommuniziert und Funktionen der nächsten Schicht nach innen aufruft und Funktionen der nächsten Schicht nach außen zur Verfügung stellen kann. Alle Funktionen (Dienste), die eine Schicht anbietet, und die Regeln, die bei der dabei einzuhalten sind, wird als Protokoll bezeichnet. Benutzer, Anwendungsprogramme Schicht 3 Schicht n... Erzeugen und initialisiere Datei Schicht 3 Schicht 2 Schicht 1 Schicht 2 Hardware Belege freie Blöcke auf der Festplatte initialisieren Blöcke auf der Festplatte Initialisiere Verzeichniseintrag Schicht 1...... Block in den Hauptspeicher lesen Bytes in den Block schreiben Block auf die Festplatte schreiben 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 8

Schalenstruktur von Linux/UNIX Hardware A B C D E 1 2 3 4 5 1 2 3 4 5 A B C D E Kernel (maschinenabhängiger Teil) Kernel (maschinenunabhängiger Teil) Standardbibliothek Shell, Anwendungsprogramme Benutzer (Anwendungsprogramme) Hardwareschnittstelle kernelinterne, hardwareunabhängige Schnitststelle Kernel- / Systemschnittstelle Bibliothekenschnittstelle / C-Schnittstelle Benutzerschnittstelle 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 9

Minimale Kerne Mikrokernel-Betriebssysteme Bei Betriebssystemen mit Mikrokernel, befinden sind im Kernel üblicherweise nur die notwendigsten Funktionen zur Speicher- und Prozessverwaltung, sowie Synchronisation und Prozesskommunikation. Die Gerätetreiber und Dienste (Server), befinden sich außerhalb des Kernels und laufen wie die Anwendungsprogramme auf Benutzererebene. Theoretisch sind Mikrokernel durch ihr klares Interface-Design und die Austauschbarkeit der Komponenten monolithischen Kerneln überlegen. In der Praxis bieten sie durch die vielen Kontextwechsel eine schlechtere Performance und sind in der Entwicklung komplex und unübersichtlich. Der Anfang der 1990er Jahre prognostizierte Erfolg der Mikrokernelsysteme ist nicht eingetreten. Betriebssysteme mit Mikrokerneln sind u.a: Windows NT (bis 3.5.1), AmigaOS, MorphOS, Tru64, QNX, Symbian 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 10

Monolithischer Kernel vs. Mikrokernel Anwendungsprogramme Anwendungsprogramme Monolithischer Kernel Eingabe-/Ausgabeschnittstelle Benutzerinterface (GUI) Grafiksubsystem Eingabe-/Ausgabeschnittstelle Mikrokernel Dateisysteme Gerätetreiber Netzwerktreiber Netzwerktreiber Grafiktreiber Dateisysteme Gerätetreiber Hardware Hardware Wichtig: Beim Mikrokernel laufen die Systemkomponenten außerhalb des Kernels genau wie die Anwendungen in geschützten, abgetrenten Speicherbereichen = Prinzipiell hohe Stabilität und Sicherheit möglich. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 11

Hybridkernel bzw. Makrokernel Hybridkernel, auch Makrokernel genannt, sind ein Kompromiss zwischen monolithischen Kerneln und Mikrokerneln. Sie basieren auf dem Konzept der Mikrokernel, enthalten aber aus Geschwindigkeitsgründen einige Komponenten, die bei Mikrokernelsystemen außerhalb des Kernels liegen. Die Vor und Nachteile von Hybridkerneln zeigt Windows NT 4. Hier ist das Grafiksystem im Kernel enthalten. Dieses führt zu Performancegewinnen, aber bei fehlerhaften Grafiktreibern auch zu Abstürzen. Es ist nicht festgelegt, welche Komponenten bei Systemen mit Hybridkerneln zusätzlich in den Kernel einkompiliert sind. Vorteil: Höhere Geschwindigkeit als bei Mikrokerneln und zumindest theoretisch eine höhere Stabilität als bei monolithischen Kerneln. Betriebssysteme mit Hybridkernel sind u.a: MacOS-X, Windows NT 4.0/200x/XP/Vista, BeOS, ZETA, Haiku 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 12

Betriebssystem-Schnittstellen (1) Aus Benutzersicht stellt ein Betriebssystem zwei Schnittstellen bereit. Über die Kommandozeilenschnittstelle können Befehle eingegeben werden. In modernen Desktop-Betriebssystemen haben grafische Benutzeroberflächen die Kommandozeilenschnittstelle ersetzt. Über die Systemaufrufschnittstelle (System-Call-Schnittstelle) werden aus Programmen heraus elementare Dienste (Schnittstellen) aufgerufen, die das Betriebssystem bereit stellt. Systemaufrufschnittstelle Kommandoschnittstelle Kommandointerpreter Betriebssystemkern (Kernel) Betriebssystem 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 13

Betriebssystem-Schnittstellen (2) Ein Betriebssystemaufruf (System-Call) schaltet den Prozessor vom normalen Modus User Mode (Benutzermodus) in den priviligierten Kernel Mode (Kernel-Modus). Dieser Vorgang wird Moduswechsel genannt. Der Grund, warum es User Mode und Kernel Mode gibt ist, dass Anwendungen der Zugriff auf Hardware und andere wichtige Funktionalitäten erlaubt werden soll, obwohl diese ausschließlich dem Betriebssystem zur Verfügung stehen. Dieses Konzept ist Voraussetzung, um Speicherbereiche voneinander abzutrennen und die Sicherheit und Stabilität zu erhöhen. Ohne die Unterscheidung von User Mode und Kernel Mode könnten fehlerhafte Anwendungen direkt auf die Speicherbereiche zugreifen, in denen das Betriebssystem ausgeführt wird. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 14

Linus Torvalds vs. Andrew S. Tanenbaum (1992) 26. August 1991: Linus Torvalds kündigt das Projekt Linux in der Newsgroup comp.os.minix an. 17. September 1991: Erste interne Version (0.01). 5. Oktober 1991: Erste offizuelle Version (0.02). 29. Januar 1992: Andrew S. Tanenbaum schreibt in der Newsgroup comp.os.minix zum Thema Linux: LINUX is obsolete. Linux hat einen monolithischen Kernel = Rückschritt. Linux ist nicht portabel genug, weil auf 80386er optimiert und diese Architektur wird demnächst von RISC-Prozessoren abgelöst (Irrtum!) Was folgt ist eine mehrere Tage lange, zum teil sehr heftig und emotional geführte Diskussion, über die Vor- und Nachteile von monolithischen Kernel und Mikrokerneln, Portabilität und freier Software. Wer von beiden hatte recht im Nachhinein gesehen? 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 15

Ein trauriges Kernel-Beispiel HURD Das GNU-Projekt wurde 1983 gegründet, mit dem Ziel, das GNU-System zu entwickeln, ein vollständiges UNIX-Betriebssystem, bestehend aus: GNU Mach, der Mikrokernel. GNU Hurd, die Server (Dienste), die auf der Benutzererebene laufen und die Dateisysteme, Protokolle, usw. enthalten. GNU Software, die notwendigen Werkzeuge. Dazu gehören die GNU Compiler Collection, die Bash und der Editor GNU Emacs. Das GNU-Betriebssystem, dass häuftig auch einfach als HURD bezeichnet wird, ist noch nicht fertig, da noch nicht alle Server fertig implementiert sind. Die GNU Software ist seit Anfang der 1990er Jahre weitgehend fertig. Zusammenfassend kann man sagen: Das System ist so weit fertig. Es fehlt nur noch der (Mikro-)Kernel mit seinen Server (Diensten). 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 16

Ein extremes Kernel-Beispiel Der Web-Server Tux Im Jahr 2000 entwickelte Ingo Molnár von RedHat für den Linux Kernel 2.4.x einen kernel-basierten Web-Server mit dem Namen Tux. Vorteil: Ein Web-Server im Kernel, beschleunigt die Auslieferung von statischen(!) Web-Seiten ungemein, da keine Moduswechsel zwischen User und Kernel-Mode notwendig sind und die Daten direkt aus dem Arbeitsspeicher an die Netzwerkkarte gesendet werden können. Nachteil: Die Trennung von User Mode und priviligiertem Kernel Mode besteht nicht ohne Grund. Eine komplexe und tendentiell anfällige Software wie ein Web-Server im Kernel ist ein großes Sicherheitsrisiko. Angriffe auf den Web-Server könnten zu Systemabstürzen oder gar der vollständigen Kontrollübernahme durch den Angreifer führen. In Linux Kernel 2.6.x ist der Web-Server Tux nicht mehr enthalten. Was ist wichtiger? Geschwindigkeit oder Sicherheit? 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 17

!!! Brainstorming!!! Wie werden die Beteiebssysteme der Zukunft aufgebaut sein? Monolithischer Kernel Minimaler Kern (Mikrokernel) Hybridkernel (Makrokernel) 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 18

Von-Neumann-Architektur (1) Idee und Aufbau des klassischen Universalrechners, der nicht an ein festes Programm gebunden ist und über Ein-/Ausgabegeräte verfügt, entwickelte John von Neumann 1946. Nach ihm ist die so genannte Von-Neumann- Architektur, bzw. Von-Neumann-Rechner, benannt. In einem Von-Neumann-Rechner werden Daten und Programm binär codiert und liegen im gleichen Speicher. Die wesentlichen Ideen der Von-Neumann-Architektur wurden bereits 1936 von Konrad Zuse ausgearbeitet und 1937 in der Zuse Z1 realisiert. Von Neumanns Verdienste sind, dass er als erster wissenschaftlich, mathematisch sich mit der Konstruktion von Rechenmaschinen beschäftigte, sowie die Urheberschaft am seriellen (sequentiellen) Prinzip. Von-Neumann-Rechner arbeiten sequentiell. Die Befehle werden nacheinander aus dem Speicher geholt, interpretiert, ausgeführt und anschließend wird das Resultat abgespeichert. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 19

Der Hauptprozessor Die CPU Der Hauptprozessor, die Central Processing Unit (CPU), ist das Herzstück eines jeden modernen Computersystems. Die meisten Komponenten eines Computersystems sind passiv und werden durch die CPU gesteuert. Programme sind Folgen von Maschineninstruktionen, die in aufeinanderfolgenden Speicheradressen abgelegt sind. Bei der Programmausführung, setzt die CPU, die Maschineninstruktionen Schritt für Schritt um. Eine CPU besteht aus mindestens 3 Komponenten: Rechenwerk Steuerwerk Registersatz Die CPU greift über das Bus-Interface auf den Systembus zu. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 20

Komponenten der CPU Rechenwerk bzw. Arithmetic Logic Unit (ALU) Beim Rechenwerk handelt es sich um ein Schaltwerk zur Manipulation von Daten und Adressen, in dem alle logischen und mathematischen Operationen durchgeführt werden. Steuerwerk bzw. Befehlswerk (Control Unit) Hier befindet sich das Befehlsregister, das alle Befehle enthält, die die CPU ausführen kann. Das Befehlswerk ist ein Schaltwerk, dass für die Interpretation von Befehlen, Koordination der anderen CPU-Komponenten, Steuerung der Ein-/Ausgabe-Einheiten und den Steuerbuß zuständig ist. Registersatz (Daten- und Spezialregister). Speicherzellen (Register), die der kurzfristigen Speicherung von Operanden und Adressen dienen. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 21

Von-Neumann-Architektur (2) Prozessor und Speicher kommunizieren über einen Bus direkt miteinander. Befehle und Daten müssen über diesen Bus transportiert werden. Speicherwerk (Speicher) Eingabe Bus Rechenwerk Ausgabe Steuerwerk CPU Zentraleinheit Daten und Befehle Steuerleitungen Auch heute folgen die meisten gängigen Mikroprozessoren und Rechnersysteme teilweise dem Von-Neumann-Prinzip. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 22

Die Busleitungen (1) Die Komponenten eines modernen Rechnersystems sind durch drei digitale Busse verbunden: Steuerbus: Koordiniert Lese- und Schreibanweisungen zwischen den Komponenten des Computersystems. Adreßbus: Dient dem Ansprechen von Speicherzellen. Über den Adreßbus werden die einzelnen Datenzellen des Speichers oder der Eingabe-/Ausgabegeräte adressiert. Die Breite des Busses (Anzahl der digitalen Signalleitungen) legt die maximale Anzahl der adressierbaren Zellen fest. Hat der Adreßbus eine Busbreite von 32 Bit bedeutet das, das 2 32 Speicherzellen, also ca. 4 Gigabyte Speicher adressierbar sind. Datenbus: Dient dem Datenaustausch. Die Breite des Datenbusses legt fest, wie viele Taktzyklen die Übertragung eines Datums mit einer bestimmten Länge benötigt. Eine Bussysteme: PCI, IDE, SCSI, Firewire, USB... 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 23

Takt Mikroprozessor (CPU) Die Busleitungen (2) Steuerbus Befehlswerk Adressbus Rechenwerk Datenbus Speicher Ein-/Ausgabe Peripherie Geräte werden wegen der vielen unterschiedlichen technologischen Realisierungen der Geräte nicht direkt mit dem Prozessorbus verbunden. Eingabe-/Ausgabecontroller treten als Vermittler zwischen den Geräten un dem Computersystem auf. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 24

Busse in modernen Rechersystemen Die verbindende Element ist die PCI-Bridge, die auch einfach als Chipsatz bezeichnet wird. Sie besteht aus zwei Komponenten: Die Northbridge ist dicht an der CPU, um Daten schnell übertragen zu können. Sie ist für Speicherzugriffe und die Grafikkarte zuständig. Die Southbridge ist für langsamere Verbindungen wie PCI, ISA, ATA, USB, usw. zuständig. Cache Prozessor (CPU) PCI-Bridge (Chipsatz) Northbridge Southbridge Hauptspeicher USB Universal Serial Bus Grafikkarte Netzwerkkarte ISA-Bridge...... Monitor... IDE-Geräte Festplatten, CD/DVD,... 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 25

Der Speicher (1) Der Speicher nimmt Daten und die auszuführenden Programme auf. Der Speicher bildet durch Busse verbunden eine Hierarchie. = Speicherpyramide. Der Grund für die Speicher-Hierarchie liegt im Preis/Leistungsverhältnis. = Je schneller ein Speicher ist, desto teurer und knapper ist er. Speicher wird unterschieden in: Primärspeicher: Darauf kann der Hauptprozessor direkt zugreifen. Sekundärspeicher: Hierbei handelt es sich um Hintergrundspeicher. Tertiärspeicher: Dieser Speicher ist nicht dauerhaft verfügbar, oder nur über ein Laufwerk, mit dem Computer verbunden. Hauptaufgabe des Tertiärspeicher ist Archivierung. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 26

Die Speicherpyramide unüblich in Desktop-PCs höhere Kosten schnellere Zugriffszeit geringere Kapazität Register int. Cache ext. Cache Hauptspeicher SolidStateDisks, Flash-Speicher Festplatten Magnetoptische Laufwerke Magnetbänder Optische Laufwerke (CD/DVD) Primärspeicher Sekundärspeicher (Hintergrundspeicher) Tertiärspeicher 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 27

Der Speicher (2) Der Primärspeicher und Sekundärspeicher wird gelegentlich auch als Onlinespeicher bezeichnet, da er eine feste Verbindung zum Computer und dadurch geringe Zugriffszeiten auf die Daten hat. Der Tertiärspeicher wird gelegentlich unterschieden in: Nearlinespeicher: Werden automatisch und ohne menschliches Zutun dem System bereitgestellt (z.b. Band-Library). Offlinespeicher: Medien werden in Schränken oder Lagerräumen aufbewahrt und müssen von Hand in das System integriert werden. Streng genommen sind Wechselfestplatten (Sekundärspeicher) auch Offlinespeicher. Speicher wird auch in RAM und ROM unterschieden: RAM (Random Access Memory): flüchtiger Lese- und Schreibspeicher. ROM (Read-Only Memory): nicht flüchtiger Lesespeicher 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 28

Arbeitsweise der Speicherhierarchie (1) Beim ersten Zugriff auf ein Datenelement, wird eine Kopie erzeugt, die entlang der Speicherhierarchie nach oben wandert. Schicht 1 Kopie Schicht n-2 Kopie Schicht n-1 Kopie Schicht n Original 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 29

Arbeitsweise der Speicherhierarchie (2) Wird das Datenelement verändert, werden die Änderungen nach unten durchgereicht (zurückgeschrieben). Schicht 1 Kopie Schicht n-2 Kopie Schicht n-1 Kopie Schicht n Original 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 30

Der Speicher (3) Großrechneranlagen nutzen die Speicherhierarchie für den Benutzer transparent aus und lassen Daten, auf die längere Zeit nicht zugegriffen wurde, in der Hierarchie absteigen. Erfolgt ein Zugriff auf Daten, werden diese so schnell wie möglich in den Vordergrund (Hauptspeicher) geholt. Bei jedem modernen PC und Betriebssysten sind heute zu jedem Zeitpunkt viele Programme gleichzeitig gestartet. Damit spielen folgende Themen eine große Rolle: Wie wird er Speicher angesprochen? Wie funktioniert die Speicherverwaltung (Scheduling und Swapping)? Wie wird Speicherschutz realisiert? 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 31

Register, Cache und Hauptspeicher (1) Die Register in der CPU enthalten die Daten, auf die die CPU sofort zugreifen kann und sind genauso schnell getaktet wie die CPU selbst. Die Kapazität der Register ist in der Regel 1 Kbyte. Die Entscheidung, was in den Registern gespeichert wird, fällen die laufenden Programme. Der Cache (Pufferspeicher) enthält Kopien von Teilen des Arbeitsspeichers um den Zugriff aud diese Daten zu beschleunigen. Der Cache ist oft in 2 oder 3 Ebenen verteilt. Die erste Ebene, der L1, bzw. First Level Cache, ist der CPU am nächsten plaziert. Er ist in die CPU-Architektur integriert. Die zweite Ebene, der L2 bzw. Second Level Cache, ist langsamer und größer und befindet sich außerhalb der CPU (auf dem Mainboard). Die Entwicklung geht dahin, dass immer häufiger der Second Level Cache in die CPU-Architektur integriert wird, was zur Umbenennung des externen Cache in L3 bzw. Third Level Cache führte. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 32

Register, Cache und Hauptspeicher (2) Typische Kapazitäten der Cache-Ebenen: L1: 4 Kbyte bis 256 Kbyte. L2: 256 Kbyte bis 4 Mbyte. L3: 1 Mbyte bis 16 Mbyte. Der Hauptspeicher, auch Arbeitsspeicher oder RAM (Random Access Memory) hat aktuell Größen von wenigen hundert Mbyte bis mehreren GByte. Alle Anfragen der CPU, die nicht vom Cache beantwortet werden können, werden an den Hauptspeicher weitergeleitet. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 33

Lokalitätsausnutzung Cache ist schneller, teurer und knapper Speicher, der nie alle Daten gleichzeitig vorrätig gespeichert haben kann. Die Entscheidung, welche Daten im Cache gehalten werden, ist von den Lokalitätseigenschaften der Zugriffe abhängig: Zeitliche Lokalität: Bei Schleifen z.b. ist es wahrscheinlich, dass sich Zugriffe auf Daten mehrmals wiederholen. Diese Daten sollten also bevorzugt im Cache gehalten werden. Ältere Daten müssen aus Platzgründen aus dem Cache verdrängt werden. = Verdrängung Räumliche Lokalität: Die Wahrscheinlichkeit, dass Daten in benachbarten Adressbereichen zusammengehören ist hoch. Wegen der räumlichen Lokalität speichert man bei Caches nicht einzelne Bytes sondern die Daten ganzer Adressbereiche. = Cache-Block (starker Einfluß auf die Systemleistung!) 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 34

Cache-Hit und Cache-Miss Bei einer Daten-Anfrage an den Cache sind zwei Ergebnisse möglich: Cache-Hit: Die am Cache angefragten Daten sind vorhanden (Treffer). Cache-Miss: Die am Cache angefragten Daten sind nicht vorhanden (verfehlt). Um die Effizienz eines Caches zu bewerten existieren zwei Kennzahlen: Hitrate: Anzahl der Anfragen an den Cache mit Ergebnis Cache- Hit, geteilt durch die Gesamtanzahl der Anfragen. Das Ergebnis liegt zwischen Null und Eins. Je höher der Wert, desto höher ist die Effizienz des Caches. Missrate: Anzahl der Anfragen an den Cache mit Ergebnis Cache-Miss, geteilt durch die Gesamtanzahl der Anfragen. Missrate = 1 Hitrate. 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 35

Nächste Vorlesung: 22.3.2007 2.Vorlesung Betriebssysteme (BTS) Hochschule Mannheim Folie 36