Technische Informatik 2 Betriebssystem Prof. Dr. Miroslaw Malek Sommersemester 2004 www.informatik.hu-berlin.de/rok/ca Thema heute • • • • • • Betriebssystem – Funktionalität Analogien Betriebssystementwicklung Scheduling von Prozessen Speichermanagement Systemsicht des Betriebssystems: TI2 – Betriebssystem - 2 Copyright © 2004 M. Malek Allgemeiner Überblick Anwendungs Software: Textverarbeitung Flugzeugreservierungssystem Computerspiele Betriebssystem Hardware TI2 – Betriebssystem - 3 Copyright © 2004 M. Malek Betriebssysteme • Integraler Teil von Computerdesign – – – – Laden Linken Speicherverwaltung CPU-Sharing-Überwachung (Scheduling und Speicheranforderung ) • Betriebssysteme sind Programme, die die Ausführung von Programmen handhaben. Das Betriebssystem handhabt die CPU bezüglich der verfügbaren E/A Ressourcen. RessourceTeilung kann Kosten reduzieren, wenn dies zu einer Erhöhung des Systemdurchsatzes führt, z.B. mehr laufende Benutzerprogramme pro Zeiteinheit. • Die Hauptfunktion eines Betriebssystems ist die Steuerung der Initiierung der CPU- und Kanal- (E/A) Aktivität. TI2 – Betriebssystem - 4 Copyright © 2004 M. Malek Analogien • BS = Regierung, es führt das Management der Ressourcen durch, aber es produziert nichts, da die Produktion den Anwendungsprogrammen obliegt. • BS = Fabrikmanager, ein Fabrikmanager erleichtert den Fluss zwischen den einzelnen Arbeitsschritten, produziert jedoch keine Güter. TI2 – Betriebssystem - 5 Copyright © 2004 M. Malek Einige weitere Sichten eines Betriebssystems • BS ist ein Magier, es versteckt Software- und Hardwareressourcen und gibt dem Benutzer das Aussehen, einer problemfreien Welt, ohne typische Hardwaregrenzen • BS als Verkehrsampel, die Verkehrsampel reguliert den Fluss der Autos, das BS reguliert den Fluss der Prozessausführung (Eingabe/Ausgabe Operationen, Interrupts, Speicherschutz, usw.) • BS als Wertpapierspekulant, Lernen aus Fehlern die in der Vergangenheit gemacht wurden, um den Profit (Performance) in der Zukunft zu maximieren. • BS als Stellglied - verbindet Benutzer, Programme und Prozesse, die Hardware benutzen (Transaktionen). • BS als Mittler – dient als Vermittler zwischen Hardware und dem Betriebssystem TI2 – Betriebssystem - 6 Copyright © 2004 M. Malek Betriebssysteme 1. Erschaffen und Beenden von Prozessen 2. Überblick und Kontrolle des Fortschritts der Ausführung der Prozesse 3. Laden und linken der Programme 4. Speicherverwaltung 5. Scheduling, z.B.: definiert, in welcher Reihenfolge die Prozesse ausgeführt werden 6. Behandlung von Ausnahmen, Fehlern oder Schutzverletzungen 7. Allokation von Hardware und Software Resourcen zu ProzessenAllocating TI2 – Betriebssystem - 7 Copyright © 2004 M. Malek Betriebssysteme (2) 8. Bieten Zugriffe zur Software und Daten, z.B.: Compiler und Assembler, Bibliotheksprogramme, Text Dateien, Bilder, Musik 9. Sichert benötigte Qualitätseigenschaften (QoS) unter Beachtung von Sicherheits-, Echtzeit-, Zuverlässigkeit- und anderen Aspekten 10. Unterstützende Kommunikation und Webdienste (Supporting communication and web services) Auch ein Browser wird als Teil eines Betriebssystems angesehen Ein Prozeß ist eine Routine, die als Teil der Ausführung eines geplanten Jobs ausgeführt werden darf. Bietet Informationen, die die Unterbrechung und folgende Reinitiation der Ausführung eines Programms erlaubt. TI2 – Betriebssystem - 8 Copyright © 2004 M. Malek Betriebssystementwicklung 55 IOCS 60 65 Quelle: Wolfgang Coy "Aufbau und Arbeitsweise von Rechenanlagen: Einführung in Rechnerarchitektur und Rechnerorganisation", Vieweg 1992 IBSYS CTS DOS/360 OS/360 MULTICS CP/CMS 70 TSO 75 DOS/VDSE MVS/370 UNIX VM/370 CP/M UNIX V.7 80 SYSTEM III 85 VS MVS/XA VM/XA SYSTEM V 4.1 BSD SUN OS AIX POSIX VSE/ESA MVS/ES VM/ESA 00 TI2 – Betriebssystem - 9 AIX/ESA DR/DO S 4.2 BSD 4.3 BSD OSF/1 SYSTEM V.4 MS-DOS MACH AIX/370 90 XENIX SOLARIS OS/2 WINDOWS 4.4 BSD NT 2000 Copyright © 2004 M. Malek Scheduling von Prozessen • Priorität for jeden Prozess • Der Prozess wird in eine Warteschlange, in der auch die anderen, vom Betriebssystem auszuführenden Prozesse zu finden sind, eingereiht. • Information über den Zustand des Prozesses – – – – – Prozessnummer (id) Prozesszustand Schutz Scheduling-Information Statusinformation TI2 – Betriebssystem - 10 Copyright © 2004 M. Malek Scheduling von Prozessen (2) • Mindestens ein Scheduler • Gewöhnlich zwei Scheduler – Einer für “long term” Jobs: Entscheidung über den Grad des Multiprogramming – Der andere für “short term” Jobs: Auswahl der neuen Prozesse, die ausgeführt werden sollen. • Kriterien für das Auswählen eines Prozesses: – – – – CPU Ausnutzung Durchsatz Antwortzeit Responsivität (Echtzeit System) TI2 – Betriebssystem - 11 Copyright © 2004 M. Malek Scheduling Eine Scheduling-Routine eines Betriebssystems führt Long-Term Scheduling durch das Gruppieren von Jobs, für gewöhnlich nach Priorität und Klasse für die Ausführung durch die CPU aus. Speicheranforderungen (MM & Ersatz-) und Prioritätsfaktoren werden normalerweise in die Scheduling-Gleichung mit einbezogen. – Speicher-Management – Short-Term Scheduling – Ein Prozeß ist eine Routine, die als Teil der Ausführung eines geplanten Jobs ausgeführt werden darf. Bietet Informationen, die die Unterbrechung und folgende Reinitiation der Ausführung eines Programms erlaubt. TI2 – Betriebssystem - 12 Copyright © 2004 M. Malek Zustandsdiagramm Ein Programm kann durch eine Anzahl von Zustandsveränderungen laufen zwischen den Zuständen: – Ausführbar – Blockiert – In Ausführung Das Zustandsdiagramm illustriert die Steueraktivitäten, die für die Prozeßverwaltung nötig sind. Die Beschriftungen entlang der Pfeile zeigen die Gründe der Änderung von einem Zustand in den anderen. – Interrupts können Zustandsänderungen hervorrufen. – Programme mit höherer Priorität können laufende Programme unterbrechen. TI2 – Betriebssystem - 13 Copyright © 2004 M. Malek Zustandsdiagramm (2) Die meisten Details von E/A-Operationen können nicht eingesehen und vom Programmierer nicht kontrolliert werden, es sei denn, das Betriebssystem hat einen Benutzermodus, der dem Benutzer die Kontrolle bis zu einem gewissen Grad erlaubt. Normalerweise läuft das Betriebssystem im Überwachungsmodus. Wartend Abarbeiten Bereit Anhalten (z.B. wenn E/A hält) Laufend Beenden Zurückstellen TI2 – Betriebssystem - 14 Copyright © 2004 M. Malek Interaktives Computing Online-Geräte interagieren direkt mit der CPU, die die gesamte Umgebung kontrolliert. Die Hauptaufgabe der CPU ist das Erzeugen von Antworten an individuelle Benutzer (im Gegensatz zu maximalem Durchsatz). – – – – Zeitverzögerung der Antwort (T) Time Slice Round-Robin Obere Grenze des Zeitintervalles der Antwort ist eine Quantum-Zeit. Nach einem Zeitintervall geht die Kontrolle an das Betriebssystem zurück. TI2 – Betriebssystem - 15 Copyright © 2004 M. Malek Arten der Verarbeitung: Arten der Verarbeitung, die vom BS unterstützt werden: 1. Batch-Verarbeitung (Jobs oder ähnliche Typen werden gruppiert) 2. Transaktionenbasierte Verarbeitung (Operationen, wie Einkaufen mittels E-Commerce oder Banktransfers werden unterstützt) 3. Interaktive Verarbeitung (z.B.: Das gesamte Netzcomputing oder Spiele gehören dieser Kategorie an.) TI2 – Betriebssystem - 16 Copyright © 2004 M. Malek Speichermanagement Vor der Einführung von virtuellem Speicher wurden Primär(Hauptspeicher) und Sekundärspeicherung explizit durch das Programm verwaltet. Durch virtuellen Speicher verwaltet nun eine Kombination aus Hardware und Systemsoftware unsichtbar für das Benutzerprogramm die Primärspeicherung. Physikalischer Speicher P M Sekundärspeicher Hauptspeicher Haupt- und Sekundärspeicher werden explizit von Programmen organisiert. TI2 – Betriebssystem - 17 Copyright © 2004 M. Malek Speichermanagement (2) Virtueller Speicher P M Hauptspeicher Virtueller Adreßraum (Sekundärspeicher) Hauptspeicher wird für Anwenderprogramme transparent organisiert. TI2 – Betriebssystem - 18 Copyright © 2004 M. Malek Scheduling Politiken 1. First-In-First-Out (FIFO, auch bekannt als: Der Erste der ankommt, wird als Erster bedient) 2. Kürzester Job Zuerst [Shortest-Job-First (SJF) ] 3. Prioritäten Scheduling (Priority Scheduling) 4. Round Robin Schedule 5. Früheste Deadline zuerst [Earliest Deadline First (EDF)] 6. Monotones Scheduling [Rate Monotonic Scheduling (RMS) Algorithm ] 7. Minimalster Überhang (Least Laxity Scheduling) (Differenz zwischen Deadline und Ausführungszeit) Kleinerer Überhang = höhere Prioriät TI2 – Betriebssystem - 19 Copyright © 2004 M. Malek „Die neue Welt“ MENSCHEN (Benutzer) COMPUTER COMPUTER NETZWERK SENSOREN TI2 – Betriebssystem - 20 AKTOREN (z.B. Roboter) Copyright © 2004 M. Malek Einige Aufgaben des OS aus Benutzersicht Betriebsmittelverwaltung Anwendungsprogramme Übersetzer Prozessverwaltung Editoren Assemblierer Speicherverwaltung Tabellenkalkulation Compiler Datenverwaltung Datenbank Interpreter Ein-/ Ausgabeverwaltung Linker-/ Ladeprogramme Makrointerpreter Jobverwaltung Dateibearbeitung Systembefehlsinterpreter Abrechnung Diagnose und Test lokale Netzverwaltung Mehrprozessorverwaltung Telekommunikation TI2 – Betriebssystem - 21 Copyright © 2004 M. Malek Systemsicht des Betriebssystems: Schichtmodell Schichtname Typische Objekte Typische Operationen Schaltkreise Register, Gatter, Busse NAND, NOR, XOR Maschinensprache Befehlszähler, ALU Add, Move Unterprogrammverwaltung Prozedurblock, Stack Call, JSR, RTS Interrupts Fehlerroutinen Busfehler, Reset einfache Prozesse Semaphor, Puffer warten, bereitstellen, ausführen lokaler Zusatzspeicher Datenblock, E/A-Kanal lesen, schreiben, öffnen, schließen virtueller Speicher Seiten lesen, schreiben, austauschen Prozesskommunikation Übergabekanal (Pipe) lesen, schreiben, öffnen TI2 – Betriebssystem - 22 Copyright © 2004 M. Malek Systemsicht des Betriebssystems: Schichtmodell (2) Schichtname Typische Objekte Typische Operationen ...weiter... Dateiverwaltung Dateien lesen, schreiben, öffnen, kopieren Geräteverwaltung Zusatzspeicher, Terminals lesen, schreiben Ein-/Ausgabeströme Datenströme lesen, schreiben, öffnen, schließen Benutzerprozesse Benutzerprozesse einloggen, ausloggen, Verzweigungen Verzeichnisverwaltung interne Tabellen erstellen, löschen, ändern Benutzungsoberfläche Fenster, Menüs, Icons Betriebssystembefehle TI2 – Betriebssystem - 23 Copyright © 2004 M. Malek Systemsicht des Betriebssystems: Schichtmodell (3) Anwendungsschicht Anwenderprogramme Systemschicht Systemprogramme YACC CompilerCompiler C-Compiler Pascal/Modula-2 Lisp/Prolog e.a. Assembler Debugger Textverarbeitung Editoren ed/vi/sed e.a. nroff/troff/TEX Befehlsverarbeitung Befehlsinterpreter (Shell, GUI) Vorder-/Hintergrund Befehlsketten Hilfsprogramme Befehls- und Dateiumlenkung Onlinehandbuch Lernprogramm Sortierprogramme Spiele UNIX-Kern Mehrprozeßverwaltung Mehrplatzverwaltung InterprozeßKommunikation Hierarchische Prozeßverwaltung Hierarchische Dateiverwaltung pipes Automatische Prozeßvergabe Autom. Dateiein-/auslagerung TI2 – Betriebssystem - 24 filter Erweiterbare Dateisysteme Copyright © 2004 M. Malek Befehls- und Datenfluss CPU ProgrammsteuerungsPROGRAM einheit ALU Verarbeitende Einhet TI2 – Betriebssystem - 25 Befehle Daten Speichereinheit E/A Geräte Copyright © 2004 M. Malek Software Zusammenfassung • Anwendungen • Middleware • Betriebssystem – werden immer größer – beeinflussen die Performance, Zuverlässigkeit und Einfachheit der Benutzung eines Systems – Komplexität und Funktionalität sind fast außer Kontrolle und sehr häufig weit von der Verständlichkeit entfernt. Computersysteme gehören einer Klasse der komplexesten und komplizierten Geräte an, die jemals von der Menschheit erschaffen wurden. Die Entwicklung von Windows/NT dauerte acht Jahre und tausende Programmierer. (Windows/NT besteht aus über 50 Millionen Codezeilen (MLOC‘s) TI2 – Betriebssystem - 26 Copyright © 2004 M. Malek
© Copyright 2024 ExpyDoc