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) Systemschnittstelle (system interface) Anwendungen, Übersetzer,..., und Interaktionssystem (auch Datenbanksystem, Middleware, u.a.) Betriebssystem auch Systemsoftware Hardware 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, z.b. hinter write(1,"hello",5) verbirgt sich... SVC 17... bs-1.1 8
Unterprogrammsprung Benutzercode:... JSR WRITE... Bibliotheksschnittstelle Systemaufruf 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 Teilnehmerbetrieb (multi-user system) (time-sharing) interaktiv Stapelbetrieb (batch processing) Klient (client) Anbieter (server) bs-1.1 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 betriebssicher effizient durch geeignet parametrisierte Software-Schnittstelle gegenüber Hardware- und Software-Fehlern sowie böswilliger Manipulation bezüglich der realen Betriebsmittel
1.1.1 Prozessverwaltung Betriebsmittel: virtualisiert: Prozessor 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 ) anderer Prozess macht block() bereit aktiv block() wake(p) wartend bs-1.1 anderer Prozess macht 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: CD Software installieren Festplatte Drucker Dokument drucken... und noch freie Prozessorkapazität für rechenintensives Programm im Hintergrund bs-1.1 21
1.1.2 Speicherverwaltung Betriebsmittel: virtualisiert: Arbeitsspeicher 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 bs-1.1 Multiplexen des Arbeitsspeichers durch Umlagerung (swapping) der Prozesse zwischen Arbeitsspeicher und Hintergrundspeicher
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 b c d e f g bs-1.1 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: virtualisiert: Netzanschluss Port usw.... bs-1.1 27