Was ist ein Betriebssystem? 2(4) Vorlesung Betriebssysteme I. Einführung Aufbau von Rechensystemen Banksystem FlugReservierung Compiler Editor Spiele Anwendungsprogramme Kommandointerpreter Systemprogramme Betriebsystem Prof. Dr. Jens Grabowski Maschinensprache Physikalische Geräte Tel. 39 14 690 Email [email protected] Betriebssystem: Kern- (oder Supervisor-) Modus Compiler, Editoren, Anwendungsprogramme: Benutzermodus I-1 OS (WS 04/05) D.h. Betriebssystem wird durch die Hardware vor Zugriffen durch den Benutzer geschützt. OS (WS 04/05) Inhalt Hardware Mikroprogrammierung Einführung I-4 Was ist ein Betriebssystem? 3(4) Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Betriebsarten von Betriebssystemen Struktur eines Betriebssystems Geschichte der Betriebssysteme Standardisierung Es gibt zwei Sichten auf ein Betriebssystem: Anwendersicht: • Top-Down-Sicht • Betriebssystem ist eine virtuelle Maschine BS-Entwicklersicht: • Bottom-Up-Sicht • Betriebssystem ist ein Betriebsmittel(Ressourcen-) Verwalter Einführung OS (WS 04/05) I-2 OS (WS 04/05) Was ist ein Betriebssystem? 1(4) Computer-Software gliedert sich in zwei Gruppen: Def. Betriebssystem als virtuelle Maschine Ermöglichen den Betrieb des Computers. Helfen dem Anwender seine Probleme zu lösen. Das wichtigste Systemprogramm ist das Betriebssystem. Definition Betriebssystem (DIN 44300): Anwenderprogramme Ein Betriebssystem ist eine virtuelle Maschine, die dem Anwender eine einfache (dateiorientierte) Schnittstelle zur Hardware zur Verfügung stellt und einen Programmierung dieser Hardware auf hohem logischen Niveau ermöglicht. Def. Betriebssystem als Ressourcenverwalter "Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten des digitalen Rechensystems bilden und die insbesondere die Abwicklung von Programmen steuern und überwachen." Ein Betriebssystem bezeichnet alle Programme eines Rechensystems, die die Ausführung der Benutzerprogramme, die Verteilung der Ressourcen auf die Benutzerprogramme und die Aufrechterhaltung der Betriebsart steuern und überwachen. Def. Ressourcen (Betriebsmittel) Die Ressourcen (Betriebsmittel) eines Betriebssystems sind alle Hard- und Softwarekomponenten, die für die Programmausführung relevant sind. OS (WS 04/05) Einführung I-3 I-5 Was ist ein Betriebssystem? 4(4) Systemprogramme Einführung Betriebsmittel: Prozessor, Hauptspeicher, I/O-Geräte, etc. OS (WS 04/05) Einführung I-6 1 Inhalt Aufgaben eines Betriebssystems 3(6) Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Einführung I-7 Prozessverwaltung I-8 Aufgaben eines Betriebssystems 2(6) Speicherverwaltung cont. Schutz von Dateien und Verzeichnissen vor unberechtigtem Zugriff user rwx others r-- Dateiname Uebung.txt > chmod g+w Uebung.txt führt zu: user rwx group rw- others r-- Dateiname Uebung.txt Einführung OS (WS 04/05) I-11 Aufgaben eines Betriebssystems 5(6) Geräteverwaltung Auswahl und Bereitstellung von I/O-Geräten Anpassung an physikalische Eigenschaften der Geräte Überwachung der Datenübertragung Monitoring, Accounting, Auditing Erstellen & Verwalten von Systemstatistiken Aktuelle Auslastung Aktueller freier Speicher Netzverkehr Optionale Aufgaben I-9 group r-- Befehl: Einführung I-10 Unix: 9-Bit für Zugriffsrechte (Read, Write, eXecute) Datei/Verzeichnis gehört einem Eigentümer (user) und einer Benutzergruppe (group, z.B. Mitarbeiter, Projekt, etc.) z.B. Beinhaltet die Verwaltung der schon vom von-Neumann Rechner bekannten Speicherhierarchie. (Die Zahlen in der Grafik sind nur sehr grobe Schätzungen) OS (WS 04/05) Einführung Verwaltung des Dateisystems (cont.) Zuteilung des verfügbaren physikalischen Speichers an Prozesse Einbeziehen des Hintergrundspeichers (Platte) durch virtuelle Adressierung, demand Paging, Swapping (= Ein-/Auslagern von Prozessen), etc. Einführung Strukturierung mittels Verzeichnissen (Directory) Aufgaben eines Betriebssystems 4(6) (Ein Prozess oder auch Task ist ein in Ausführung befindliches Programm) Erzeugen und Löschen von Prozessen Prozessorzuteilung (Scheduling) Prozesskommunikation Synchronisation nebenläufiger Prozesse, die gemeinsame Daten benutzen OS (WS 04/05) Erzeugen, Löschen, Öffnen, Lesen, Schreiben, Kopieren, etc. OS (WS 04/05) Speicherverwaltung Benutzer arbeitet mit Dateinamen. Wie und wo die Dateien gespeichert werden, ist ihm egal. Systemaufrufe für Dateioperationen Aufgaben eines Betriebssystems 1(6) Logische Sicht auf Speichereinheiten (Dateien) Betriebsarten von Betriebssystemen Struktur eines Betriebssystems Geschichte der Betriebssysteme Standardisierung OS (WS 04/05) Verwaltung des Dateisystems OS (WS 04/05) Laufzeit von Prozessen mitprotokollieren Speicherbedarf von Prozessen mitprotokollieren Eingeloggte Benutzer mitprotokollieren etc. Einführung I-12 2 Aufgaben eines Betriebssystems 6(6) Weitere wichtige Aspekte: Graceful Degradation: Beim Ausfall einzelner Komponenten läuft das System mit vollem Funktionsumfang mit verminderter Leistung weiter. Fehlertoleranz wird durch Redundanz erkauft. Betriebssystem muss eine ansprechende Benutzerschnittstelle für die eigene Bedienung enthalten. Betriebssystem muss Funktionen bereitstellen, mit denen aus Anwendungsprogrammen heraus auf die Benutzerschnittstelle zugegriffen werden kann. Einführung I-13 Inhalt Betriebsarten von Betriebssystemen Auftrag 2 Auftrag 3 Eingabe Ausführung Ausgabe Eingabe Ausführung Ausgabe Eingabe Ausführung Ausgabe OS (WS 04/05) Einführung I-16 Stapelverarbeitung mit Spooling Erfordert eigene I/O-Prozessoren Eingabeprozessor Struktur eines Betriebssystems Geschichte der Betriebssysteme Standardisierung Hauptprozessor Ausgabeprozessor Einführung OS (WS 04/05) I-14 Betriebsarten von Betriebssystemen 1(4) Benutzer 2 Auftrag 1 Betriebsarten von Betriebssystemen 3(4) Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Bessere Ausnutzung des Prozessors durch Lochkarten, etc. Benutzer 1 Betriebssystem muss den Realzeit-kritischen Prozessen die Betriebsmittel so zuteilen, dass die angeforderten Zeitanforderungen eingehalten werden. Für zeitkritische Systeme: Meßsysteme, Anlagensteuerungen, etc. OS (WS 04/05) Benutzeroberflächen Stapelverarbeitung (Batchbetrieb) Realzeitbetrieb Fehlertoleranz Betriebsarten von Betriebssystemen 2(4) Einbenutzerbetrieb mit Einzelauftragsbearbeitung (Single User Mode) Mehrprogrammbetrieb (Multiprogramming) OS (WS 04/05) Benutzer 1 Auftrag 2 Eingabe Ausgabe Ausführung Eingabe Ausgabe Ausführung Benutzerwechsel Benutzer 2 Auftrag 3 I-17 Betriebsarten von Betriebssystemen 4(4) Dialogbetrieb Auftrag 1 Einführung Interaktiver Dialog mit dem Benutzer Ggf. in Kombination mit Batchbetrieb Ggf. in Kombination mit mehreren Benutzern gleichzeitig über mehrere Terminals Eingabe Ausgabe Ausführung = Prozessor arbeitet OS (WS 04/05) Einführung I-15 OS (WS 04/05) Einführung I-18 3 Inhalt Struktur von Betriebssystemen Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Betriebsarten von Betriebssystemen Struktur eines Betriebssystems Allgemeine Schalenstruktur von UNIX und Linux Geschichte der Betriebssysteme Standardisierung OS (WS 04/05) Einführung Struktur von Betriebssystemen I-19 1(10) Monolithische Systeme (aus einem Block) OS (WS 04/05) Unstrukturiert Einführung Struktur von Betriebssystemen I-20 2(10) Hierarchische Betriebssysteme I-22 4(10) Betriebssystem als virtuelle Maschine Abstraktion betrifft nicht nur die Hardware, sondern kann auch höhere Funktionen betreffen. Minimale Struktur OS (WS 04/05) Einführung Struktur von Betriebssystemen 3(10) Folgen im Gegensatz zu monolithischen Systemen einem strengen Ordnungsprinzip Bildlich: Folge von ineinanderliegenden Schalen OS (WS 04/05) Einführung I-21 OS (WS 04/05) Einführung Struktur von Betriebssystemen I-23 5(10) Andere virtuelle Maschinen: OS (WS 04/05) Einführung I-24 4 Struktur von Betriebssystemen Struktur von Betriebssystemen 6(10) Minimale Kerne (engl. Microkernel) Kern mit minimalen Betriebssystemfunktionen um einen großen Hardware-nahen Kern zu vermeiden. Ausführungsmodi Kernel Mode OS (WS 04/05) Einführung Struktur von Betriebssystemen I-25 7(10) Minimale Kerne folgen dem Client-Server-Modell in verteilten Systemen OS (WS 04/05) Einführung I-26 Niedrige Priorität und Einschränkungen um die Konsistenz der Kerndaten nicht zu gefährden. Modi werden von der Hardware unterstützt. OS (WS 04/05) Einführung I-28 Einführung I-29 Struktur von Betriebssystemen 10(10) OS (WS 04/05) Inhalt Struktur von Betriebssystemen 8(10) Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Betriebsarten von Betriebssystemen Struktur eines Betriebssystems Geschichte der Betriebssysteme Standardisierung OS (WS 04/05) Hohe Priorität und wenige Einschränkungen um die Konsistenz des Kerndaten zu erhalten. User Mode Hardware 9(10) Einführung I-27 OS (WS 04/05) Einführung I-30 5 Geschichte der Betriebssysteme 1(7) Vor den elektronischen Rechnern Charles Babage (1792-1871) Ada Lovelace gilt als die erste Programmiererin Die Programmiersprache Ada wurde nach ihr benannt. Die erste Generation (1945-1955) Röhren (bis zu 20.000) Programmierung mit Steckkarten Pioniere: Konrad Zuse, Howard Aiken, John von Neumann, J. Presper Eckert, William Mauchley OS (WS 04/05) Einführung I-31 Geschichte der Betriebssysteme 2(7) Struktur eines typischen FMS-Jobs (FORTRAN Monitor System, BS der zweiten Generation) Versuchte die analytische Maschine zu entwickeln (scheiterte an der damaligen Technologie) Erkannte aber das er Software für diese Maschine brauchen würde und stellte hierfür Ada Lovelace (Tochter des Dichters Lord Byron). Geschichte der Betriebssysteme 4(7) Die zweite Generation (1955-1965) Die dritte Generation (1965-1980) I-32 Geschichte der Betriebssysteme 3(7) Frühes Stapelverarbeitungssystem: Entwicklung integrierter Schaltkreise Rechnerfamilie IBM 360 mit OS/360 Neu: Multiprogramming, um I/O-Wartezeiten auszunutzen In diese Zeit fällt auch die Entwicklung von UNIX und C Beispiel: Einführung Mehrprogrammsystem mit drei Jobs im Speicher Dritte Generation OS (WS 04/05) Hochintegrierte Schaltkreise Leistungsfähige Einbenutzersysteme: PCs mit MS-DOS Workstations mit UNIX Ferner: IBM OS/2, Linux Die fünfte Generation (1990 - ...) Verteilte Systeme durch Vernetzung Kommunikation über Nachrichten Netzbetriebssysteme Definition Netzbetriebssystem: I-33 I-35 Die vierte Generation (1980-1990) Einführung Einführung Geschichte der Betriebssysteme 6(7) bring cards to 1401 read cards to tape put tape on 7094 which does computing put tape on 1401 which prints output OS (WS 04/05) I-34 Geschichte der Betriebssysteme 5(7) Transistoren Programmierung mit Lochkarten Betriebssystem für den Batch-Betrieb OS (WS 04/05) Einführung OS (WS 04/05) OS (WS 04/05) Ein Netzbetriebssystem ist ein Betriebssystem, das um einen Kommunikationsmechanismus erweitert wurde, so daß Kommunikation und Kooperation zwischen Betriebssystemen möglich ist und damit der Zugriff auf entfernte Ressourcen. Einführung I-36 6 Geschichte der Betriebssysteme 7(7) Der heutige Betriessystem-Zoo Mainframe operating systems Server operating systems Multiprocessor operating systems Personal computer operating systems Real-time operating systems Embedded operating systems Smart card operating systems Standardisierung von Betriebssystemfunktionen mit dem Ziel, die Portabilität von Programmen zu verbessern. POSIX-Standards werden durch eine Arbeitsgruppe des Institute of Electrical and Electronics Engineers (IEEE) ausgearbeitet und lehnen sich an UNIX an. POSIX Standards (Stand 1994) POSIX.0 POSIX.1 POSIX.2 POSIX.3 POSIX.4 POSIX.5 POSIX.6 POSIX.7 POSIX.8 POSIX.9 POSIX.10 Einführung OS (WS 04/05) POSIX Standards I-37 OS (WS 04/05) Guide and overview Library functions Shell and utilities Test methods and conformance Real-time extensions Ada language binding to POSIX.1 Security extensions System administration Transparent file access Fortran 77 binding to POSIX.1 Supercomputing profile POSIX.11 POSIX.12 POSIX.13 POSIX.14 POSIX.15 POSIX.16 POSIX.17 POSIX.18 POSIX.19 POSIX.20 POSIX.21 Einführung Transaction processing Protocol independent communication Real-time profiles Multiprocessor profile Batch/supercomputer extensions Language-independent POSIX.1 Directory/name services Basic POSIX system profile Fortran-90 binding to POSIX.4 Ada binding to POSIX.4 Distributed real-time I-40 Inhalt Was ist ein Betriebssystem? Aufgaben eines Betriebssystems Betriebsarten von Betriebssystemen Struktur eines Betriebssystems Geschichte der Betriebssysteme Standardisierung Einführung OS (WS 04/05) I-38 Standardisierung Einige relevante Standards AT&T: System V Interface Definition (SVID) 1985 OSF: OSF: Distributed Computing Environment (DCE) Motif 2.0 Graphical User Interface Toolkit 1995 1994 X/OPEN Portability Guide (XPG-1, ..., XPG-4) 1984 IEEE Portable Operating System Interface based on UNIX (POSIX) 1989 OpenGroup: Single UNIX Specification Version 2 OpenGroup: Common Desktop Environment (CDE) 1.0 ANSI/ISO: ANSI/ISO: OS (WS 04/05) Programmiersprache C (X3.159, ISO/IEC 9899) Programmiersprache C++ (X3J16) Einführung 1997 1996 1989 1998 I-39 7