47
Betriebssysteme Margarita Esponda Freie Universität Berlin WS 2011/2012 1

OS V1 Introduction 1 - inf.fu-berlin.de · Zwei Sichtweisen Ein Betriebssystem ist eine virtuelle Maschine, die von den Hardwaredetails abstrahiert und die Programmierung von Anwendungen

  • Upload
    others

  • View
    8

  • Download
    0

Embed Size (px)

Citation preview

Betriebssysteme

Margarita EspondaFreie Universität Berlin

WS 2011/2012

1

BetriebssystemeHeute

Definition eines Betriebssystems

Geschichte der Betriebssysteme

Prof. Dr. Margarita Esponda-Argüero

2

Was ist ein Betriebssystem?

Heutzutage weiß jeder,

was ein Betriebssystem

ist.

Prof. Dr. Margarita Esponda-Argüero

3

Was ist ein Betriebssystem?

Ein Betriebssystem ist der wichtigste Softwareteil

eines modernen Computersystems.

Ein Betriebssystem ermöglicht die grundlegende

Kommunikation zwischen Hardware und

Anwenderprogrammen.

Es verwaltet Betriebsmittel wie Speicher, Ein- und

Ausgabegeräte und steuert die Ausführung von

Programmen.

Prof. Dr. Margarita Esponda-Argüero

4

Was ist ein Betriebssystem?

Software zwischen der Hardware und den Anwendungsprogrammen

Betriebssystem

System-Programme

Hardware

Anwendungs-Programme

SoftwareWeb-Browser

Datenbanksysteme

Tabellenkalkulationsprogramme

SpieleInternetanwendungen

Multimediaanwendungen

Textverarbeitung

Compiler, Editoren, Kommandointerpreter, Fenstersystem, Programmierumgebungen usw.

Prof. Dr. Margarita Esponda-Argüero

5

Warum Betriebssysteme? Betriebssysteme sollen noch effizienter laufen.

Der Energieverbrauch spielt eine immer größere Rolle.

Sicherheitsprobleme sollen gelöst werden.

Neue Geräte brauchen neue Betriebssysteme.

Paralleles Hardware soll ausgenutzt werden.

Anwendungen werden besser, wenn die Vorteile der darunterliegenden Betriebssystems ausgenutzt werden.

Prof. Dr. Margarita Esponda-Argüero

6

Zwei SichtweisenEin Betriebssystem ist eine virtuelle Maschine, die von den

Hardwaredetails abstrahiert und die Programmierung von

Anwendungen dadurch erleichtert.

Ein Betriebssystem ist ein Ressourcen-Manager, der eine

kontrollierte Zuteilung von Prozessoren, Rechenzeit, Speicher

und Ein-Ausgabegeräten realisiert.

- macht Software portabel

- Zeit und Raum Zuteilung

- bietet Schutz

- macht endliche Hardware virtuell unendlich

Prof. Dr. Margarita Esponda-Argüero

7

Betriebssysteme

Heute

Definition eines Betriebssystems

Geschichte der Betriebssysteme

Prof. Dr. Margarita Esponda-Argüero

8

Die mobile Revolution

Sechziger Jahre

Mainframes (Tausende)Siebziger Jahre

MinicomputerAchtziger Jahre

PCs (Millionen)Neunziger Jahre

Vernetzte PCsErstes Jahrzehnt

Eingebettete und mobileRechner (Milliarden)

Fünfziger Jahre

Steinzeit der Computer

Prof. Dr. Margarita Esponda-Argüero

9

Betriebssysteme EntwicklungZeit Hardware Betriebssoftware

45 - 55 Röhren Lader

55 - 65 Transistor StapelsystemeBänder, Trommeln

65 - 75 Hochintegration TeilnehmersystemeDatenbanksystemeRechnernetzeDateisysteme, virtueller Speicher

75 - 85 VLSI Personal ComputingFenstersysteme

Client/Server-Systeme85 - 95 Schnelle Netze Verteilte Betriebssysteme

95 - 2005 Mobile Rechner Betriebssysteme für Mobile und Eingebettete Systeme

PlattenLSI Large Scale Integration

2005 - 2011 Mobile und Eingebettete Systeme mit Multimedia-Anwendungen

Prof. Dr. Margarita Esponda-Argüero

10

Betriebssysteme (1945-1955) Die ersten Computer hatten kein Betriebssystem

Kein Programm im heutigen Sinn

Elektronenröhren

Steckkarten

Prof. Dr. Margarita Esponda-Argüero

11

Das erste Betriebssystem

1953 EDVAC

Electronic Discrete Variable Computer

1024 Speicherworte

Aufgaben des Betriebssystems:

Die Ausführung des Programms zu verfolgen.

Unterprogramme wieder zu laden.

