Betriebssysteme FU Berlin WS 2004/05 Klaus-Peter Löhr bs-1.1 1 1 Einführung Zur Erinnerung: Informatische Fachbegriffe in Deutsch und Englisch findet man unter http://www.babylonia.org.uk bs-1.1 2 Software „zwischen Hardware und Umwelt“ eingebettete Systeme (embedded systems) geschlossene Anwendungssysteme Betriebssysteme + Anwendungsprogramme bs-1.1 3 Transaktionssystem eingebettetes System Basissoftware Betriebssystem (operating system) bs-1.1 4 Benachbarte Gebiete: • Rechnerarchitektur • Verteilte Systeme • Echtzeitsysteme • Systemsicherheit • Datenbanksysteme • Programmiersprachen & Übersetzer • Softwaretechnik bs-1.1 5 Abgrenzung: Betriebssystem im engeren Sinn = System aus Sicht der Anwendungssoftware = Software zwischen der Hardware und der Systemschnittstelle (¼2) Betriebssystem im weiteren Sinn = System aus Sicht des Benutzers, d.h. zuzüglich Benutzerschnittstelle, Übersetzer, Dienstprogramme usw. bs-1.1 6 Benutzerschnittstelle (user interface) Systemschnittstelle (system interface) Anwendungssoftware Interaktionssystem (Datenbanksystem, Middleware, .....) Betriebssystem Hardware bs-1.1 7 Benutzerschnittstelle (user interface) Systemschnittstelle (system interface) Anwendungssoftware Interaktionssystem (Datenbanksystem, Middleware, .....) Betriebssystem Hardware auch „Systemsoftware“ bs-1.1 8 Systemschnittstelle bietet den Programmen die einzige Möglichkeit zur Interaktion mit dem Betriebssystem und zwar über Systemaufrufe (system/supervisor calls) (= spezielle Maschinenbefehle) Beachte: In höheren Programmiersprachen sind die Systemaufrufe in Bibliotheksroutinen verborgen, bs-1.1 z.B. System.out.print verbirgt ... SVC 17 ... 9 Benutzercode JSR PRINT Unterprogrammsprung Bibliotheksschnittstelle Systemaufruf Bibliothekscode SVC 17 Systemschnittstelle Betriebssystem bs-1.1 10 Merke: Die Trennung Systemsoftware – Anwendungssoftware (systems software – application software) ist unscharf, weil auf der Systemschnittstelle nicht nur Anwendungssoftware, sondern auch Systemerweiterungen aufgesetzt werden können. bs-1.1 11 Grobe Klassifikation der Hardware: • Einprozessorsystem (uniprocessor) • Mehrprozessorsystem (multiprocessor) • Mehrrechnersystem (multicomputer, cluster) mit verteiltem Speicher ¼ verteiltes Betriebssystem • Rechnernetz (computer network) ¼ verteilte und/oder kooperierende Betriebssysteme bs-1.1 12 Betriebsarten eines Rechners Einplatzsystem (single-user system) Einbenutzersystem (single-user system) Mehrplatzsystem (multi-user system) Teilhaberbetrieb (multi-access) Mehrbenutzersystem (multi-user system) interaktiv bs-1.1 Teilnehmerbetrieb (time-sharing) Stapelbetrieb (batch processing) 13 Betriebsarten eines Rechners Einplatzsystem (single-user system) Einbenutzersystem (single-user system) Mehrplatzsystem (multi-user system) Teilhaberbetrieb (multi-access) Mehrbenutzersystem Teilnehmerbetrieb (multi-user system) interaktiv bs-1.1 (time-sharing) Stapelbetrieb (batch processing) Klient (client) Dienstanbieter (server) 14 1.1 Betriebsmittelverwaltung Hardware ist Konglomerat aus verschiedenen Betriebsmitteln (auch Ressourcen, engl. resources) wie z.B. bs-1.1 Prozessoren, Speicher, Peripheriegeräte, Netzanschlüsse, ..... 15 Aufgabe eines Betriebssystems ist, den Anwendungsprogrammen statt der realen Betriebsmittel virtuelle Betriebsmittel (virtual resources) zur Verfügung zu stellen (z.B. „virtueller Speicher“) mit den folgenden Eigenschaften: komfortabel – durch geeignet parametrisierte prozedurale Schnittstelle betriebssicher – gegenüber Hardware- und Software-Fehlern sowie böswilliger Manipulation effizient – bezüglich der realen Betriebsmittel 1.1.1 Prozeßverwaltung Betriebsmittel: Prozessor virtualisiert: Prozess (process, task) Verwandter Prozessbegriff bei nichtsequentieller Programmierung: Prozess = Programmteil, der unabhängig von den anderen Programmteilen ablaufen kann bs-1.1 17 Genauer: leichtgewichtiger Prozess (lightweight process, thread) = virtueller Prozessor schwergewichtiger Prozess (heavyweight process) = virtueller Rechner (Prozessor + Speicher + Peripherie) bs-1.1 18 Mehrprozessbetrieb (multiprogramming, multitasking): Anzahl der Prozesse ist nicht durch die Anzahl der Prozessoren beschränkt bs-1.1 19 Mehrprozessbetrieb (multiprogramming, multitasking): Anzahl der Prozesse ist nicht durch die Anzahl der Prozessoren beschränkt Schnappschuss der Prozessorzuordnung (processor allocation): Prozesse aktiv bereit wartend Prozessoren bs-1.1 20 Die Zuordnung wechselt: „Multiplexen“ des Prozessors (processor multiplexing) Zustandsübergänge eines Prozesses p : (mit Operationen block/wake ) aktiv anderer Prozess macht block() bereit block() wartend wake(p) bs-1.1 21 Die Zuordnung wechselt: „Multiplexen“ des Prozessors (processor multiplexing) Zustandsübergänge eines Prozesses p : (mit Operationen block/wake ) aktiv anderer Prozess macht block() block() wake(p) bereit wartend wake(p) bs-1.1 falls aktiver Prozess verdrängt werden kann Warum Mehrprozessbetrieb? X Teilnehmer- bzw. Server-Betrieb Y Effiziente Nutzung des Systems angesichts unterschiedlicher Ressourcen-Anforderungen verschiedener auszuführender Programme bs-1.1 23 Beispiel: Software installieren CD Festplatte Drucker Dokument drucken ... und noch freie Prozessorkapazität für rechenintensives Programm im Hintergrund bs-1.1 24 1.1.2 Speicherverwaltung Betriebsmittel: Arbeitsspeicher/Adressraum virtualisiert: virtueller Adressraum (virtual address space) Von virtuellem Speicher (virtual memory) (¼5) spricht man, wenn der virtuelle Adressraum größer als der Arbeitsspeicher sein kann und teilweise auf Hintergrundspeicher ausgelagert werden kann. bs-1.1 25 Schnappschuss der Speicherzuordnung (memory allocation): [Speicheralloziierung – falsche Übersetzung!] Virtuelle Adressräume der (schwergewichtigen) Prozesse Arbeitsspeicher Betriebssystem Multiplexen des Arbeitsspeichers durch Umlagerung (swapping) der Prozesse bs-1.1 zwischen Arbeitsspeicher und Hintergrundspeicher Zustandsübergänge eines Prozesses: aktiv bereit wartend eingelagert ausgelagert bs-1.1 27 1.1.3 Dateiverwaltung Betriebsmittel: Langzeitspeicher (Platte, Band, ...) virtualisiert: Datei (file) = benanntes, persistentes Objekt a bs-1.1 b c d e f g 28 1.1.4 Druckerverwaltung Betriebsmittel: reale Drucker virtualisiert: virtuelle Drucker ¼ Spooling Auf verschiedene Weise realisierbar, z.B. so: jeder Prozess besitzt einen eigenen virtuellen Drucker, auf dem er mit print(text) drucken kann. (Zwischenspeicherung der Ausgabe auf Hintergrundsp.!) ¼ Komfortabel und effizient bs-1.1 29 1.1.5 Weitere Peripherie Betriebsmittel: Bildschirm + Tastatur/Maus virtualisiert: Fenster + Tastatur/Maus Betriebsmittel: Netzanschluss virtualisiert: Port usw. . . . bs-1.1 30