Upload
others
View
18
Download
0
Embed Size (px)
Citation preview
Betriebssysteme – eine Einführung
Peter Puschner Institut für Technische Informatik [email protected]
1
Peter Puschner, TU Wien
Betriebssystem – Was ist das?
Vorlesung Betriebssysteme, Einführung; WS 11/12 2
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 3
• Wie entstanden die heutigen Betriebssysteme?
• Was ist ein Betriebssystem?
• wichtige Grundkonzepte
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 4
Entstehung von Betriebssystemen
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 5
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 11/12 6
Serial Processing (1950) • kein Betriebssystem • direkte Programmierung der Hardware • I/O: Schalter, Lampen; Kartenleser, Drucker
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 7
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 11/12 8
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 11/12 9
Monitor (1960)
Interrupt Processing
Device Drivers Job Sequencing JCL Interpreter
User Program Area
Job
Steuerkommandos (JCL) +
Programm
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 10
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 11/12 11
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 11/12 12
Multiprogrammed Batch Systems run wait run wait
run A wait run
A wait
run B wait run
B wait
run A
run A
run B
run B
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 13
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 11/12 14
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 11/12 15
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 11/12 16
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 11/12 17
Was ist ein Betriebssystem?
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 18
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 11/12 19
Was interessiert uns …?
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 20
Computerhardware
Betriebssystem
Utilities
Betriebssystem - Sichten
Anwendungsprogramme
End- benutzer Programmierer
Betriebssystem- designer
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 21
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 11/12 22
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 11/12 23
einige Grundkonzepte
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 24
… 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 11/12 25
Einige Konzepte • Prozesse • Speicherverwaltung • Zugriffsschutz • Scheduling und Ressourcenverwaltung • Systemarchitektur
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 26
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 11/12 27
Prozess
Prozess- liste
i
j
Kontext Daten Prog.
Kontext Daten Prog.
Prozess A
Prozess B
Arbeitsspeicher Register
Proz.Idx i PC
Basis Länge
... weitere
Register
b l
b
l
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 28
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 11/12 29
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 11/12 30
Memory Management Views
Virtueller Prozessor
Virtueller Speicher Files
Realer Prozessor
Adress- übersetzg.
Haupt- speicher
Sekundär- speicher virt.
Adr. phys. Adr. Swapping
Benutzersicht
Sicht des BS-Designers
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 31
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 11/12 32
Scheduling, Ressourcenverwaltung Zuteilung von Rechenzeit und Betriebsmitteln an
die Prozesse • Fairness • Effizienz • Lifeness • ...
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 33
Systemarchitektur • Schichten
– jede Schicht erfüllt eine bestimmte Funktionalität – höhere Schichten verwenden Services der
darunterliegenden Schichten • Modularer Aufbau
– überschaubare Teile mit definierte Funktionalität – klar definierte Interfaces: Module können ohne
Wechselwirkungen geändert werden
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 34
Ursprüngl. Unix-Schichtenmodell Pr
ozes
sor-H
W
1 Schaltkreise Register, Gatter, Busse
2 Instruktionen Eval. Stack, skalare Daten, Felder
3 Prozeduren Prozeduren, Call Stack 4 Interrupts Interruptbehandlung
sing
le p
roce
ssor
5 6 7
primitive Prozesse Sekundärspeicher Virtueller Speicher
Prozesse, Ready list, Semaphore
Datenblöcke, -kanäle Seiten, Segmente
Name Objekte
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 35
Urspr. Unix-Schichtenmodell (2)
8 Kommunikation Pipes 9 Filesystem Files
10 Devices Drucker, Bildschirm, Tastatur
11 Directories Directories
one
or m
ore
proc
esso
rs
12 13
User-Prozesse Shell
Benutzerprozesse Programmierumgebung
Name Objekte
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 36
Windows Architektur (Bsp.)
Hardware Abstraction Layer (HAL) Device Drivers Microkernel
Object Manager
I/O Manager
File Systems
Window Manager Graphics Dev. Dr.
LPC Facility
Memory Manager
Process Manager
Security Ref.
Monitor
Plug’n Play
Power Manager
Executive API
System Processes Services Applications Environment
Subsystems
User Mode
Kernel Mode
Hardware Abstraction Layer (HAL) Device Drivers Microkernel
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 37
Unix Architektur (SVR4)
exec switch
Virtual memory framework
vnode/vfs interface
Scheduler framework
Block device switch
Streams
Common Facilities
a.out elf
File mappings
Device mappings
Anonymous mappings
Disk driver
Tape driver
Network driver
tty driver
Time-sharing processes
System processes
NFS
FFS
RFS
s5fs
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 38
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 11/12 39
Ausblick • Prozesse, Threads • Parallelität, Synchronisation (Mutual Exclusion) • Deadlock • Speicherverwaltung (Virtual Memory) • Scheduling • Ein- und Ausgabe • Dateiverwaltung • Networking • Security