Lehrmaterial Betriebssystem Betriebssystem Die DIN - Norm 44300 versteht unter einem Betriebssystem diejenigen Programme eines digitalen Rechnersystems, die zusammen mit den Eigenschaften der Rechneranlage die Basis der möglichen Betriebsarten des digitalen Rechnersystems bilden und insbesondere die Abwicklung von Programmen steuern und überwachen. Mit anderen Worten: Das Betriebssystem setzt sich aus einer Anzahl von Routinen zusammen, deren Zusammenwirken erst den Betrieb des Rechners ermöglicht. Diese Systemroutinen stellen die Verbindung her zwischen der System-Hardware, der Systembedienung (durch den Anwender) und den Anwendungsprogrammen. Monolithisches Betriebssystem Einfache Betriebssysteme wie DOS besitzen eine monolithische Struktur, d.h., sie sind entweder nicht in selbständige Funktionseinheiten strukturiert oder so aufgebaut, dass keine Einheiten ausgetauscht werden können. Monolithische Betriebssysteme entstanden meistens aus einer Anzahl von Assembler -Routinen, die aufeinander Bezug nehmen und im Laufe der Zeit um zusätzliche Routinen (für neue Funktionen) ergänzt wurden. Da fast jede Systemroutine direkt eine andere aufrufen kann, entsteht ein vernetztes Gebilde, das nur als Einheit funktionsfähig ist. Nur Unterscheidung von Benutzer- und Kernmodus Geschichtetes Betriebssystem Der erste Schritt, um die unflexible monolithische Struktur zu vermeiden, war das Verbot von Direktzugriffen der Anwendungen auf den Arbeitsspeicher, insbesondere auf den vom Betriebssystem-Code belegten Bereich. Es wurden Prozessoren eingesetzt, die über einen privilegierten Modus (Kernel Mode oder Protected Mode) verfügen, in dem allein Speicherzugriffe möglich sind. In diesem Modus laufen nur die Systemroutinen. Alle Anwendungen bleiben auf den nichtprivilegierten User Mode (Anwendungsmodus) beschränkt und können so das System nicht mehr gefährden. Zusätzlich wurden die Systemfunktionen in funktional unabhängige Schichten gegliedert, um die Auswechselbarkeit zu erleichtern. Eine strikte Trennung der Funktionen erfordert allerdings sehr viele Schichten, wodurch sich der Code-Umfang und die Anzahl der Prozeduraufrufe erhöhen, was zu Leistungseinbußen führt. Dazu sind Prozessoren notwendig, die mehrere Privilegstufen unterstützen und so schon von seiten der Hardware eine Schichtung vorgeben (die Intel-Prozessoren erkennen ab dem I0386 vier Stufen). Erarbeitet: Klaus Neumann CES-Löbau Lehrmaterial Betriebssystem ZB. Modell von 1968(Eindhoven, Dijkstra) Schicht 5 4 3 2 1 0 Charakterisierung Opareter Benutzerprogramme Eingabe- und Ausgabeverwaltung Operator zu Prozess – Kommunikation Speicher- und Trommelverwaltung Prozessorvergabe und Multiprogramming Client-Server-Struktur Moderne Betriebssysteme versuchen, eine Client-Server-Struktur zu realisieren. Sie sehen dabei Anwendungen und Systemfunktionen als unabhängige Objekte an, die entweder als Klienten (Clients) oder Anbieter (Server) von Diensten miteinander durch den Austausch von Nachrichten kommunizieren, und zwar ausschließlich im nichtprivilegierten Modus. Die Verteilung der Nachrichten übernimmt ein im privilegierten Modus arbeitender Systemkern. Objektorientiertes Betriebssystem Solche Betriebssysteme basieren auf Objekten und sind so mit Hilfe der Methode des objektorientierten Designs (OOD) konstruiert, dass die Entwicklung durch Fremdhersteller erleichtert wird. ( Windows NT) Betriebsarten Unter der Betriebsart eines Rechnersystems ist die Methode zu verstehen, nach der anfallende Aufgaben abgearbeitet werden. Stapelverarbeitung Die älteste Betriebsart für Computer ist die Stapelverarbeitung (batch processing). Dabei werden mehrere Aufträge (früher: Lochkartenstapel) für den Rechner gesammelt und dann en bloc ausgeführt, ohne dass der Benutzer die Verarbeitung im Dialog mit dem Rechner steuern kann. Im PC -Bereich steht der Begriff für die Verarbeitung von sog. Batch-Dateien, in denen eine Anzahl von Steuerbefehlen gesammelt ist, die sonst einzeln am Bildschirm eingegeben werden müssen. Dialogbetrieb Das Gegenteil zur Stapelverarbeitung ist der heute übliche Dialogbetrieb, bei dem der Anwender im direkten Dialog am Bildschirm mit dem Rechner kommuniziert. Wenn für sehr schnell ablaufende Ereignisse (Messdatenerfassung, Fernsehbildverarbeitung usw.) eine sofortige Reaktion des Rechners erforderlich ist, weil das zu verarbeitende Ereignis sonst bereits vergangen wäre, spricht man von Echtzeitbetrieb (real-time -operation). Mehrbenutzerbetrieb Sind an einen Rechner mehrere Benutzer angeschlossen, handelt es sich um Mehrbenutzerbetrieb bzw. MultiuserBetrieb oder Timesharing. Für diese Betriebsart ist ein spezielles Betriebssystem erforderlich (z. B. UNIX), das die gesamte Rechnerleistung in kleine Zeiteinheiten aufteilt und diese umschichtig jedem angeschlossenen Benutzer zur Verfügung stellt. Hat z. B. eine solche als Zeitscheibe bezeichnete Einheit eine Dauer von 1/100 Sekunde und sind drei Benutzer bei der Arbeit, so steht der Rechner jedem Anwendungsprogramm in Abständen von 1/50 Sekunde für 1/100 Sekunde zur Verfügung. Bei schnellen Rechnern hat der Benutzer den Eindruck, allein über das System zu verfügen. Multiprocessing Werden mehrere Rechner bzw. Prozessoren zur Verwaltung desselben Arbeitsspeichers zusammengeschaltet, spricht man von Multiprocessing. Dabei sind entweder alle Prozessoren gleichberechtigt (symmetrisches System), oder Erarbeitet: Klaus Neumann CES-Löbau Lehrmaterial Betriebssystem ein Prozessor fungiert als Hauptrechner, dem die anderen nur zuarbeiten (asymmetrisches System). Ein einfaches Beispiel für ein asymmetrisches System ist ein Rechner mit einem separaten mathematischen Koprozessor. Multiprogramming Weil der Prozessor die meiste Zeit mit Warten verbringt (auf Eingaben und langsame Peripheriegeräte), ermöglichen einige Betriebssysteme die Betriebsart Multiprogramming bzw. Multitasking . Dabei gibt ein Programm, das sich im Wartezustand befindet, die Kontrolle über den Prozessor zeitweise an eine andere Anwendung ab. Auf diese Art lassen sich mehrere Programme parallel abarbeiten. Echtes Multiprogramming ist allerdings nur auf Multiprocessing Systemen möglich, weil nur dort für jedes Programm ein eigener Prozessor zur Verfügung steht. Auf Rechnern mit einem Prozessor können die Anwendungen nur nach dem Zeitscheibenverfahren zeitlich verzahnt werden. Erarbeitet: Klaus Neumann CES-Löbau