Betriebssysteme - Freie Universität Berlin

Transcription

Betriebssysteme - Freie Universität Berlin
Betriebssysteme
Margarita Esponda
Freie Universität Berlin
WS 2011/2012
1
Betriebssysteme
Heute
 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?
Datenbanksysteme
Spiele
Internetanwendungen Textverarbeitung
Tabellenkalkulationsprogramme
Multimediaanwendungen Web-Browser
AnwendungsProgramme
Compiler, Editoren, Kommandointerpreter,
Fenstersystem, Programmierumgebungen usw.
SystemProgramme
Software zwischen der Hardware und den
Anwendungsprogrammen
Software
Betriebssystem
Hardware
Prof. Dr. Margarita Esponda-Argüero
5
Warum Betriebssysteme?
Betriebssysteme sollen noch effizienter laufen.
Paralleles Hardware soll ausgenutzt werden.
Der Energieverbrauch spielt eine immer größere Rolle.
Sicherheitsprobleme sollen gelöst werden.
Neue Geräte brauchen neue Betriebssysteme.
Anwendungen werden besser, wenn die Vorteile
der darunterliegenden Betriebssystems
ausgenutzt werden.
Prof. Dr. Margarita Esponda-Argüero
6
Zwei Sichtweisen
Ein Betriebssystem ist eine virtuelle Maschine, die von den
Hardwaredetails abstrahiert und die Programmierung von
Anwendungen dadurch erleichtert.
- macht Software portabel
Ein Betriebssystem ist ein Ressourcen-Manager, der eine
kontrollierte Zuteilung von Prozessoren, Rechenzeit, Speicher
und Ein-Ausgabegeräten realisiert.
- 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
Fünfziger Jahre
Sechziger Jahre
Steinzeit der Computer
Siebziger Jahre
Mainframes (Tausende)
Achtziger Jahre
Minicomputer
Neunziger Jahre
PCs (Millionen)
Erstes Jahrzehnt
Vernetzte PCs
Eingebettete und mobile
Rechner (Milliarden)
Prof. Dr. Margarita Esponda-Argüero
9
Betriebssysteme Entwicklung
Zeit
Hardware
Betriebssoftware
45 - 55
Röhren
Lader
55 - 65
Transistor
Stapelsysteme
Bänder, Trommeln
65 - 75
75 - 85
Hochintegration
Teilnehmersysteme
LSI Large Scale Integration
Platten
Datenbanksysteme
Rechnernetze
Dateisysteme, virtueller Speicher
VLSI
Personal Computing
Fenstersysteme
85 - 95
Schnelle Netze
Verteilte Betriebssysteme
Client/Server-Systeme
95 - 2005 Mobile Rechner
Betriebssysteme für Mobile
und Eingebettete Systeme
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
Steckkarten
Elektronenröhren
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)
Programmlader
1954
Lochkarten
UNIVAC 1103
MIT's operating system
1955
IBM 701
General Motors OS in 1955
Prof. Dr. Margarita Esponda-Argüero
13
Betriebssysteme (1945-1955)
Die erste Computergeneration besaß nur einen 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.
Programmlader
nur ein
Programm im
Speicher
Prof. Dr. Margarita Esponda-Argüero
14
Betriebssysteme (1955-1965)
Transistor
Mainframes
Stapelsystem
1961 MIT
CTSS
Compatible Time-Sharing System
Timesharing-Betriebssystem
Prof. Dr. Margarita Esponda-Argüero
15
Betriebssysteme (1955-1965)
Fortran
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
Stapelsystem
Ein einfaches Betriebssystem las
einen Job, führte ihn aus und schrieb
das Ergebnis auf ein zweites Band.
2.346
2.346
0.627
2.346
2.346
0.627
2.354
2.354
5.765
2.354
2.354
5.765
Tannenbaum
Überlappung von Lesen – Verarbeiten – Drucken
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)
LSI-Schaltungen
Mainframes
IBM
UNIVAC
Burroughs
Betriebssysteme
Multiprogramming
Timesharing
Assembler
Sehr teuer!
(Large Scale Integration)
Minicomputers
Beispiel:
PDP-1 bis PDP-11
Betriebssysteme
Multics
C
Unix
BSD (Berkeley Software Distribution)
Timesharing
Prof. Dr. Margarita Esponda-Argüero
18
Betriebssysteme (1965-1975)
Multiprogramming
Timesharing
Teilnehmerbetrieb
Programm 1
Programm 2
Speicher
Speicher
CPU
Programm 3
Betriebssystem
Prof. Dr. Margarita Esponda-Argüero
19
Betriebssysteme (1965-1975)
Timesharing
Ein/Aus-Routinen
Monitor
Batch-Job 1
Batch-Job 2
Job 1
Job 2
Job 3
Prof. Dr. Margarita Esponda-Argüero
20
Erste
Betriebssysteme
Probleme
nur ein Programm
Schwache Nutzung
des Hardwares
Kein Schutz vor
fehlerhaften
Programmen
Multiprogramming
Hardware wird
besser benutzt.
Ein weiteres
Programm wird
gestartet, wenn das
laufende Programm
auf Ein/Ausgabe
wartet.
Probleme
Endlosschleifen
Timesharing
Preemption
Speicherschutz
Probleme
Komplexität
Entwicklungskosten
Speicherschutz
Prof. Dr. Margarita Esponda-Argüero
21
Betriebssysteme (1965-1975)
Die Entwicklung des Betriebssystems verwandelte sich in einen
Alptraum?
IBM
Beispiel
- OS/360 Multiprogramming-System
- 60 Top-Programmierer
- Erste Verspätung bis 1965
- 150 Top-Programmierer
- Zweite Verspätung bis 1967
- 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)
Hardware ist ständig billiger geworden
VLSI-Schaltungen
Minicomputers
Unix, System V, BSD-Unix, POSIX
Mikrocomputers
CP/M
Betriebssysteme
Höhere Modularität
Höhere Portabilität
Control Program for
Microcomputers
IBM PC
DOS 1.0
8 KB
Disk Operating System
XENIX
nur der Kernel in Assembler
programmiert, der Rest in C
MS-DOS
nur ein C-Compiler ist nötig
Einbenutzersystem
mit Unix entstehen viele
neue Hardwarefirmen
Ein Programm
Prof. Dr. Margarita Esponda-Argüero
24
UNIX
MULTICS
Bell Labs, MIT und General Electric
Ken Thompson
UNICS
abgespeckte Version von MULTICS
Das UNIX-Betriebssystem entsteht nach dem Prinzip der
Einfachheit
Dennis Richie
C
Ken
Thompson
"simple is beautiful"
PDP-11
UNIX
8200 Zeilen C-Code
900 Zeilen Assembler-Code
Prof. Dr. Margarita Esponda-Argüero
25
Betriebssysteme (1985-1995)
VLSI
Mikrocomputers
GUI Graphical User Interface
1981 Xerox Star
Fenstersysteme
Apple‘s Macintosh
1984
Windows
Daraufgesetzte
graphische Oberfläche
Windows 95
Netzwerkbetriebssysteme
Verteilte Systeme
26
Betriebssysteme (1991)
von Tanenbaum für
Linux Torvalds schrieb:
Lernzwecke entwickelt
...
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
1996 Linux Version 2.0
165000 Zeilen Code
470000 Zeilen Code
Prof. Dr. Margarita Esponda-Argüero
27
Betriebssysteme (1995-2011)
Mikrocomputers
Windows 2000
ca. 40 Millionen Quellcode Linien SLOCs ??
Insgesamt 5,245 Mitarbeiter
2007
Microsoft:
900 Entwickler 1,800 Tester
"the largest concerted software project in human history"
Windows Vista
Linux Debian 2.2
ca. 50 Millionen Quellcode Linien SLOCs
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
Donald Knuth sagt:
"An elephant is a mouse with an operating system.“
+ Betriebssystem
=
Prof. Dr. Margarita Esponda-Argüero
29
Betriebssysteme (1995-2011)
Serverbetriebssysteme
Windows NT
.
.
.
Windows Server 2011
AppelShare
.
.
MacOS X Server (basiert auf BSD Unix)
Red Hat Enterprise Linux 6
Ressourcen
Fehlertoleranz
freeBSD
Devian GNU/Linux
Nebenläufigkeit
Netzsicherheit
30
Betriebssysteme (2000-2011)
Mobile Rechner
Tablet PCs
2007
Mobile PCs
100 Millionen
Ultra Mobile PCs
Windows Vista
Linux
Windows XP Tablet PC Edition 2005
2010
5 Milliarden
RMI BlackBerry
Windows Mobile 2008 12% Markt
Mac OS auf iPhone
Palm OS → Garnet OS → Acces Linus
Symbian "Belle" Marktführer
190 Millionen Geräte mit Android bis Oktober 2011
Prof. Dr. Margarita Esponda-Argüero
31
Faktoren für eine höhere Nutzbarkeit von
mobilen Geräten

