39
Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik [email protected] 1

Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik [email protected] 1

  • Upload
    others

  • View
    18

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Betriebssysteme – eine Einführung

Peter Puschner Institut für Technische Informatik [email protected]

1  

Page 2: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien

Betriebssystem – Was ist das?

Vorlesung Betriebssysteme, Einführung; WS 11/12 2

Page 3: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 3

•  Wie entstanden die heutigen Betriebssysteme?

•  Was ist ein Betriebssystem?

•  wichtige Grundkonzepte

Page 4: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 4

Entstehung von Betriebssystemen

Page 5: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 6: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 7: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 8: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 9: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 10: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 11: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 12: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 13: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 14: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 15: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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 …

Page 16: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 17: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 17

Was ist ein Betriebssystem?

Page 18: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 19: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 19

Was interessiert uns …?

Page 20: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 20

Computerhardware

Betriebssystem

Utilities

Betriebssystem - Sichten

Anwendungsprogramme

End- benutzer Programmierer

Betriebssystem- designer

Page 21: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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)

Page 22: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 23: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 23

einige Grundkonzepte

Page 24: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 25: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 11/12 25

Einige Konzepte •  Prozesse •  Speicherverwaltung •  Zugriffsschutz •  Scheduling und Ressourcenverwaltung •  Systemarchitektur

Page 26: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 27: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 28: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 29: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 30: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 31: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 32: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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 •  ...

Page 33: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 34: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 35: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 36: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 37: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 38: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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

Page 39: Betriebssysteme – eine Einführung · Betriebssysteme – eine Einführung Peter Puschner Institut für Technische Informatik peter@vmars.tuwien.ac.at 1

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