Dezimalzahlen in Binärzahlen zu verwandeln.

Selbstüberschreibung von Teilen, die nicht mehr benötigt werden.

Assembler Programme zu korrigieren.

Assembler Programme zu kompaktieren.

Prof. Dr. Margarita Esponda-Argüero

12

Betriebssysteme (1950-1955)

Lochkarten

Programmlader

1954

MIT's operating system

IBM 7011955

General Motors OS in 1955

UNIVAC 1103

Prof. Dr. Margarita Esponda-Argüero

13

Betriebssysteme (1945-1955) Die erste Computergeneration besaß nur einen Programmlader

Programmlader

Der Programmlader wurde nach Einschalten des Rechners geladen.

Der Programmlader las ein Programm, führte es aus und schrieb das

Ergebnis auf. Dann wurde das nächste Programm geladen.

nur ein Programm im Speicher

Prof. Dr. Margarita Esponda-Argüero

14

Betriebssysteme (1955-1965)

Mainframes

Transistor

Stapelsystem

1961 MIT

CTSS Compatible Time-Sharing System

Timesharing-Betriebssystem

Prof. Dr. Margarita Esponda-Argüero

15

Betriebssysteme (1955-1965) C EINLESEN DER DATEN READ (5,*,END=92) N,M WRITE (6,*) 'ORDNUNG ', N WRITE (6,*) 'BANDBREITE ', M IF (N.GT.NMAX) GOTO 91 IF (M.GT.MMAX) GOTO 91

Ein einfaches Betriebssystem las einen Job, führte ihn aus und schrieb das Ergebnis auf ein zweites Band.

2.346 2.3542.346 2.354 0.627 5.7652.346 2.3542.346 2.354 0.627 5.765

Stapelsystem

Überlappung von Lesen – Verarbeiten – DruckenTannenbaum

Fortran

16

Betriebssysteme 1961

MIT

First Timesharing System

CTSS Compatible Time-Sharing System

Demo-Version mit nur 3 Benutzern

Crisman, 1964. Interactive computing

Durchbruch in der Softwareentwicklung

Prof. Dr. Margarita Esponda-Argüero

17

Betriebssysteme (1965-1975)

Mainframes Minicomputers

Betriebssysteme

Assembler

Sehr teuer!

PDP-1 bis PDP-11

Betriebssysteme

Multics

Unix

BSD (Berkeley Software Distribution)

Beispiel:

Timesharing

Multiprogramming

LSI-Schaltungen (Large Scale Integration)

CTimesharing

IBM UNIVAC Burroughs

Prof. Dr. Margarita Esponda-Argüero

18

Betriebssysteme (1965-1975)

Programm 1

Programm 2

Programm 3

Betriebs-system

Speicher

TimesharingMultiprogramming

CPUSpeicher

Teilnehmerbetrieb

Prof. Dr. Margarita Esponda-Argüero

19

Ein/Aus-Routinen

Betriebssysteme (1965-1975) Timesharing

Monitor

Batch-Job 1

Batch-Job 2

Job 1

Job 2

Job 3

Prof. Dr. Margarita Esponda-Argüero

20

Erste Betriebssysteme Multiprogramming Timesharing

nur ein Programm

Schwache Nutzung des Hardwares

Kein Schutz vor fehlerhaften Programmen

Hardware wird besser benutzt.

Ein weiteres Programm wird gestartet, wenn das laufende Programm auf Ein/Ausgabe wartet.

Endlosschleifen

Probleme

Probleme

Speicherschutz

Probleme

Komplexität

Entwicklungskosten

Preemption

Speicherschutz

Prof. Dr. Margarita Esponda-Argüero

21

Betriebssysteme (1965-1975)

IBM Beispiel

Die Entwicklung des Betriebssystems verwandelte sich in einen Alptraum?

- Erste Verspätung bis 1965

- 60 Top-Programmierer

- 150 Top-Programmierer

- Zweite Verspätung bis 1967

- OS/360 Multiprogramming-System

- am Ende arbeiteten mehr als 1000 Leute in der Entwicklung.

- $500 000 000 (geplant waren nur $125 000 000)

- viele Fehler!

Prof. Dr. Margarita Esponda-Argüero

22

Betriebssysteme (1965-1975) IBM Beispiel

23

Betriebssysteme (1975-1985)

Minicomputers

Unix, System V, BSD-Unix, POSIX

Betriebssysteme

nur der Kernel in Assembler programmiert, der Rest in C

Hardware ist ständig billiger geworden

mit Unix entstehen viele neue Hardwarefirmen

nur ein C-Compiler ist nötig

Höhere Modularität

Höhere Portabilität

Mikrocomputers

VLSI-Schaltungen

CP/M

IBM PC

Disk Operating System

Einbenutzersystem

Ein Programm