Tragbar
klein und leicht

Lange Betriebsdauer
sehr energiesparsam

Kommunikation
sehr effiziente
Signalverarbeitung
Bandbreite

Echtzeitfähig
Prof. Dr. Margarita Esponda-Argüero
32
DSP
Digital Signal Processors
DSP Prozessoren sind zu
mobilen Geräten wie
General Purpose Processors
(GPP) zu Desktops
GPU
Graphics Processing Unit
Mehr als 96% der heutigen
Prozessoren sind DSP und
eingebettete Prozessoren
Prof. Dr. Margarita Esponda-Argüero
33
Genes Gesetz: Immer weniger
Energie pro MIPS
Gene
2000
34
GPP Architektur vs. DSP
Große Bandbreite
Programm
Speicher
Programm
+
Daten
Speicher
GPP
Daten
Speicher
DSP
Daten
Speicher
Daten
Speicher
Prof. Dr. Margarita Esponda-Argüero
35
Lange Betriebsdauer
Parallele Architekturen
Die Energie ist proportional zum Quadrat
der Spannung V, der Kapazität C und der Frequenz F
CMOS Energie ~
C V2 F
½V
Energie ~ ¼ C V2 F
½F
Energie ~ 1 8 C V2 F
⇒
½ Performance
verdopple die Anzahl der Arithmetischen Einheiten
Ein Viertel der Energie ohne Performanceverlust
Prof. Dr. Margarita Esponda-Argüero
36
Texas Instruments TMS320C55x
Harvard Architektur
Program
Data Read
Data Read
Data Read
Data Write
Data Write
CPU
Instruction
Buffer
Program
Flow
Address
Data
Flow
Data
Computation
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
CISC
GPP
mpy
r2, r3, r4
Add
r4, r5, r5
mov
(r0), r2
mov
(r1), r3
inc
r0
inc
r1
RISC
Prof. Dr. Margarita Esponda-Argüero
38
Mehrfache Arithmetische Einheiten
(MACs, ALU, Shifter)
Program
Data Read
Data Read
Data Read
Data Write
Data Write
CPU
Instruction
Buffer
Program
Flow
Address
Data
Flow
Data
Computation
Data Computation Unit
39
Variable Befehlslänge für höheren Durchsatz
Kompression
durch
Compiler
Programm
Programm
Speicher
Dekompression
Very Long Instruction Word
CPU
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.
VxWorks
Windows CE
Echtzeitbetriebssysteme
für mobile Endgeräte
Windows XP Embedded
Embedded Linux
Nucleus OS
QNX Neutrino RTOS
Embedded Linux
Prof. Dr. Margarita Esponda-Argüero
42
Betriebssysteme (2000-2011)
Eingebettete Betriebssysteme
Smart Card
COS Chipcard Operating System
ACOS
ACOS / ACOS2
Basic Card
CARDOS
DKCCOS
GPK
Java Card
Micardo
MULTOS
SETCOS
SiCrypt
STARCOS / SECCOS
TCOS
Austria Card
Advanced Card Systems
Zeitcontrol
Siemens
Safenet (Datakey)
Gemplus
Java Card Forum
ORGA
Maosco
SETEC (Finnland)
Infineon
G&D
Telesec
Prof. Dr. Margarita Esponda-Argüero
43
Moderne Rechensysteme
Verschiedene Parallelisierungsformen
Beispiel:
• Mehrere komplette Prozessoren auf einem Chip
• Koprozessoren
• Parallele Funktionseinheiten
• Hardware-Multithreading
• Teilwort-Parallelität (SIMD)
• Überlappte Ausführung (pipelining)
Hauptgrund:
Die Verarbeitung von Multimediadaten
Prof. Dr. Margarita Esponda-Argüero
44
Betriebssysteme
SupercomputerServerMultiprozessorPCPDA-
Betriebssysteme
EchtzeitEingebetteteChipkartenMultimediaProf. Dr. Margarita Esponda-Argüero
45
Typische Struktur eines Betriebssystems
Programme
Bibliotheken
Kommandozeileninterpreter,
Sprachübersetzer, Systembibliotheken
Schnittstelle
zum Kernel
System-API
Systemaufrufe
Prozess-, Ressourcen-Verwaltung
Dateisystem
Schnittstelle
zur Hardware
BenutzerEbene
Treiber
....
KernelEbene
HAL Schnittstelle zur Hardware
Hardware
Prof. Dr. Margarita Esponda-Argüero
46
Grundfunktionalität von Betriebssystemen
Prozessverwaltung
Erzeugen, Starten, Anhalten und Löschen von Prozessen
Zuweisung von Ressourcen zu Prozessen
Schutz von Prozessen, durch Isolierung
Kommunikation zwischen Prozessen
Geräteverwaltung
Steuerung der Geräte (Driver)
Abstraktion von Hardwaredetails
Schnittstelle für höhere Schichten
Speicherverwaltung
Verwaltung des Hauptspeichers und des virtuellen Speichers
Teilung und Schutz von Speicherbereichen
Dateiverwaltung und Objektverwaltung
Netzkommunikation
Energieverwaltung
Prof. Dr. Margarita Esponda-Argüero
47