Upload
others
View
8
Download
0
Embed Size (px)
Citation preview
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 (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
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