Date post: | 05-Apr-2015 |
Category: |
Documents |
Upload: | carla-wutzke |
View: | 115 times |
Download: | 4 times |
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
Software„zwischen Hardware und Umwelt“
eingebettete Systeme(embedded systems)
geschlossene Anwendungssysteme
Betriebssysteme + Anwendungsprogramme
Betriebssystem(operating system)
Basissoftware
eingebettetesSystem
Transaktionssystem
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.
Betriebssystem
Hardware
Anwendungssoftware
Interaktionssystem(Datenbanksystem, Middleware, .....)
Benutzerschnittstelle
Systemschnittstelle
Betriebssystem
Hardware
Anwendungssoftware
Interaktionssystem(Datenbanksystem, Middleware, .....)
Benutzerschnittstelle
Systemschnittstelle
auch „Systemsoftware“
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 sowiebö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):
Prozesseaktivbereitwartend
Prozessoren
Die Zuordnung wechselt:
„Multiplexen“ des Prozessors (processor multiplexing)
Zustandsübergänge eines Prozesses p :
(mit Operationen block/wake [siehe NSP, Probeklausur])
aktiv
bereit wartend
block()
wake(p)
anderer Prozess
macht block()
Die Zuordnung wechselt:
„Multiplexen“ des Prozessors (processor multiplexing)
Zustandsübergänge eines Prozesses p :
(mit Operationen block/wake [siehe NSP, Probeklausur])
aktiv
bereit wartend
block()
wake(p)
anderer Prozess
macht block()wake(p)
falls aktiver Prozessverdrängt werden kann
Warum Mehrprozessbetrieb?
Teilnehmer- bzw. Server-Betrieb
Effiziente Nutzung des Systems angesichts
unterschiedlicher Ressourcen-Anforderungen
verschiedener auszuführender Programme
Diskette
Festplatte
Drucker
Software installieren
Dokument drucken
... und noch freie Prozessorkapazität für
rechenintensives Programm im Hintergrund
Beispiel:
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!]
Betriebssystem
Arbeitsspeicher
Virtuelle Adressräume der (schwergewichtigen) Prozesse
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. . . .