Betriebssystem - Hu

Technische Informatik 2
Betriebssystem
Prof. Dr. Miroslaw Malek
Sommersemester 2004
www.informatik.hu-berlin.de/rok/ca
Thema heute
•
•
•
•
•
•
Betriebssystem – Funktionalität
Analogien
Betriebssystementwicklung
Scheduling von Prozessen
Speichermanagement
Systemsicht des Betriebssystems:
TI2 – Betriebssystem - 2
Copyright © 2004 M. Malek
Allgemeiner Überblick
Anwendungs Software:
Textverarbeitung
Flugzeugreservierungssystem
Computerspiele
Betriebssystem
Hardware
TI2 – Betriebssystem - 3
Copyright © 2004 M. Malek
Betriebssysteme
• Integraler Teil von Computerdesign
–
–
–
–
Laden
Linken
Speicherverwaltung
CPU-Sharing-Überwachung (Scheduling und
Speicheranforderung )
• Betriebssysteme sind Programme, die die Ausführung von
Programmen handhaben. Das Betriebssystem handhabt die
CPU bezüglich der verfügbaren E/A Ressourcen. RessourceTeilung kann Kosten reduzieren, wenn dies zu einer Erhöhung
des Systemdurchsatzes führt, z.B. mehr laufende
Benutzerprogramme pro Zeiteinheit.
• Die Hauptfunktion eines Betriebssystems ist die Steuerung
der Initiierung der CPU- und Kanal- (E/A) Aktivität.
TI2 – Betriebssystem - 4
Copyright © 2004 M. Malek
Analogien
• BS = Regierung, es führt das Management der
Ressourcen durch, aber es produziert nichts, da die
Produktion den Anwendungsprogrammen obliegt.
• BS = Fabrikmanager, ein Fabrikmanager
erleichtert den Fluss zwischen den einzelnen
Arbeitsschritten, produziert jedoch keine Güter.
TI2 – Betriebssystem - 5
Copyright © 2004 M. Malek
Einige weitere Sichten eines
Betriebssystems
• BS ist ein Magier, es versteckt Software- und
Hardwareressourcen und gibt dem Benutzer das Aussehen,
einer problemfreien Welt, ohne typische Hardwaregrenzen
• BS als Verkehrsampel, die Verkehrsampel reguliert den Fluss
der Autos, das BS reguliert den Fluss der Prozessausführung
(Eingabe/Ausgabe Operationen, Interrupts, Speicherschutz,
usw.)
• BS als Wertpapierspekulant, Lernen aus Fehlern die in der
Vergangenheit gemacht wurden, um den Profit (Performance)
in der Zukunft zu maximieren.
• BS als Stellglied - verbindet Benutzer, Programme und
Prozesse, die Hardware benutzen (Transaktionen).
• BS als Mittler – dient als Vermittler zwischen Hardware und
dem Betriebssystem
TI2 – Betriebssystem - 6
Copyright © 2004 M. Malek
Betriebssysteme
1. Erschaffen und Beenden von Prozessen
2. Überblick und Kontrolle des Fortschritts der
Ausführung der Prozesse
3. Laden und linken der Programme
4. Speicherverwaltung
5. Scheduling, z.B.: definiert, in welcher Reihenfolge
die Prozesse ausgeführt werden
6. Behandlung von Ausnahmen, Fehlern oder
Schutzverletzungen
7. Allokation von Hardware und Software Resourcen
zu ProzessenAllocating
TI2 – Betriebssystem - 7
Copyright © 2004 M. Malek
Betriebssysteme (2)
8. Bieten Zugriffe zur Software und Daten, z.B.:
Compiler und Assembler, Bibliotheksprogramme,
Text Dateien, Bilder, Musik
9. Sichert benötigte Qualitätseigenschaften (QoS)
unter Beachtung von Sicherheits-, Echtzeit-,
Zuverlässigkeit- und anderen Aspekten
10. Unterstützende Kommunikation und Webdienste
(Supporting communication and web services)
Auch ein Browser wird als Teil eines
Betriebssystems angesehen
Ein Prozeß ist eine Routine, die als Teil der Ausführung eines geplanten
Jobs ausgeführt werden darf. Bietet Informationen, die die Unterbrechung
und folgende Reinitiation der Ausführung eines Programms erlaubt.
TI2 – Betriebssystem - 8
Copyright © 2004 M. Malek
Betriebssystementwicklung
55
IOCS
60
65
Quelle: Wolfgang Coy "Aufbau und
Arbeitsweise von Rechenanlagen:
Einführung in Rechnerarchitektur
und Rechnerorganisation", Vieweg
1992
IBSYS
CTS
DOS/360
OS/360
MULTICS
CP/CMS
70
TSO
75
DOS/VDSE
MVS/370
UNIX
VM/370
CP/M
UNIX V.7
80
SYSTEM III
85
VS
MVS/XA
VM/XA
SYSTEM V
4.1 BSD
SUN OS
AIX
POSIX
VSE/ESA
MVS/ES
VM/ESA
00
TI2 – Betriebssystem - 9
AIX/ESA
DR/DO S
4.2 BSD
4.3 BSD
OSF/1
SYSTEM V.4
MS-DOS
MACH
AIX/370
90
XENIX
SOLARIS
OS/2
WINDOWS
4.4 BSD
NT
2000
Copyright © 2004 M. Malek
Scheduling von Prozessen
• Priorität for jeden Prozess
• Der Prozess wird in eine Warteschlange, in der
auch die anderen, vom Betriebssystem
auszuführenden Prozesse zu finden sind,
eingereiht.
• Information über den Zustand des Prozesses
–
–
–
–
–
Prozessnummer (id)
Prozesszustand
Schutz
Scheduling-Information
Statusinformation
TI2 – Betriebssystem - 10
Copyright © 2004 M. Malek
Scheduling von Prozessen (2)
• Mindestens ein Scheduler
• Gewöhnlich zwei Scheduler
– Einer für “long term” Jobs:
Entscheidung über den Grad des Multiprogramming
– Der andere für “short term” Jobs:
Auswahl der neuen Prozesse, die ausgeführt werden
sollen.
• Kriterien für das Auswählen eines Prozesses:
–
–
–
–
CPU Ausnutzung
Durchsatz
Antwortzeit
Responsivität (Echtzeit System)
TI2 – Betriebssystem - 11
Copyright © 2004 M. Malek
Scheduling
Eine Scheduling-Routine eines Betriebssystems führt
Long-Term Scheduling durch das Gruppieren von
Jobs, für gewöhnlich nach Priorität und Klasse für
die Ausführung durch die CPU aus.
Speicheranforderungen (MM & Ersatz-) und
Prioritätsfaktoren werden normalerweise in die
Scheduling-Gleichung mit einbezogen.
– Speicher-Management
– Short-Term Scheduling
– Ein Prozeß ist eine Routine, die als Teil der Ausführung
eines geplanten Jobs ausgeführt werden darf.
Bietet Informationen, die die Unterbrechung und folgende
Reinitiation der Ausführung eines Programms erlaubt.
TI2 – Betriebssystem - 12
Copyright © 2004 M. Malek
Zustandsdiagramm
Ein Programm kann durch eine Anzahl von Zustandsveränderungen laufen zwischen den Zuständen:
– Ausführbar
– Blockiert
– In Ausführung
Das Zustandsdiagramm illustriert die Steueraktivitäten, die für die Prozeßverwaltung nötig sind. Die
Beschriftungen entlang der Pfeile zeigen die Gründe
der Änderung von einem Zustand in den anderen.
– Interrupts können Zustandsänderungen hervorrufen.
– Programme mit höherer Priorität können laufende
Programme unterbrechen.
TI2 – Betriebssystem - 13
Copyright © 2004 M. Malek
Zustandsdiagramm (2)
Die meisten Details von E/A-Operationen können nicht
eingesehen und vom Programmierer nicht kontrolliert werden,
es sei denn, das Betriebssystem hat einen Benutzermodus,
der dem Benutzer die Kontrolle bis zu einem gewissen Grad
erlaubt. Normalerweise läuft das Betriebssystem im
Überwachungsmodus.
Wartend
Abarbeiten
Bereit
Anhalten
(z.B. wenn E/A hält)
Laufend
Beenden
Zurückstellen
TI2 – Betriebssystem - 14
Copyright © 2004 M. Malek
Interaktives Computing
Online-Geräte interagieren direkt mit der CPU, die
die gesamte Umgebung kontrolliert. Die
Hauptaufgabe der CPU ist das Erzeugen von
Antworten an individuelle Benutzer (im Gegensatz zu
maximalem Durchsatz).
–
–
–
–
Zeitverzögerung der Antwort (T)
Time Slice
Round-Robin
Obere Grenze des Zeitintervalles der Antwort ist eine
Quantum-Zeit. Nach einem Zeitintervall geht die Kontrolle
an das Betriebssystem zurück.
TI2 – Betriebssystem - 15
Copyright © 2004 M. Malek
Arten der Verarbeitung:
Arten der Verarbeitung, die vom BS unterstützt
werden:
1. Batch-Verarbeitung (Jobs oder ähnliche Typen
werden gruppiert)
2. Transaktionenbasierte Verarbeitung (Operationen,
wie Einkaufen mittels E-Commerce oder
Banktransfers werden unterstützt)
3. Interaktive Verarbeitung (z.B.: Das gesamte
Netzcomputing oder Spiele gehören dieser
Kategorie an.)
TI2 – Betriebssystem - 16
Copyright © 2004 M. Malek
Speichermanagement
Vor der Einführung von virtuellem Speicher wurden Primär(Hauptspeicher) und Sekundärspeicherung explizit durch das
Programm verwaltet. Durch virtuellen Speicher verwaltet nun
eine Kombination aus Hardware und Systemsoftware unsichtbar
für das Benutzerprogramm die Primärspeicherung.
Physikalischer Speicher
P
M
Sekundärspeicher
Hauptspeicher
Haupt- und Sekundärspeicher werden explizit von Programmen
organisiert.
TI2 – Betriebssystem - 17
Copyright © 2004 M. Malek
Speichermanagement (2)
Virtueller Speicher
P
M
Hauptspeicher
Virtueller Adreßraum
(Sekundärspeicher)
Hauptspeicher wird für Anwenderprogramme transparent
organisiert.
TI2 – Betriebssystem - 18
Copyright © 2004 M. Malek
Scheduling Politiken
1. First-In-First-Out (FIFO, auch bekannt als: Der Erste der
ankommt, wird als Erster bedient)
2. Kürzester Job Zuerst [Shortest-Job-First (SJF) ]
3. Prioritäten Scheduling
(Priority Scheduling)
4. Round Robin Schedule
5. Früheste Deadline zuerst
[Earliest Deadline First (EDF)]
6. Monotones Scheduling [Rate Monotonic Scheduling (RMS)
Algorithm ]
7. Minimalster Überhang (Least Laxity Scheduling)
(Differenz zwischen Deadline und Ausführungszeit) Kleinerer
Überhang = höhere Prioriät
TI2 – Betriebssystem - 19
Copyright © 2004 M. Malek
„Die neue Welt“
MENSCHEN
(Benutzer)
COMPUTER
COMPUTER
NETZWERK
SENSOREN
TI2 – Betriebssystem - 20
AKTOREN
(z.B. Roboter)
Copyright © 2004 M. Malek
Einige Aufgaben des OS aus
Benutzersicht
Betriebsmittelverwaltung
Anwendungsprogramme
Übersetzer
Prozessverwaltung
Editoren
Assemblierer
Speicherverwaltung
Tabellenkalkulation
Compiler
Datenverwaltung
Datenbank
Interpreter
Ein-/
Ausgabeverwaltung
Linker-/
Ladeprogramme
Makrointerpreter
Jobverwaltung
Dateibearbeitung
Systembefehlsinterpreter
Abrechnung
Diagnose und Test
lokale Netzverwaltung
Mehrprozessorverwaltung
Telekommunikation
TI2 – Betriebssystem - 21
Copyright © 2004 M. Malek
Systemsicht des Betriebssystems:
Schichtmodell
Schichtname
Typische Objekte
Typische Operationen
Schaltkreise
Register, Gatter, Busse
NAND, NOR, XOR
Maschinensprache
Befehlszähler, ALU
Add, Move
Unterprogrammverwaltung
Prozedurblock, Stack
Call, JSR, RTS
Interrupts
Fehlerroutinen
Busfehler, Reset
einfache Prozesse
Semaphor, Puffer
warten, bereitstellen,
ausführen
lokaler
Zusatzspeicher
Datenblock, E/A-Kanal
lesen, schreiben,
öffnen, schließen
virtueller Speicher
Seiten
lesen, schreiben,
austauschen
Prozesskommunikation
Übergabekanal (Pipe)
lesen, schreiben,
öffnen
TI2 – Betriebssystem - 22
Copyright © 2004 M. Malek
Systemsicht des Betriebssystems:
Schichtmodell (2)
Schichtname
Typische Objekte
Typische Operationen
...weiter...
Dateiverwaltung
Dateien
lesen, schreiben,
öffnen, kopieren
Geräteverwaltung
Zusatzspeicher,
Terminals
lesen, schreiben
Ein-/Ausgabeströme
Datenströme
lesen, schreiben,
öffnen, schließen
Benutzerprozesse
Benutzerprozesse
einloggen, ausloggen,
Verzweigungen
Verzeichnisverwaltung
interne Tabellen
erstellen, löschen,
ändern
Benutzungsoberfläche
Fenster, Menüs, Icons
Betriebssystembefehle
TI2 – Betriebssystem - 23
Copyright © 2004 M. Malek
Systemsicht des Betriebssystems:
Schichtmodell (3)
Anwendungsschicht
Anwenderprogramme
Systemschicht
Systemprogramme
YACC CompilerCompiler
C-Compiler
Pascal/Modula-2
Lisp/Prolog e.a.
Assembler
Debugger
Textverarbeitung
Editoren
ed/vi/sed e.a.
nroff/troff/TEX
Befehlsverarbeitung
Befehlsinterpreter
(Shell, GUI)
Vorder-/Hintergrund
Befehlsketten
Hilfsprogramme
Befehls- und
Dateiumlenkung
Onlinehandbuch
Lernprogramm
Sortierprogramme
Spiele
UNIX-Kern
Mehrprozeßverwaltung
Mehrplatzverwaltung
InterprozeßKommunikation
Hierarchische
Prozeßverwaltung
Hierarchische
Dateiverwaltung
pipes
Automatische
Prozeßvergabe
Autom. Dateiein-/auslagerung
TI2 – Betriebssystem - 24
filter
Erweiterbare
Dateisysteme
Copyright © 2004 M. Malek
Befehls- und Datenfluss
CPU
ProgrammsteuerungsPROGRAM
einheit
ALU
Verarbeitende
Einhet
TI2 – Betriebssystem - 25
Befehle
Daten
Speichereinheit
E/A
Geräte
Copyright © 2004 M. Malek
Software Zusammenfassung
• Anwendungen
• Middleware
• Betriebssystem
– werden immer größer
– beeinflussen die Performance, Zuverlässigkeit und
Einfachheit der Benutzung eines Systems
– Komplexität und Funktionalität sind fast außer Kontrolle
und sehr häufig weit von der Verständlichkeit entfernt.
Computersysteme gehören einer Klasse der komplexesten und
komplizierten Geräte an, die jemals von der Menschheit
erschaffen wurden. Die Entwicklung von Windows/NT dauerte
acht Jahre und tausende Programmierer. (Windows/NT besteht
aus über 50 Millionen Codezeilen (MLOC‘s)
TI2 – Betriebssystem - 26
Copyright © 2004 M. Malek