Zusammenfassung/Übersicht GBI2 Wintersemester 2008/09 Lektion 1 – Grundlagen von Rechnerarchitekturen Wir haben den grundlegenden Aufbau eines Prozessors und den Vorgang bei der Abarbeitung von Instruktionen beleuchtet. Die Speicherhierarchie lehrt uns, dass Speichermedien sehr unterschiedliche Kennzahlen in Bezug auf Zugriffszeit und Größe aufweisen und dass wir immer langsameren Medien begegnen, je weiter wir uns vom Prozessor entfernen. Daher werden verschiedene Buffersysteme, wie Caches, und Mechanismen, wie Zugriffsoptimierung, eingesetzt, um diesem Problem Herr zu werden. Schließlich haben wir Bussysteme kennen gelernt, die auf verschiedenen Ebenen in einem Computer System (Prozessor, Platine, externe Geräte) die einzelnen Komponenten verbinden. Prozessor Rechenwerk, Steuerwerk, Datenregister, Spezialregister, Leitungen, Schnittstellen nach Außen 1. Befehlszähler ermittelt nächsten Befehl aus Arbeitsspeicher 2. übertragen vom Arbeitsspeicher in den Prozessor (Instruktionsregister) 3. Dekodierung und Interpretation durch Steuerwerks 4. Ausführung der Instruktion 5. eventuell zusätzliche Daten vom Arbeitsspeicher 6. Operation im Rechenwerk 7. Ergebnis in den Arbeitspeicher oder Register für nächste Operation Speicher Register (schnellster, kleinster Speicher, im Prozessor) Cache (Zwischenspeicher, im Prozessor) Arbeitsspeicher (RAM, ROM) Sekundärspeicher (Festplatten, etc.) Archivsspeicher (Bänder, etc.) Verbindungseinrichtungen Busleitungen (Bits können übertragen werden) Lektion 2 – Klassifikation von Rechnerarchitekturen Der grundlegende Aufbau von Computer Systemen wurde an Hand der VonNeumann Architektur erläutert. Basierend auf den Operationsprinzipien oder Hardwarestrukturen können Rechnerarchitekturen eingeteilt werden. Die Flynn’sche Klassifikation basiert auf letzterem, wobei die sequentielle und parallele Ausführung von Befehls- und Abarbeitung von Datenströmen unterschieden werden. Klassifikation nach Flynn o Single Instruction Single Data (SISD) ein Datenstrom sequentielle Befehlsfolge PC’s, IBM 360, Großrechner, VAXen o Single Instuction Multiple Data (SIMD) mehrere Datenströme werden gleichzeitig von sequentiellen Befehlsfolgen Cell Prozessor (Playstation) o Multiple Instruction Single Data (MISD) ein Datenstrom parallele Befehlsfolgen Seite 1 von 6 Zusammenfassung/Übersicht GBI2 Wintersemester 2008/09 Intel, AMD Prozessoren o Multiple Instruction Multiple Data (MIMD) mehrere Datenströme parallele Befehlsströme Multiprozessorsysteme Lektion 3 – Einführung und Konzepte von Betriebssystemen Betriebssysteme sind bildlich gesprochen die Seele eines Rechners und hauchen ihm sein artifizielles Leben ein. Jede auch noch so kleine Anforderung an den Rechner, möge sie von einem Programm, einem Gerät (intern, extern) oder dem Benutzer kommen, wird durch eine Funktion des Betriebssystems abgedeckt. Dabei gilt aber das Prinzip: Je besser ein Betriebssystem seine Aufgaben erfüllt, umso weniger wird es vom Benutzer wahrgenommen. Was ist ein Betriebssystem o Verwaltung von Hard- und Softwareressourcen o Speicherplatzverwaltung o Prozesssteuerung o Unterstützung von Ein- und Ausgabegeräten o Netzwerk- und Dateimanagement Positionierung o Softwareschichten Hardware (Betriebssystementwickler) Systemprogramme: Betriebssystem und IDE’s (Administrator, Programmierer) Anwendungsprogramme (Endbenutzer) Rollen eines Betriebssystems o Virtualisierer bzw. Abstraktion Abstraktion der Hardware durch vereinfachte und komfortable Benutzer- und Programmierschnittstelle o Verwalter der physischen Ressourcen des Systems o Multiplexer kontrollierte und geschützte Aufteilung der Ressourcen geregeltes Nebeneinander z.B. Prozessor, Speicher, Platte, Drucker, .... Anforderungen an ein Betriebssystem o Robustheit sollte niemals abstürzen einziges Programm, dass bewusst und willentlich endlos ausgeführt wird Fehlermeldungen, Hilfestellungen o Konsistenz gleiches Verhalten bei ähnlichen Situationen gleicher Aufbau von Optionen, Parametern, etc. dadurch intuitive Bedienung o Proportionalität Prozessorzuteilung: einfaches gleich, schwieriges später Benutzerschnittstelle: häufe Befehle einfach, seltene versteckt Fehlerbehandlung: häufige gut dokumentiert und automatisch behandelt, seltene manuell und wenig dokumentiert Seite 2 von 6 Zusammenfassung/Übersicht GBI2 Wintersemester 2008/09 Lektion 4 – Arten von Betriebssystemen Für verschiedene Einsatzbereiche und Rechnerarchitekturen gibt es unterschiedliche Betriebssystemformen, wobei aber manche existierende Systeme multifunktionell einsetzbar sind. In vielen Bereichen unseres täglichen Lebens, versteckt in alltäglichen Geräten, sind Betriebssysteme im Einsatz; oft ohne dass es uns bewusst wird. Großrechner Betriebssysteme (Mainframes) o Verarbeitung und Speicherung großer Datenmengen o hohes Ein-/Ausgabeaufkommen Server Betriebssysteme o anbieten spezieller Dienste für viele Benutzer o Web, Drucker, Fileserver, ... o Unix, Linux, Windows Server Multiprozessor Betriebssysteme Arbeitsplatz Betriebssysteme o am weitest verbreitet Echtzeit Betriebssysteme o Zeitfaktor spielt große Rolle o z.B. Überwachungsanlagen Embedded Systems Betriebssysteme (Handys) Chipkarten Betriebssysteme Lektion 5 – Geschichte der Betriebssysteme Die Geschichte der Betriebssysteme ist direkt verbunden mit dem technischen Fortschritt der Rechensysteme auf denen sie zum Einsatz kamen. Erst neuartige Betriebssystemfunktionen erlaubten es, die technologischen Sprünge in der Hardware dem Benutzer zur Verfügung zu stellen. Heute stellen moderne Betriebssysteme eine komfortable und intuitive Schnittstelle zur Verfügung, die es auch Benutzern ohne spezifische EDV-Fachkenntnisse erlaubt, die Funktionalität und Leistungsfähigkeit moderner Rechner ausnützen zu können. Lektion 6 – Betriebsarten- Grundformen Die unterschiedlichen Betriebsarten sind einerseits aus der Entwicklung der Betriebssysteme abzuleiten, wobei immer mächtigere Möglichkeiten realisiert wurden, andererseits definieren diese unterschiedlichen Ausprägungen auch klare Einsatzprofile der am Markt erhältlichen Systeme. Moderne Systeme von heute sind aber meist „Generalisten“, die alle bekannten Betriebsarten unterstützen. Einprogramm-/Mehrprogrammbetrieb o Einprogrammbetrieb (DOS) o Mehrprogrammbetrieb oder Multitasking präemptiv (Zuteilung in bestimmter Reihenfolge: Linux, Windows) kooperativ (Zuteilung der Programme selbst überlassen) Einbenutzer-/Mehrbenutzerbetrieb Einprozessor-/Mehrprozessorbetrieb Seite 3 von 6 Zusammenfassung/Übersicht GBI2 Wintersemester 2008/09 Lektion 7 – Betriebsarten / Verarbeitungsformen Basierend auf den unterschiedlichen technischen Betriebsarten von Betriebssystemen ergeben sich unterschiedliche Formen der Verarbeitung von Aufgaben. Hierbei liefern die Betriebssysteme die Basis für komplexe (und teilweise trickreiche) Ausführungsprofile von Anwendungen, die dem Benutzer völlig neue konzeptionelle Abarbeitungsformen mit einem hohen Mehrwert zur Verfügung stellen, die es erlauben, ganz spezifische Aufgaben zu bewältigen. Stapelverarbeitung o batch processing o Ablauf wird vorher definiert und danach durchgeführt Interaktive Verarbeitung o interactive processing o während der Abarbeitung Informationsaustausch zwischen Benutzer und Programm o Dialogverarbeitung Teilnehmerbetrieb (verschiedene Aufgaben) Teilhaberbetrieb (gleiche Aufgaben) client-server Architektur Prozessverarbeitung / Echtzeitbetrieb Steuerung Regelung Verteilte Systeme o Lastverbund (Lastverteilung) o Datenverbund (Datenverteilung) o Kooperationsverbund o Überlebensverbund (Ausfallsicherheit) o Leistungsverbund (mehrere schwächere Computer) Lektion 8 – Betriebssysteme im Überblick – die Klassiker und die UNIX Linie Die Entwicklung der Betriebssysteme war mit den technischen Entwicklungen der Hardware eng verbunden und führte zu immer leistungsfähigeren Systemen. Leider war die Standardisierung dieser Systeme in der Vergangenheit immer problematisch und oft auch nicht gewünscht, da jeder Hardwareerzeuger auf seinen Maschinen nur seine proprietären Systeme anbot. Erst durch die Entwicklung von UNIX und später durch Linux gelang es, einen erfolgreichen Weg in Richtung Standardisierung und Portabilität von Programmen zwischen Systemen zu beschreiten. Atlas Operating System o Interrupt Konzept, Multiprogramming, Spooling, Virtuelle Speichertechnik (RAM ausgelagert auf HD) MULTICS o Mehrprogrammbetrieb, Mehrbenutzerbetrieb, Mehrprozessorbetrieb, hierarchische Schutzmechanismen und Dateisystem OS/360 o IBM Großrechner Betriebssystem VM (Virtual Machine Facility) o IBM Großrechner Betriebssystem Seite 4 von 6 Zusammenfassung/Übersicht GBI2 Wintersemester 2008/09 o multiplexen der gesamten Hardware UNIX o Serverbetriebssystem mit größter Verbreitung o Mehrprogramm-, Mehrbenutzer-, Mehrprozessorbetrieb, Stapelverarbeitung/interaktive Bearbeitung, Rechnerverbundsysteme LINUX o freies UNIX Betriebssystem o free software (GPL Lizenz) o mehrere Distributionen Lektion 9 – Betriebssysteme im Überblick – Microsoft Die Firma Microsoft hat in den letzten zwei Jahrzehnten die Entwicklung der Betriebssysteme stark beeinflusst und kann als Marktbeherrscher vor allem im Bereich der Arbeitsplatzrechner gesehen werden. Wenn auch immer die Systeme von Microsoft unter Kritik standen, muss man aber anerkennen, dass sie einen starken Standardisierungseffekt bewirkt haben, der von großem Vorteil für die IT Wirtschaft ist. Nachteilig ist dagegen eine große Marktdominanz, die dazu führt, dass es innovative neue Entwicklungen schwer haben sich durchzusetzen, wenn sie nicht von Microsoft unterstützt werden. MS-DOS Windows Lektion 10 – Grundkomponenten eines Betriebssystems – Prozesse und Speicher Die Veraltung der Prozesse und des Hauptspeichers ist die zentrale Aufgabe jedes Betriebssystems. Ziel ist es hierbei, die zur Verfügung stehenden Ressourcen, wie Prozessor und Speicherplatz, so effizient wie möglich zu nutzen. Es ist aber zu beachten, dass diese Verwaltungsaufgaben auch wieder Ressourcen benötigen, was im Extremfall zu der Situation des Trashing führen kann, wobei ein System dermaßen mit Verwaltungsaufgaben überlastet ist, dass keine Benutzeraufgaben mehr erfüllt werden können. Prozessverwaltung o Task (ablaufendes Programm im Arbeitsspeicher) Prozesse (Programm und Daten bilden eine Einheit) Threads (Programm und Daten bilden KEINE Einheit) o Scheduler (Prozessverwaltung) o Deadlock (Beispiel Kreisverkehr) Speicherverwaltung o Erweiterung des schnellen, physischen Arbeitspeicher durch langsamen Plattenspeicher Swapping (gesamtes Programm in den Hauptspeicher) Paging (Teile, Seiten des Programms in den Hauptspeicher) Trashing (permanentes Nachladen, da zuwenig Platz) Lektion 11 – Weitere Betriebssystemkomponenten – Dateien, Benutzer und Periphere Geräte Dateisysteme stellen die zentrale Komponente von vielen Betriebssystemen dar (vor allem bei UNIX). Sie gewährleisten Persistenz, Sicherheit und Datenabstraktion. Die Benutzerverwaltung ist die Basis für die ordnungsgemäßen Zugriff auf das System Seite 5 von 6 Zusammenfassung/Übersicht GBI2 Wintersemester 2008/09 und seine Ressourcen. Das Gerätemanagement wiederum garantiert die ordnungsgemäße Verwaltung von externer Peripherie und den (teilweise automatisierten) Einsatz von Standardkomponenten. Dateiverwaltung Benutzerverwaltung Geräteverwaltung Lektion 12 – Benutzermanagement Die klassische Benutzerschnittstelle in UNIX ist textbasiert. Grafische Oberflächen stehen zwar auch zur Verfügung, bilden aber meist nur den „schönen“ Rahmen für das Terminal Fenster. Benutzerverwaltung Benutzerschnittstellen Lektion 13 – Kommandointerpreter Die Eingabe der Befehle an das System geschieht über den Kommandointerpreter (die Shell). Unter UNIX stehen verschiedene Shells zur Verfügung, die wichtigste vor allem bei Linux Systemen ist die Bash. Unter UNIX werden dem Benutzer oft mehrere Tausend Befehle angeboten. Ein Befehl besteht aus seinem Namen und etwaigen Optionen und Parametern. Wir haben die ersten UNIX Befehle kennengelernt und uns mit der Manual-Funktion vertraut gemacht. Lektion 14 – Dateimanagement Die Partitionen zerlegen die Festplatten in unabhängige Einheiten, die durch Dateisysteme verwaltet werden. Diese Dateisysteme legen eine logische Struktur über die physischen Plattenblöcke. Ein normales UNIX System besteht aus Tausenden von Dateien, die in Verzeichnissen organisiert sind. Jede Datei wird eindeutig über ihren Namen identifiziert, wobei man mit absoluten und relativen Namen arbeiten kann. Plattenpartitionen und Dateisysteme Organisation von Dateien und Verzeichnissen Dateinamen (absolut, relativ) Lektion 15 – Arbeiten mit dem System Wir haben das Arbeiten mit Dateien und Prozessen kennengelernt. Da die übliche Benutzerschnittstelle in UNIX textbasiert ist, gibt es eine Reihe sehr mächtiger Befehle, die das Arbeiten mit dem System sehr prägnant unterstützen. Das Prinzip ist dabei die Anwendung von simplen Konzepten, um aus der Kombination mächtige Strukturen zu bauen. Arbeiten mit Dateien Datei Befehle Arbeiten mit Prozessen (ps, tasklist) Booten Seite 6 von 6