Betriebssysteme

Werbung
Betriebssysteme
FU Berlin
WS 2004/05
Klaus-Peter Löhr
bs-1.1
1
1 Einführung
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
Betriebssysteme + Anwendungsprogramme
bs-1.1
3
Transaktionssystem
eingebettetes
System
Basissoftware
Betriebssystem
(operating system)
bs-1.1
4
Benachbarte Gebiete:
• Rechnerarchitektur
• Verteilte Systeme
• 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)
Anwendungssoftware
Interaktionssystem
(Datenbanksystem,
Middleware,
.....)
Betriebssystem
Hardware
bs-1.1
7
Benutzerschnittstelle
(user interface)
Systemschnittstelle
(system interface)
Anwendungssoftware
Interaktionssystem
(Datenbanksystem,
Middleware,
.....)
Betriebssystem
Hardware
auch „Systemsoftware“
bs-1.1
8
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.
System.out.print
verbirgt
...
SVC 17
...
9
Benutzercode
JSR PRINT
Unterprogrammsprung
Bibliotheksschnittstelle
Systemaufruf
Bibliothekscode
SVC 17
Systemschnittstelle
Betriebssystem
bs-1.1
10
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
11
Grobe Klassifikation der Hardware:
• Einprozessorsystem (uniprocessor)
• Mehrprozessorsystem (multiprocessor)
• Mehrrechnersystem (multicomputer, cluster)
mit verteiltem Speicher ¼ verteiltes Betriebssystem
• Rechnernetz (computer network)
¼ verteilte und/oder kooperierende Betriebssysteme
bs-1.1
12
Betriebsarten eines Rechners
Einplatzsystem
(single-user system)
Einbenutzersystem
(single-user system)
Mehrplatzsystem
(multi-user system)
Teilhaberbetrieb
(multi-access)
Mehrbenutzersystem
(multi-user system)
interaktiv
bs-1.1
Teilnehmerbetrieb
(time-sharing)
Stapelbetrieb
(batch processing)
13
Betriebsarten eines Rechners
Einplatzsystem
(single-user system)
Einbenutzersystem
(single-user system)
Mehrplatzsystem
(multi-user system)
Teilhaberbetrieb
(multi-access)
Mehrbenutzersystem
Teilnehmerbetrieb
(multi-user system)
interaktiv
bs-1.1
(time-sharing)
Stapelbetrieb
(batch processing)
Klient (client)
Dienstanbieter (server)
14
1.1 Betriebsmittelverwaltung
Hardware ist Konglomerat aus verschiedenen
Betriebsmitteln (auch Ressourcen, engl. resources)
wie z.B.
bs-1.1
Prozessoren,
Speicher,
Peripheriegeräte,
Netzanschlüsse,
.....
15
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
bs-1.1
17
Genauer:
leichtgewichtiger Prozess (lightweight process, thread)
= virtueller Prozessor
schwergewichtiger Prozess (heavyweight process)
= virtueller Rechner (Prozessor + Speicher + Peripherie)
bs-1.1
18
Mehrprozessbetrieb (multiprogramming, multitasking):
Anzahl der Prozesse ist nicht durch die
Anzahl der Prozessoren beschränkt
bs-1.1
19
Mehrprozessbetrieb (multiprogramming, multitasking):
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
20
Die Zuordnung wechselt:
„Multiplexen“ des Prozessors (processor multiplexing)
Zustandsübergänge eines Prozesses p :
(mit Operationen block/wake )
aktiv
anderer Prozess
macht block()
bereit
block()
wartend
wake(p)
bs-1.1
21
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
wartend
wake(p)
bs-1.1
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
bs-1.1
23
Beispiel:
Software installieren
CD
Festplatte
Drucker
Dokument drucken
... und noch freie Prozessorkapazität für
rechenintensives Programm im Hintergrund
bs-1.1
24
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.
bs-1.1
25
Schnappschuss der Speicherzuordnung (memory allocation):
[Speicheralloziierung – falsche Übersetzung!]
Virtuelle Adressräume der (schwergewichtigen) Prozesse
Arbeitsspeicher
Betriebssystem
Multiplexen des Arbeitsspeichers durch
Umlagerung (swapping) der Prozesse
bs-1.1
zwischen Arbeitsspeicher und Hintergrundspeicher
Zustandsübergänge eines Prozesses:
aktiv
bereit
wartend
eingelagert
ausgelagert
bs-1.1
27
1.1.3 Dateiverwaltung
Betriebsmittel:
Langzeitspeicher (Platte, Band, ...)
virtualisiert:
Datei (file)
= benanntes, persistentes Objekt
a
bs-1.1
b
c
d
e
f
g
28
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
bs-1.1
29
1.1.5 Weitere Peripherie
Betriebsmittel:
Bildschirm
+ Tastatur/Maus
virtualisiert:
Fenster
+ Tastatur/Maus
Betriebsmittel:
Netzanschluss
virtualisiert:
Port
usw. . . .
bs-1.1
30
Herunterladen