willkommen vo betriebssysteme€¦ · jcl interpreter steuerkommandos (jcl) + programm user program...
TRANSCRIPT
Willkommen zur
VO BetriebssystemePeter PuschnerI tit t fü T h i h I f tikInstitut für Technische [email protected]
Peter Puschner 1
OrganisatorischesOrganisatorisches• Vorlesung: Montag 13:00c.t.-15:00, InfHSg g ,• Unterlagen
– Buch: William Stallings, “Operating Systems”g p g y– Präsentationen nach VO am Web
(siehe tuwis++, http://ti.tuwien.ac.at/rts )• Prüfungen
– schriftlich, ohne Unterlagen, 90 MinutenTermine: (22 10 2008) 14 1 2009Termine: (22.10.2008), 14.1.2009Anmeldung über Web-Seite
– mündlich: bei Bedarf
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 2
Betriebssysteme –eine EinführungPeter PuschnerInstitut für Technische Informatik
Peter Puschner 3
Betriebssystem – Was ist das?Betriebssystem Was ist das?
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 4
• Wie entstanden die heutigenWie entstanden die heutigen Betriebssysteme?
• Was ist ein Betriebssystem?
• wichtige Grundkonzepte• wichtige Grundkonzepte
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 5
Entstehung von gBetriebssystemeny
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 6
Entstehung moderner BSEntstehung moderner BSVon der technologischen Entwicklung und der g g
damit verbundenen Kostenentwicklung bestimmt– Hardwarekosten– Kosten der menschlichen Arbeitskraft
teure Hardwareteure HardwareMaximierung der Hardwareauslastung
teure Arbeitskraftteure ArbeitskraftKomfort und Unterstützung für Benutzer
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 7
Weitere Faktoren: Fehlerbehebung, neue Anforderungen
Serial Processing (1950)Serial Processing (1950)• kein Betriebssystemy• direkte Programmierung der Hardware• I/O: Schalter, Lampen; Kartenleser, DruckerI/O: Schalter, Lampen; Kartenleser, Drucker
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 8
Serial ProcessingSerial ProcessingProblem: FehleranfälligkeitgLösung: Unterprogrammbibliotheken für I/O
Problem: Setup benötigt viel ZeitLösung 1: Spezialist für SetupLösung 1: Spezialist für SetupLösung 2: Monitor
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 9
Job-Ausführung mit MonitorJob Ausführung mit Monitor
Job vom Eingabegerät in dieUser Programm Area lesen
Interpretierung der JCLKommandos
Ausführung desAnwendungsprogramms
Fortsetzung im Monitor
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 10
Monitor (1960)Monitor (1960)
iInterrupt Processing
Device Drivers Job
Job SequencingJCL Interpreter
Steuerkommandos (JCL)+
ProgrammUser Program
Area
Programm
Area
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 11
MonitorMonitor• Speicherschutz• Timer• Privilegierte Instruktionen• Interrupts
Problem: entweder CPU oder I/O-System aktiv der Rest der Maschine ist untätigaktiv, der Rest der Maschine ist untätig
Lösung: parallele CPU und I/O AktivitätPufferung und I/O Interrupts
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 12
g p
Multiprogramming (1965)Multiprogramming (1965)Problem: Kaum ein Programm nützt CPU und g
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 08/09 13
Multiprogrammed Batch SystemsMultiprogrammed Batch Systemsrun wait run wait
runA wait run
Await
runB wait run
Bwait
runA
runA
runB
runB
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 14
Multiprogrammed Batch SystemsMultiprogrammed Batch SystemsDie “parallele” Ausführung von Programmen macht p g g
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 08/09 15
Time-Sharing SystemsTime Sharing SystemsProblem: Mehrere Benutzer teilen einen Computer; p ;
Warten auf Fertigstellung von Batch JobsLösung: Preemptive Scheduling, Prioritäten
Problem: Daten und Programme sollen für gBenutzer leicht verfügbar sein
Lösung: Filesystem am Rechner
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 16
Weitere EntwicklungWeitere Entwicklung …• billige HW pro Benutzer ein Rechner (PC)• Computer vermehrt für Verwaltung und
Austausch von DatenN t kiNetworking Security
• Wachstum des Internet• Wachstum des InternetMiddleware (Java API)
• Mobilität Real Time Voice und Video• Mobilität, Real-Time Voice und Video, ...• Embedded Computing, Real-Time Comp.,
Pervasive Computing
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 17
Pervasive Computing, …real-time …, power management …
Unix Mac OS WindowsUnix, Mac OS, Windows, ...• 1972 "... the number of UNIX installations h t 10 " (D Ritchie K Thompson)has grown to 10 ..." (D. Ritchie, K. Thompson)
• 1981 MS-DOS auf IBM PC (4000 Zeilen Ass.)1983 PC XT F t l tt i Di t 64 Fil• 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)
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 18
multi-tasking, single-/multi-user System
Was ist ein Betriebssystem? y
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 19
Betriebssystem als InterfaceBetriebssystem 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 08/09 20
Was interessiert uns ?Was interessiert uns …?
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 21
Betriebssystem - SichtenBetriebssystem Sichten
End-Endbenutzer Programmierer
AnwendungsprogrammeBetriebssystem-
designer
Utilities
Computerhardware
Betriebssystem
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 22
Computerhardware
Betriebssystem als DienstleisterBetriebssystem als Dienstleister• Programmausführungg g• Programmerstellung• I/O, Filezugriff, NetzwerkkommunikationI/O, Filezugriff, Netzwerkkommunikation• Zugangskontrolle• Fehlererkennung und BehandlungFehlererkennung und Behandlung• Logging (Überwachung, Accounting)
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 23
BS als RessourcenmanagerBS als Ressourcenmanager• keine externe Kontrollinstanz• verwendet selbst Ressourcen• gibt Ressourcen vorübergehend abgibt Ressourcen vorübergehend ab• hebt sich durch die Funktionalität von anderen
Programmen abg– leitet den Prozessor bei der Verwendung der
Ressourcen und bei der Zeitzuteilung an Prozesse
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 24
i i G dk teinige Grundkonzepte
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 25
Abstraktion… 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 08/09 26
Einige KonzepteEinige Konzepte• Prozesse• Speicherverwaltung• ZugriffsschutzZugriffsschutz• Scheduling und Ressourcenverwaltung• SystemarchitekturSystemarchitektur
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 27
ProzessProzessInformell:
– Programm bei der Ausführung– “Animated Spirit of a Program”
Anforderungen an Prozessmanagement:– Zeitzuteilung– Signalisieren von Ereignissen
M t l E l i– Mutual Exclusion– Synchronisation– Deadlockvermeidung bzw -behandlung
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 28
– Deadlockvermeidung bzw. -behandlung
ProzessProzessArbeitsspeicher Register
P Id iProzess-liste
i
j
Proz.Idx iPC
Basis bj
Kontext
BasisLänge
weitere
bl
DatenProg.
Prozess A ...weitere
Register
KontextDatenProzess B
b
l
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 29
Prog.
SpeicherverwaltungSpeicherverwaltung• Virtual Memoryy
– 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:der Rest befindet sich auf dem Sekundärspeicher:adressierbarer Speicher > Arbeitsspeicher
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 30
SpeicherverwaltungSpeicherverwaltung• Verwaltung der Speicherzuteilung an Prozesseg p g
– Speicherzuteilung an Prozesse nach Bedarf– Auslagern von Speicherinhalten auf
Sekundärspeicher• Verwaltung der Zugriffsrechte
S h t d I l ti d P– Schutz und Isolation der Prozesse– Gemeinsamer Speicher (Shared Memory)
• Filesystem• Filesystem
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 31
Memory Management ViewsMemory Management Views
VirtuellerProzessor
VirtuellerSpeicher Files
Benutzersicht
RealerP
Adress-b
Haupt-i h
Sekundär-i hhProzessor übersetzg. speicher speichervirt.
Adr.phys.Adr. Swapping
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 32
Sicht des BS-Designers
Datenschutz und SicherheitDatenschutz 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ügbarkeitg
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 33
Scheduling RessourcenverwaltungScheduling, RessourcenverwaltungZuteilung von Rechenzeit und Betriebsmitteln an g
die Prozesse• Fairness• Behandlung verschiedenartiger Anforderungen• Effizienz• Lifeness
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 34
SystemarchitekturSystemarchitektur• 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 08/09 35
Ursprüngl Unix-SchichtenmodellUrsprüngl. Unix SchichtenmodellName Objekte
roce
ssor
67
SekundärspeicherVirtueller Speicher
Datenblöcke, -kanäleSeiten, Segmente
sing
le p
r
5 primitive Prozessep
Prozesse, Ready list,Semaphore
,
or-H
W
3 Prozeduren Prozeduren, Call Stack4 Interrupts Interruptbehandlung
sPr
ozes
so
1 Schaltkreise Register Gatter Busse
2 Instruktionen Eval. Stack, skalareDaten, Felder
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 36
P 1 Schaltkreise Register, Gatter, Busse
Urspr Unix-Schichtenmodell (2)Urspr. Unix Schichtenmodell (2)Name Objekte
esso
rs
1213
User-ProzesseShell
BenutzerprozesseProgrammierumgebung
10 Devices Drucker, Bildschirm,11 Directories Directories
ore
proc
e p
9 Filesystem FilesTastatur
ne o
r mo
8 Kommunikation Pipeson
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 37
Windows Architektur (Bsp )Windows Architektur (Bsp.)User Mode
SystemProcessesSystem
Processes ServicesServices ApplicationsApplications EnvironmentSubsystems
EnvironmentSubsystems
// i di d
Executive APIExecutive APIKernel Mode
I/OManager
I/OManager
FileS t
FileS t
WindowManagerWindowManagerGraphicsD DGraphicsD D
LPCFacility
LPCFacility
MemoryManagerMemoryManager
ProcessManagerProcessManager
SecurityRef.
Monitor
SecurityRef.
Monitor
Plug’nPlay
Plug’nPlay
PowerManagerPower
Manager
Device DriversDevice Drivers MicrokernelMicrokernel
Object ManagerObject ManagerSystemsSystems Dev. Dr.Dev. Dr.
Device Drivers Microkernel
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 38
Hardware Abstraction Layer (HAL)Hardware Abstraction Layer (HAL)Device DriversDevice Drivers MicrokernelMicrokernel
Hardware Abstraction Layer (HAL)Device Drivers Microkernel
Unix Architektur (SVR4)Unix Architektur (SVR4)
execa.outelf
execswitch
Virtual memory vnode/vfs
File mappings
DeviceNFS
FFSVirtual memoryframework
vnode/vfsinterface
Common
mappings
Anonymousmappings
FFS
RFS
s5fs
SchedulerBlock device
CommonFacilities
mappings
i k d iTime-sharing
S
frameworkswitch
S
Disk driver
Taped i
processes
System processes
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 39
StreamsdriverNetwork
drivertty driver
RückblickRückblick• BS macht Computer “verwendbar”p• stellt Abstraktionen zur Verfügung
– Prozess, Speicher, Kommunikation, Synchronisationp y• bietet ein portables Programmierinterface• verwaltet Ressourcen
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 40
AusblickAusblick• Prozesse, Threads,• Parallelität, Synchronisation (Mutual Exclusion)• DeadlockDeadlock• Speicherverwaltung (Virtual Memory)• SchedulingScheduling• Ein- und Ausgabe• Dateiverwaltung• Dateiverwaltung• Security
Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 08/09 41