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

Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

  • Upload
    others

  • View
    9

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Betriebssysteme –eine EinführungPeter PuschnerInstitut für Technische [email protected]

Page 2: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien

Betriebssystem – Was ist das?

2Vorlesung Betriebssysteme, Einführung; WS 19/20

Page 3: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 3

• Wie entstanden die heutigen Betriebssysteme?

• Was ist ein Betriebssystem?• wichtige Grundkonzepte

Page 4: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 4

Entstehung von Betriebssystemen

Page 5: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 5

Entstehung moderner BSVon der technologischen Entwicklung und der

damit verbundenen Kostenentwicklung bestimmt– Gerätekosten– Kosten der menschlichen Arbeitskraft

von teurem Gerät …Maximierung der Auslastung

… zu teurer ArbeitskraftKomfort und Unterstützung für Benutzer

Weitere Faktoren: Fehlerbehebung, neue Anforderungen

Page 6: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien 6

Serial Processing (1950)• kein Betriebssystem• direkte Programmierung der Hardware• I/O: Schalter, Lampen; Kartenleser, Drucker

Vorlesung Betriebssysteme, Einführung; WS 19/20

Page 7: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien

Problem: FehleranfälligkeitLösung: Unterprogrammbibliotheken für I/O

Vorlesung Betriebssysteme, Einführung; WS 19/20 7

Serial Processing

Problem: Setup benötigt viel ZeitLösung 1: Spezialist für SetupLösung 2: Monitor

Page 8: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 8

Job-Ausführung mit Monitor

Job vom Eingabegerät in dieUser Program Area lesen

Interpretierung der JCLKommandos

Ausführung desAnwendungsprogramms

Fortsetzung im Monitor

Page 9: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 9

Monitor (1960)

Interrupt Processing

Device Drivers

Job Sequencing

JCL Interpreter

User ProgramArea

Job

Steuerkommandos (JCL)+

Programm

Page 10: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 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ätPufferung und I/O Interrupts

Page 11: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 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 - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

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

Multiprogrammed Batch Systemsrun wait run wait

runA wait run

Await

runB wait run

Bwait

runA

runA

runB

runB

Page 13: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 13

Multiprogrammed Batch SystemsDie “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 - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 14

Time-Sharing SystemsProblem: Mehrere Benutzer teilen einen Computer;

Warten auf Fertigstellung von (Batch) JobsLö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 - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 15

Weitere Entwicklung …• billige HW pro Benutzer ein Rechner (PC)• Computer in Büro und Kommunikation

GUIsNetworking Security

• Wachstum des InternetMiddleware (Java API, …)

• Mobilität, Voice und Video, ...• Embedded Computing, Internet of Things

real-time …, energy management …• Multicores, …

Page 16: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 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• 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 - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 17

Was ist ein Betriebssystem?

Page 18: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 18

Betriebssystem = …• Interface• Vituelle Maschine• Dienstleister• Ressourcenmanager

… passt sich den Anforderungen des Benutzers an

Page 19: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

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

Benutzer-Computerinterface

AnwendungsprogrammeLibraries/Utilities

Betriebssystem

Ausführunghardware

BusAdr.übersetzung

I/O dev.,Network

MainMemory

Application programming interface (API)

Application binary interface (ABI)

Instruction Set Architecture(ISA)

Software

Hardware

User

Programmer

OS Designer

Page 20: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

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

Betriebssystem als Dienstleister• Programmausführung• Programmerstellung• I/O, Filezugriff, Netzwerkkommunikation• Zugangskontrolle• Fehlererkennung und Behandlung• Logging (Überwachung, Tuning, Accounting)

Page 21: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 21

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 22: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 22

einige Grundkonzepte

Page 23: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 23

… Abstraktion … • “ungestörte” Programmabarbeitung

à Prozess• “unendlich” großer Speicher, Files

à Speicherverwaltung• “private” Maschine

à Zugriffsschutz, Datensicherheit

Page 24: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 24

ProzessInformell:

– Programm bei der Ausführung

Anforderungen an Prozessmanagement:– Zeitzuteilung– Signalisieren von Ereignissen (z.B. I/O)– Vermeidung von Zugriffskonflikten– Synchronisation

Page 25: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 25

Prozess

Prozess-liste

i

j

KontextDatenProg.

KontextDatenProg.

Prozess A

Prozess B

Arbeitsspeicher Register

Proz.Idx iPC

BasisLänge

...weitere

Register

bl

b

l

Page 26: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 26

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 27: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 27

Memory Management Views

VirtuellerProzessor

VirtuellerSpeicher Files

RealerProzessor

Adress-übersetzg.

Haupt-speicher

Sekundär-speichervirt.

Adr.phys.Adr. Paging,

Swapping

Benutzersicht

Sicht des BS-Designers

Page 28: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 28

Speicherverwaltung• Verwaltung der Speicherzuteilung an Prozesse

– Speicherzuteilung an Prozesse nach Bedarf– Verschieben von Speicherinhalten zwischen Haupt-

und Sekundärspeicher• Verwaltung der Zugriffsrechte

– Schutz und Isolation der Prozesse– Gemeinsamer Speicher (Shared Memory)

• Filesystem

Page 29: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 29

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 30: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 30

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 31: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 31

Ursprüngl. Unix-SchichtenmodellPr

ozes

sor-H

W

1 Schaltkreise Register, Gatter, Busse

2 Instruktionen Eval. Stack, skalareDaten, 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 32: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 32

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 33: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 33

Windows Architektur (Bsp.)

Hardware Abstraction Layer (HAL)Device Drivers Microkernel

Object Manager

I/OManager

FileSystems

WindowManagerGraphicsDev. Dr.

LPCFacility

MemoryManager

ProcessManager

SecurityRef.

Monitor

Plug’nPlay

PowerManager

Executive API

SystemProcesses Services Applications Environment

Subsystems

User Mode

Kernel Mode

Hardware Abstraction Layer (HAL)Device Drivers Microkernel

Page 34: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 34

Rückblick• BS macht Computer “verwendbar”• stellt Abstraktionen zur Verfügung

– Bsp.: Prozess, Speicher, Kommunikation• bietet ein portables Interface• verwaltet Ressourcen

Page 35: Betriebssysteme - Institute of Computer Engineering (E191) · Entstehung moderner BS Von der technologischen Entwicklungund der damit verbundenen Kostenentwicklungbestimmt –Gerätekosten

Peter Puschner, TU Wien Vorlesung Betriebssysteme, Einführung; WS 19/20 35

Ausblick• Prozesse, Threads• Parallelität, Synchronisation (Mutual Exclusion)• Deadlock• Speicherverwaltung (Virtual Memory)• Scheduling• Ein- und Ausgabe• Dateiverwaltung• Security