virtuelle Betriebsmittel

Werbung
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
Transaktionssystem
eingebettetes
System
Basissoftware
Betriebssystem
(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
Anwendungssoftware
Interaktionssystem
Systemschnittstelle
(Datenbanksystem,
Middleware,
.....)
Betriebssystem
Hardware
Benutzerschnittstelle
Anwendungssoftware
Interaktionssystem
Systemschnittstelle
(Datenbanksystem,
Middleware,
.....)
Betriebssystem
Hardware
auch „Systemsoftware“
Merke: Das Begriffspaar
Systemsoftware – Anwendungssoftware
(systems software – application software)
ist unscharf,
weil auf der Systemschnittstelle nicht nur Anwendungssoftware, 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
(single-user system)
Einbenutzersystem
(single-user system)
Mehrplatzsystem
(multi-user system)
Teilhaberbetrieb
(multi-access)
Mehrbenutzersystem
(multi-user system)
interaktiv
Stapelbetrieb
(batch processing)
Teilnehmerbetrieb
(time-sharing)
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)
Teilnehmerbetrieb
(time-sharing)
Stapelbetrieb
(batch processing)
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()
bereit
block()
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?
X
Teilnehmer- bzw. Server-Betrieb
Y
Effiziente Nutzung des Systems angesichts
unterschiedlicher Ressourcen-Anforderungen
verschiedener auszuführender Programme
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
eingelagert
ausgelagert
bereit
wartend
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
Betriebsmittel:
Netzanschluss
virtualisiert:
Port
usw. . . .
+ Tastatur/Maus
Herunterladen