XENIX

MS-DOS

DOS 1.0 8 KB

Control Program for Microcomputers

Prof. Dr. Margarita Esponda-Argüero

24

UNIX

Das UNIX-Betriebssystem entsteht nach dem Prinzip der

Einfachheit"simple is beautiful"

MULTICS

UNICS

Bell Labs, MIT und General Electric

Ken Thompson

Dennis Richie

Ken Thompson

C

PDP-11

UNIX8200 Zeilen C-Code

900 Zeilen Assembler-Code

abgespeckte Version von MULTICS

Prof. Dr. Margarita Esponda-Argüero

25

Betriebssysteme (1985-1995) VLSI Mikrocomputers

GUI Graphical User Interface Fenstersysteme

Netzwerkbetriebssysteme

Verteilte Systeme

WindowsDaraufgesetzte

graphische Oberfläche

1981 Xerox Star Apple‘s Macintosh 1984

Windows 95

26

Betriebssysteme (1991)

Linux Torvalds schrieb:

. . .

Hello everybody out there using minix –

I‘m doing a (free) operating system (just a

hobby, won‘t be big and professional like gnu)

for 386(486) AT clones . . .

1991 Linux 0.0.1 auf Intel 386 beschränkt.

1994 Linux Version 1.0 165000 Zeilen Code

1996 Linux Version 2.0 470000 Zeilen Code

von Tanenbaum für

Lernzwecke entwickelt

Prof. Dr. Margarita Esponda-Argüero

27

Betriebssysteme (1995-2011) Mikrocomputers

Windows Vista ca. 50 Millionen Quellcode Linien SLOCs

Windows 2000 ca. 40 Millionen Quellcode Linien SLOCs ??

Insgesamt 5,245 Mitarbeiter900 Entwickler 1,800 Tester

Microsoft:

"the largest concerted software project in human history"

2007

Linux Debian 2.2 ca. 59 Millionen SLOCs Linux+GNU

Linux Debian 3.0 (2002) ca. 105 Millionen SLOCs Linux+GNU

Linux Debian 4.0 ca. 283 Millionen SLOCs Linux+GNU

Mac OS X 10,4 ca. 86 Millionen SLOCs Darwin+Systemsoftware

Prof. Dr. Margarita Esponda-Argüero

28

Betriebssysteme

"An elephant is a mouse with an operating system.“

Donald Knuth sagt:

=+ Betriebssystem

Prof. Dr. Margarita Esponda-Argüero

29

Betriebssysteme (1995-2011)

AppelShare . .MacOS X Server (basiert auf BSD Unix)

Red Hat Enterprise Linux 6

Serverbetriebssysteme

freeBSD Devian GNU/Linux

Windows Server 2011

Windows NT...

Ressourcen

Fehlertoleranz

Nebenläufigkeit

Netzsicherheit

30

Betriebssysteme (2000-2011) Mobile Rechner

2007Mobile PCs

100 Millionen

Ultra Mobile PCs

Windows VistaLinux

190 Millionen Geräte mit Android bis Oktober 2011

Symbian "Belle" Marktführer

2010

5 MilliardenWindows Mobile 2008 12% Markt

RMI BlackBerry

Mac OS auf iPhone

Windows XP Tablet PC Edition 2005

Tablet PCs

Palm OS → Garnet OS → Acces Linus

Prof. Dr. Margarita Esponda-Argüero

31

Faktoren für eine höhere Nutzbarkeit von mobilen Geräten

Tragbar

Lange Betriebsdauer

klein und leicht

Kommunikation

sehr energiesparsam

Echtzeitfähig

sehr effiziente SignalverarbeitungBandbreite

Prof. Dr. Margarita Esponda-Argüero

32

DSPDigital Signal Processors

Mehr als 96% der heutigen

Prozessoren sind DSP und

eingebettete Prozessoren

DSP Prozessoren sind zu mobilen Geräten wie General Purpose Processors (GPP) zu Desktops

GPU Graphics Processing Unit

Prof. Dr. Margarita Esponda-Argüero

33

Genes Gesetz: Immer weniger Energie pro MIPS

Gene 2000

34

GPP Architektur vs. DSP

Große Bandbreite

ProgrammSpeicher

DatenSpeicher

DSPDaten

Speicher

DatenSpeicher

Programm+

DatenSpeicher

GPP

Prof. Dr. Margarita Esponda-Argüero

35

Lange Betriebsdauer

CMOS Energie ~ C V2 F

Die Energie ist proportional zum Quadrat der Spannung V, der Kapazität C und der Frequenz F

Parallele Architekturen

½ V

Energie ~ ¼ C V2 F½ F

Energie ~ C V2 F18 ½ Performance⇒

verdopple die Anzahl der Arithmetischen Einheiten

