FU Berlin SS 2003 Klaus-Peter Löhr Betriebssysteme FU Berlin SS 2003 Klaus-Peter Löhr
1 Einführung Zur Erinnerung: Informatische Fachbegriffe in Deutsch und Englisch findet man unter http://www.babylonia.org.uk
„zwischen Hardware und Umwelt“ Software „zwischen Hardware und Umwelt“ eingebettete Systeme (embedded systems) geschlossene Anwendungssysteme Betriebssysteme + Anwendungsprogramme
Betriebssystem Transaktionssystem eingebettetes System Basissoftware (operating system)
Benachbarte Gebiete: Rechnerarchitektur Verteilte Systeme Echtzeitsysteme Systemsicherheit Datenbanksysteme Programmiersprachen & Übersetzer Softwaretechnik
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 (9), Übersetzer, Dienstprogramme usw.
Benutzerschnittstelle Systemschnittstelle Anwendungssoftware Interaktionssystem (Datenbanksystem, Middleware, .....) Betriebssystem Hardware
Benutzerschnittstelle Systemschnittstelle auch „Systemsoftware“ Anwendungssoftware Interaktionssystem (Datenbanksystem, Middleware, .....) Betriebssystem Hardware
Merke: Das Begriffspaar Systemsoftware – Anwendungssoftware (systems software – application software) ist unscharf, weil auf der Systemschnittstelle nicht nur Anwendungs- software, sondern auch Systemerweiterungen aufgesetzt werden können.
Grobe Klassifikation der Hardware: Einprozessorsystem (uniprocessor) Mehrprozessorsystem (multiprocessor) Mehrrechnersystem (multicomputer) mit verteiltem Speicher verteiltes Betriebssystem Rechnernetz (computer network) verteilte und/oder kooperierende Betriebssysteme
Betriebsarten eines Rechners Einplatzsystem Mehrplatzsystem (single-user system) (multi-user system) Einbenutzersystem Teilhaberbetrieb (single-user system) (multi-access) Mehrbenutzersystem Teilnehmerbetrieb (multi-user system) (time-sharing) interaktiv Stapelbetrieb (batch processing)
Betriebsarten eines Rechners Einplatzsystem Mehrplatzsystem (single-user system) (multi-user system) Einbenutzersystem Teilhaberbetrieb (single-user system) (multi-access) Mehrbenutzersystem Teilnehmerbetrieb (multi-user system) (time-sharing) interaktiv Stapelbetrieb (batch processing) Klient (client) Dienstanbieter (server)
1.1 Betriebsmittelverwaltung Hardware ist Konglomerat aus verschiedenen Betriebsmitteln (auch Ressourcen, engl. resources) wie z.B. Prozessoren, Speicher, Peripheriegeräte, Netzanschlüsse, .....
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
Genauer: leichtgewichtiger Prozess (lightweight process, thread) = virtueller Prozessor schwergewichtiger Prozess (heavyweight process) = virtueller Rechner (Prozessor + Speicher + Peripherie)
Mehrprozessbetrieb (multiprogramming, multitasking): Anzahl der Prozesse ist nicht durch die Anzahl der Prozessoren beschränkt
Mehrprozeßbetrieb (multiprogramming, multitasking): Anzahl der Prozesse ist nicht durch die Anzahl der Prozessoren beschränkt Schnappschuss der Prozessorzuordnung (processor allocation): Prozesse aktiv bereit wartend Prozessoren
Die Zuordnung wechselt: „Multiplexen“ des Prozessors (processor multiplexing) Zustandsübergänge eines Prozesses p : (mit Operationen block/wake [siehe NSP, Probeklausur]) aktiv anderer Prozess macht block() block() bereit wartend wake(p)
Die Zuordnung wechselt: „Multiplexen“ des Prozessors (processor multiplexing) Zustandsübergänge eines Prozesses p : (mit Operationen block/wake [siehe NSP, Probeklausur]) aktiv anderer Prozess macht block() block() wake(p) bereit 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
Software installieren Beispiel: Software installieren Diskette Festplatte Drucker Dokument drucken ... und noch freie Prozessorkapazität für rechenintensives Programm im Hintergrund
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.
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
Zustandsübergänge eines Prozesses: aktiv bereit wartend eingelagert ausgelagert
1.1.3 Dateiverwaltung Betriebsmittel: Langzeitspeicher (Platte, Band, ...) virtualisiert: Datei (file) = benanntes, persistentes Objekt a b c d e f g
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
1.1.5 Weitere Peripherie Betriebsmittel: Bildschirm + Tastatur/Maus virtualisiert: Fenster + Tastatur/Maus Betriebsmittel: Netzanschluss virtualisiert: Port usw. . . .