Betriebssysteme - Übersicht

Werbung
Willkommen zur
VO Betriebssysteme
Peter Puschner
Institut für Technische Informatik
[email protected]
Peter Puschner
1
Kontakt
• Prof. Peter Puschner
– [email protected]
• Sprechstunden
– Di, 14:00-15:00, bzw. nach Anmeldung
– Sekretariat: Mo-Do, 10:00-11:30
• Institut
– Treitlstraße 1-3, 3. Stock
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
2
Organisatorisches
• Vorlesung: Montag 13:00 c.t.-15:00, InfHS
• Unterlagen
– Buch: William Stallings, “Operating Systems”
– Präsentationen nach VO am Web
(siehe tuwis++, http://ti.tuwien.ac.at/rts )
• Prüfungen
– schriftlich, ohne Unterlagen, 90 Minuten
Termine: (27.10.2009), 25.1.2010
Anmeldung über Web-Seite
– mündlich: bei Bedarf
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
3
Ziele
• solides Grundverständnis über BS
• typische Konzepte und Mechanismen von BS
• Aufzeigen von Designentscheidungen, offenen
Fragestellungen
• Schwerpunkt “Synchronisation”
Nicht-Ziel: Vermittlung von Spezialwissen über
Windows, Linux, MacOS, etc.
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
4
Betriebssysteme –
eine Einführung
Peter Puschner
Institut für Technische Informatik
Peter Puschner
5
Betriebssystem – Was ist das?
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
6
• Wie entstanden die heutigen
Betriebssysteme?
• Was ist ein Betriebssystem?
• wichtige Grundkonzepte
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
7
Entstehung von
Betriebssystemen
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
8
Entstehung moderner BS
Von der technologischen Entwicklung und der
damit verbundenen Kostenentwicklung bestimmt
– Hardwarekosten
– Kosten der menschlichen Arbeitskraft
von teurer Hardware …
 Maximierung der Hardwareauslastung
… zu teurer Arbeitskraft
 Komfort und Unterstützung für Benutzer
Weitere Faktoren: Fehlerbehebung, neue Anforderungen
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
9
Serial Processing (1950)
• kein Betriebssystem
• direkte Programmierung der Hardware
• I/O: Schalter, Lampen; Kartenleser, Drucker
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
10
Serial Processing
Problem: Fehleranfälligkeit
Lösung: Unterprogrammbibliotheken für I/O
Problem: Setup benötigt viel Zeit
Lösung 1: Spezialist für Setup
Lösung 2: Monitor
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
11
Job-Ausführung mit Monitor
Job vom Eingabegerät in die
User Programm Area lesen
Interpretierung der JCL
Kommandos
Ausführung des
Anwendungsprogramms
Fortsetzung im Monitor
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
12
Monitor (1960)
Interrupt Processing
Device Drivers
Job Sequencing
JCL Interpreter
Job
Steuerkommandos (JCL)
+
Programm
User Program
Area
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
13
Monitor
•
•
•
•
Speicherschutz
Timer
Privilegierte Instruktionen
Interrupts
Problem: entweder CPU oder I/O-System
aktiv, der Rest der Maschine ist untätig
Lösung: parallele CPU und I/O Aktivität
 Pufferung und I/O Interrupts
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
14
Multiprogramming (1965)
Problem: Kaum ein Programm nützt CPU und
periphäre Hardware gleichmäßig aus
– CPU-intensive Programme (CPU bound)
– I/O-intensive Programme (I/O bound)
Lösung: Multiprogramming bzw. Multitasking
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
15
Multiprogrammed Batch Systems
run
wait
run
wait
run
A
wait
run
A
wait
run
B
wait
run
B
wait
run run
A B
Peter Puschner, TU Wien
run run
A B
Vorlesung Betriebssysteme, Einführung; WS 09/10
16
Multiprogrammed Batch Systems
Die “parallele” Ausführung von Programmen macht
neue Mechanismen notwendig, z.B.
• Speicherverwaltung
• Verwaltung der CPU und Ressourcen
(Scheduling)
Situation (ca. 1970): billiger gewordene Computer
sollen Produktivität teurer Arbeitskräfte fördern
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
17
Time-Sharing Systems
Problem: Mehrere Benutzer teilen einen Computer;
Warten auf Fertigstellung von Batch Jobs
Lösung: Preemptive Scheduling, Prioritäten
Problem: Daten und Programme sollen für
Benutzer leicht verfügbar sein
Lösung: Filesystem am Rechner
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
18
Weitere Entwicklung …
• billige HW  pro Benutzer ein Rechner (PC)
• Computer vermehrt für Verwaltung und
Austausch von Daten
 Networking
 Security
• Wachstum des Internet
 Middleware (Java API)
• Mobilität, Real-Time Voice und Video, ...
• Embedded Computing, Real-Time Comp.,
Pervasive Computing, …
 real-time …, power management …
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
19
Unix, Mac OS, Windows, ...
• 1972 "... the number of UNIX installations
has grown to 10 ..." (D. Ritchie, K. Thompson)
•
•
•
•
•
•
•
1981 MS-DOS auf IBM PC (4000 Zeilen Ass.)
1983 PC XT : Festplatte, ein Directory, 64 Files
1984 Apple Macintosh, Mac OS
1987 MINIX
1990 MS Windows 3.0, auf DOS aufsetzend
1991 erste Linux Version
1993 Windows NT (10+ Mio. Code-Zeilen)
multi-tasking, single-/multi-user System
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
20
Was ist ein
Betriebssystem?
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
21
Betriebssystem als Interface
• Interface zwischen Benutzer und Hardware
– virtuelle Maschine
– Ressourcenmanager
– stellt Programmierinterface zur Verfügung
… passt sich den Anforderungen des Benutzers an
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
22
Was interessiert uns …?
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
23
Betriebssystem - Sichten
Endbenutzer
Programmierer
Anwendungsprogramme
Betriebssystemdesigner
Utilities
Betriebssystem
Computerhardware
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
24
Betriebssystem als Dienstleister
•
•
•
•
•
•
Programmausführung
Programmerstellung
I/O, Filezugriff, Netzwerkkommunikation
Zugangskontrolle
Fehlererkennung und Behandlung
Logging (Überwachung, Accounting)
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
25
BS als Ressourcenmanager
•
•
•
•
keine externe Kontrollinstanz
verwendet selbst Ressourcen
gibt Ressourcen vorübergehend ab
hebt sich durch die Funktionalität von anderen
Programmen ab
– leitet den Prozessor bei der Verwendung der
Ressourcen und bei der Zeitzuteilung an Prozesse
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
26
einige Grundkonzepte
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
27
… Abstraktion …
• Abstraktion
– Prozesse
– “unendlich” großer Speicher, Files
– Synchronisation und Kommunikation
• Standard Interface - Portabilität
• Verwaltet die Ressourcen
– CPU, Arbeitsspeicher, Platte, Netzwerkzugriff
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
28
Einige Konzepte
•
•
•
•
•
Prozesse
Speicherverwaltung
Zugriffsschutz
Scheduling und Ressourcenverwaltung
Systemarchitektur
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
29
Prozess
Informell:
– Programm bei der Ausführung
– “Animated Spirit of a Program”
Anforderungen an Prozessmanagement:
–
–
–
–
–
Zeitzuteilung
Signalisieren von Ereignissen
Mutual Exclusion
Synchronisation
Deadlockvermeidung bzw. -behandlung
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
30
Prozess
Arbeitsspeicher
Register
Proz.Idx
i
Prozessliste
PC
j
Basis
Länge
Kontext
Daten
Prozess A
weitere
Register
Prog.
b
Prozess B l
Peter Puschner, TU Wien
i
b
l
...
Kontext
Daten
Prog.
Vorlesung Betriebssysteme, Einführung; WS 09/10
31
Speicherverwaltung
• Virtual Memory
– Verwendung von Speicher ohne Berücksichtigung der
Größe des physikalischen Speichers
– nur Teile laufender Programme werden im
physikalischen Speicher gehalten
– der Rest befindet sich auf dem Sekundärspeicher:
adressierbarer Speicher > Arbeitsspeicher
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
32
Speicherverwaltung
• Verwaltung der Speicherzuteilung an Prozesse
– Speicherzuteilung an Prozesse nach Bedarf
– Auslagern von Speicherinhalten auf
Sekundärspeicher
• Verwaltung der Zugriffsrechte
– Schutz und Isolation der Prozesse
– Gemeinsamer Speicher (Shared Memory)
• Filesystem
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
33
Memory Management Views
Virtueller
Prozessor
Virtueller
Speicher
Files
Benutzersicht
Realer
AdressHauptProzessor virt. übersetzg. phys. speicher
Adr.
Adr.
Sekundärspeicher
Swapping
Sicht des BS-Designers
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
34
Datenschutz und Sicherheit
• Access Control
– Wer darf welche Ressourcen verwenden
– erlaubte Operationen
•
•
•
•
Information flow control
Authentizität - Quelle der Information
Integrität - keine Verfälschungen
Verfügbarkeit
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
35
Scheduling, Ressourcenverwaltung
Zuteilung von Rechenzeit und Betriebsmitteln an
die Prozesse
• Fairness
• Effizienz
• Lifeness
• ...
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
36
Systemarchitektur
• Modularer Aufbau - überschaubare Teile
• klar definierte Interfaces: Module können ohne
Wechselwirkungen geändert werden
• Schichten
– jede Schicht erfüllt eine bestimmte Funktionalität
– höhere Schichten verwenden Services der
darunterliegenden Schichten
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
37
Ursprüngl. Unix-Schichtenmodell
Prozessor-HW single processor
Name
Objekte
7 Virtueller Speicher
6 Sekundärspeicher
5 primitive Prozesse
Seiten, Segmente
Datenblöcke, -kanäle
Prozesse, Ready list,
Semaphore
4 Interrupts
3 Prozeduren
2 Instruktionen
Interruptbehandlung
Prozeduren, Call Stack
Eval. Stack, skalare
Daten, Felder
1 Schaltkreise
Register, Gatter, Busse
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
38
Urspr. Unix-Schichtenmodell (2)
one or more processors
Name
13
12
11
10
Shell
User-Prozesse
Directories
Devices
9 Filesystem
8 Kommunikation
Peter Puschner, TU Wien
Objekte
Programmierumgebung
Benutzerprozesse
Directories
Drucker, Bildschirm,
Tastatur
Files
Pipes
Vorlesung Betriebssysteme, Einführung; WS 09/10
39
Windows Architektur (Bsp.)
User Mode
System
Processes
Services
Applications
Environment
Subsystems
Kernel Mode
Executive API
I/O
Window
Security
Plug’n Power Manager
Manager LPC Memory Process
Ref.
Facility Manager Manager
Play Manager Graphics
File
Monitor
Systems
Dev. Dr.
Object Manager
Device Drivers
Microkernel
Hardware Abstraction Layer (HAL)
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
40
Unix Architektur (SVR4)
a.out
elf
exec
switch
File mappings
Device
mappings
vnode/vfs FFS
interface s5fs
Virtual memory
framework
Anonymous
mappings
Disk driver
Tape
driver
Peter Puschner, TU Wien
NFS
Common
Facilities
RFS
Scheduler Time-sharing
framework processes
Block device
switch
System processes
Network
driver
Streams
tty driver
Vorlesung Betriebssysteme, Einführung; WS 09/10
41
Rückblick
• BS macht Computer “verwendbar”
• stellt Abstraktionen zur Verfügung
– Prozess, Speicher, Kommunikation, Synchronisation
• bietet ein portables Programmierinterface
• verwaltet Ressourcen
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
42
Ausblick
•
•
•
•
•
•
•
•
Prozesse, Threads
Parallelität, Synchronisation (Mutual Exclusion)
Deadlock
Speicherverwaltung (Virtual Memory)
Scheduling
Ein- und Ausgabe
Dateiverwaltung
Security
Peter Puschner, TU Wien
Vorlesung Betriebssysteme, Einführung; WS 09/10
43
Herunterladen