Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Kapitel 1: EinfŸhrung, Historischer Abriss Clip 1-1 Betriebssystembegriff Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn 1 Einleitung 1.1 Aufgaben und Grobstruktur Betriebssystem (Definition nach DIN 44300) y ÒDie Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften der Rechenanlage die Grundlage der mšglichen Betriebsarten des digitalen Rechensystems bilden und insbesondere die AusfŸhrung von Programmen steuern und Ÿberwachen.Ó Aufgaben y Anpassung der Maschinenwelt an die BenutzerbedŸrfnisse y Schaffung der Grundlagen fŸr ein geregeltes Nebeneinander y Verwaltung von Daten und Programmen y Effiziente Ausnutzung der Betriebsmittel y UnterstŸtzung bei Fehlern und AusfŠllen 1-2 Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Betriebssysteme fŸr Universalrechner Betriebssystem: Bedienung und Kontrolle Anwendung Anwendung Anwendung Betriebssystem: Verwaltung und Betrieb Hardware 1-3 Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Systemarchitektur z Komplexe Systeme (in allen Bereichen) setzen sich aus einzelnen Komponenten unterschiedlichen Typs zusammen. z FŸr den erfolgreichen Entwurf eines komplexen Systems ist daher die Kenntnis der diversen Varianten der Komponenten und ihrer Wechselwirkungen von Bedeutung. z Beispiel Hausbau (10 000 Jahre Erfahrung) ¥ WŠnde ¥ SŠulen ¥ Decken ¥ DŠcher ¥ Treppen ¥ TŸren Material Form TragfŠhigkeit ¥ Fenster 1-4 Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Systemarchitektur Beispiel Elektrotechnik (ca. 100 Jahre Erfahrung) y y y y y y Widerstand Spule Kondensator Dioden Ršhren Transistoren Beispiel Betriebssysteme (ca. 40 Jahre Erfahrung) y y y y y y y Prozesse Signale AdressrŠume KanŠle Unterbrechungen Treiber Dateien KapazitŠt Synchronisation †bergabeart 1-5 1.2 Historischer Abriss Die FŸnfziger (Erste AnfŠnge) z Ein Programm wird von einem Prozessor abgearbeitet y z Stapel-Verarbeitung (Batch-Betrieb) Die Betriebssystemfunktion beschrŠnkt sich auf y y UnterstŸtzung bei der Ein-/Ausgabe Umwandlung von Zahl- und Zeichendarstellungen Die Sechziger (Virtualisierung) z VerhŠltnis von CPU- und E/A-Rate wird eklatant z BS unterstŸtzen die verzahnte AusfŸhrung unabhŠngiger Programme (Multiprogramming) z Echte ParallelitŠt durch Aufkommen von E/A-Prozessoren z Der Begriff des Prozesses als virtueller Prozessor wird geboren z Auch der Speicher wird ÒvirtualisiertÓ (virtueller Speicher) z Der Prozess wird auch internes Strukturierungsmittel fŸr BS z Interaktiver Betrieb durch mehrere Benutzer (Timesharing) z Prototypen bzw. VorlŠufer heutiger Gro§rechner-BS entstehen (OS/360, CTSS/Multics, CP67, VMOS/BS2000) 1-6 Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Historischer Abriss Die Siebziger (Software Engineering) z Beginnende Software-Krise: BS werden gro§, komplex und fehlerbehaftet z Unix entsteht nach dem Prinzip Òsimple is beautifulÓ auf einfacher Hardware (PDP-11) z Die Forderung nach strukturiertem Systementwurf, nach Wartbarkeit, ZuverlŠssigkeit, Schutz und Sicherheit kommt auf z Einsatz hšherer Programmiersprachen fŸr BS-Implementierung z Prozess wird zur Schutzumgebung (Kontext, domain) mit eigenem, abgeschottetem Adressraum und Rechten (capabilities) z Forderung nach UnterstŸtzung von modularer Programmierung, abstrakten Datentypen und Objektorientierung z Anwendung dieser Prinzipien auf das Betriebssystem selbst 1-7 Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Historischer Abriss Die Achtziger (Verteilte Systeme) z Aufkommen von Arbeitsplatzrechnern und PCs z LeistungsfŠhiges Kommunikationsmedium: Ethernet, Vernetzte Systeme z Zur effizienten Implementierung von Kommunikationssoftware fŸr verteilte Systeme braucht man Prozesse z Prozesse sind mittlerweile komplexe Gebilde: Ein Umschalten ÒkostetÓ mehrere Tausend Maschinenbefehle. Man trennt Adressraum und Prozess wieder und erlaubt mehrere Prozesse im selben Adressraum (lightweight process, thread) z ParallelitŠtskonzepte werden in Programmiersprachen aufgenommen. z Verteiltes (paralleles) Rechnen auf Netzen von Arbeitsplatzrechnern z Unix hat im Arbeitsplatzrechner ein ideales Vehikel zur Verbreitung und wird zum QuasiStandard z Notwendigkeit der Integration schafft Standardisierungsdruck(OSI, TCP/IP, NFS, POSIX, OSF, X/OPEN, OMG, ODP) z BS Ÿberwinden Rechnergrenzen: Von der Rechnerkommunikation zum Verbundsystem (Verteiltes System) 1-8 Betriebssysteme © H.-U. Hei§ UniversitŠt Paderborn Historischer Abriss Neunziger Jahre (Hochparallele Systeme, Multimedia, Eingebettete Systeme, InteroperabilitŠt) z Infolge hoher StŸckzahlen werden einfache Mikroprozessoren relativ billig. z Zusammenschaltung tausender Mikroprozessoren bringt (rechnerisch) hšhere Leistung bei geringerem Preis als Supercomputer (z.B. Cray) z Neue BS-Funktionen zur UnterstŸtzung der Parallelverarbeitung z Multimedia-Anwendungen erfordern UnterstŸtzung von Audio- und Videodaten (Realzeit-FŠhigkeiten) z Software in eingebetteten Systemen benštigt BS-UnterstŸtzung (z.B. Consumer Electronics) z Verteilte Systeme auch in heterogenen Umgebungen (DCE, Corba) z Emulation anderer BS-Schnittstellen (d.h. mehrere BS-Welten auf demselben Rechner) 1-9