Ein Viertel der Energie ohne PerformanceverlustProf. Dr. Margarita Esponda-Argüero

36

Texas Instruments TMS320C55x

CPU

InstructionBuffer

ProgramFlow

AddressDataFlow

DataComputation

Program

Data Read

Data Read

Data Read

Data Write

Data Write

Harvard Architektur

Prof. Dr. Margarita Esponda-Argüero

37

Mehrfache Arithmetische Einheiten +

Spezialisierte Instruktionen

acc = acc + a*b

DSP

mac x0,y0,a x:(r0)+,x0 y:(r4)+,y0

GPP

mpy r2, r3, r4

Add r4, r5, r5

mov (r0), r2

mov (r1), r3

inc r0

inc r1

CISCRISC

Prof. Dr. Margarita Esponda-Argüero

38

Mehrfache Arithmetische Einheiten (MACs, ALU, Shifter)

CPU

InstructionBuffer

ProgramFlow

AddressDataFlow

DataComputation

Program

Data Read

Data Read

Data Read

Data Write

Data Write

Data Computation Unit

39

Variable Befehlslänge für höheren Durchsatz

Kompression durch Compiler

Programm

CPU

Programm Speicher

Very Long Instruction Word

Dekompression

Prof. Dr. Margarita Esponda-Argüero

40

Mobile Geräte Mobile Geräte der neuen Generation integrieren

verschiedene Datendienste.

Prozessoren für diese Geräte besitzen eine hybride

Architektur.

Das Grundproblem ist und bleibt der Energieverbrauch.

Hardware-Architektur-Design geht Hand in Hand mit der

Software-Entwicklung (Software-Hardware-Synergie).

Betriebssysteme müssen Energie-Management

haben.

Prof. Dr. Margarita Esponda-Argüero

41

Betriebssysteme (2000-2011) Eingebettete Betriebssysteme

Es gibt weit mehr als 100 Betriebssysteme für eingebettete Systeme, wie Handys, Kameras, Automobile , Hausgeräte oder Industrieautomaten.

Windows CE

Embedded Linux

Nucleus OS

Embedded Linux

VxWorks

Windows XP Embedded

Echtzeitbetriebssysteme

für mobile Endgeräte

QNX Neutrino RTOS

Prof. Dr. Margarita Esponda-Argüero

42

Betriebssysteme (2000-2011) Eingebettete Betriebssysteme

COS Chipcard Operating System Smart Card

ACOS Austria Card ACOS / ACOS2 Advanced Card Systems Basic Card Zeitcontrol CARDOS Siemens DKCCOS Safenet (Datakey) GPK Gemplus Java Card Java Card Forum Micardo ORGA MULTOS Maosco SETCOS SETEC (Finnland) SiCrypt Infineon STARCOS / SECCOS G & D TCOS Telesec

Prof. Dr. Margarita Esponda-Argüero

43

Moderne RechensystemeVerschiedene Parallelisierungsformen

• Mehrere komplette Prozessoren auf einem Chip

• Koprozessoren

• Parallele Funktionseinheiten

• Hardware-Multithreading

• Teilwort-Parallelität (SIMD)

• Überlappte Ausführung (pipelining)

Beispiel:

Hauptgrund:

Die Verarbeitung von Multimediadaten

Prof. Dr. Margarita Esponda-Argüero

44

Betriebssysteme

Betriebssysteme

Supercomputer-

Server-

Multiprozessor-

PC-

Echtzeit-

Eingebettete-

Chipkarten-

PDA-

Multimedia-Prof. Dr. Margarita Esponda-Argüero

45

Typische Struktur eines Betriebssystems

Hardware

HAL Schnittstelle zur Hardware

Dateisystem Treiber ....

Prozess-, Ressourcen-Verwaltung

System-API Systemaufrufe

Kommandozeileninterpreter, Sprachübersetzer, Systembibliotheken

Programme Bibliotheken

Kernel-Ebene

Benutzer-Ebene

Schnittstelle zur Hardware

Schnittstelle zum Kernel

Prof. Dr. Margarita Esponda-Argüero

46

Grundfunktionalität von BetriebssystemenProzessverwaltung

Erzeugen, Starten, Anhalten und Löschen von Prozessen

Zuweisung von Ressourcen zu Prozessen

Schutz von Prozessen, durch Isolierung

Kommunikation zwischen Prozessen

Geräteverwaltung

Speicherverwaltung

Dateiverwaltung und Objektverwaltung

Steuerung der Geräte (Driver)

Abstraktion von Hardwaredetails

Schnittstelle für höhere Schichten

Verwaltung des Hauptspeichers und des virtuellen Speichers

Teilung und Schutz von Speicherbereichen

Netzkommunikation

Energieverwaltung Prof. Dr. Margarita Esponda-Argüero

47