Betriebssysteme FU Berlin WS 2006/07 Klaus-Peter Löhr bs-1.1 1 1 Einführung • Betriebsmittelverwaltung • Entwicklungsgeschichte • Architektur 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 (z.B. Flugbuchungssystem) Betriebssysteme + Anwendungsprogramme bs-1.1 3 Transaktionssystem eingebettetes System Basissoftware Betriebssystem (operating system) bs-1.1 4 Benachbarte Gebiete: • Rechnerarchitektur • Verteilte Systeme, Middleware • 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) Anwendungen, Übersetzer, ....., und Interaktionssystem (auch Systemschnittstelle (system interface) Datenbanksystem, Middleware, u.a.) Betriebssystem Hardware auch „Systemsoftware“ bs-1.1 7 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. hinter write(1,"hello",5) verbirgt sich ... SVC 17 ... 8 Benutzercode: ... JSR WRITE ... Unterprogrammsprung Systemaufruf Bibliotheksschnittstelle Bibliothekscode: ... SVC 17 ... Systemschnittstelle Betriebssystem bs-1.1 9 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 10 Grobe Klassifikation der Hardware: • Einprozessorsystem (uniprocessor) • Mehrprozessorsystem (multiprocessor) • Mehrrechnersystem (multicomputer, cluster) mit verteiltem Speicher verteiltes Betriebssystem • Rechnernetz (computer network) Betriebssysteme + Middleware bs-1.1 11 Betriebsarten eines Rechners Einplatzsystem (single-user system) Einbenutzersystem (single-user system) Mehrplatzsystem (multi-user system) Teilhaberbetrieb (multi-access) Mehrbenutzersystem (multi-user system) interaktiv Klient (client) bs-1.1 Teilnehmerbetrieb (time-sharing) Stapelbetrieb (batch processing) Anbieter (server) 12 1.1 Betriebsmittelverwaltung Hardware ist Konglomerat aus verschiedenen Betriebsmitteln (auch Ressourcen, engl. resources) wie z.B. Prozessoren, Speicher, Peripheriegeräte, Netzanschlüsse, ..... bs-1.1 13 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 Software-Schnittstelle betriebssicher – gegenüber Hardware- und Software-Fehlern sowie böswilliger Manipulation effizient – bezüglich der realen Betriebsmittel 1.1.1 Prozessverwaltung Betriebsmittel: Prozessor virtualisiert: Prozess (process, task) ( Verwandter Prozessbegriff bei der nichtsequentiellen Programmierung: Prozess = Programmteil, der unabhängig von den anderen Programmteilen ablaufen kann, z.B. Thread in Java ) bs-1.1 15 Genauer: leichtgewichtiger Prozess (lightweight process, thread (!) ) = virtueller Prozessor schwergewichtiger Prozess (heavyweight process) = virtueller Rechner ( virtueller Prozessor + virtueller Speicher + virtuelle Peripherie ) bs-1.1 16 Mehrprozessbetrieb (multitasking, multiprogramming): Anzahl der Prozesse ist nicht durch die Anzahl der Prozessoren beschränkt bs-1.1 17 Mehrprozessbetrieb (multitasking, multiprogramming): 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 18 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 anderer Prozess macht bs-1.1 wartend wake(p) falls aktiver Prozess verdrängt werden kann Warum Mehrprozessbetrieb? Teilnehmer- bzw. Server-Betrieb Effiziente Nutzung des Systems angesichts unterschiedlicher Ressourcen-Anforderungen verschiedener auszuführender Programme bs-1.1 20 Beispiel: Software installieren CD Festplatte Drucker Dokument drucken ... und noch freie Prozessorkapazität für rechenintensives Programm im Hintergrund bs-1.1 21 1.1.2 Speicherverwaltung Betriebsmittel: Arbeitsspeicher 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 22 Schnappschuss der Speicherzuordnung (memory allocation): [Speicheralloziierung – falsche Übersetzung] Virtuelle Adressräume der (schwergewichtigen) Prozesse Arbeitsspeicher Betriebssystem Multiplexen des Arbeitsspeichers durch Umlagerung (swapping) der Prozesse zwischen Arbeitsspeicher und Hintergrundspeicher bs-1.1 Zustandsübergänge eines Prozesses: aktiv bereit wartend eingelagert ausgelagert bs-1.1 24 1.1.3 Dateiverwaltung Betriebsmittel: Langzeitspeicher (Platte, Band, stick, ...) virtualisiert: Datei (file) = benanntes, persistentes Objekt a bs-1.1 b c d e f g 25 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 Hintergrundspeicher!) komfortabel und effizient bs-1.1 26 1.1.5 Weitere Peripherie Betriebsmittel: Bildschirm + Tastatur/Maus virtualisiert: Fenster + Tastatur/Maus Betriebsmittel: Netzanschluss virtualisiert: Port usw. . . . bs-1.1 27