Betriebssysteme VO - IAIK

Werbung
Betriebssysteme VO
Einleitung und Geschichte
VO Betriebssysteme
WS 08/09
IAIK
1
Am Anfang war die Hardware…
CPU
IAIK
2
Hardware
Monitor
Bus
ƒ Komponenten eines einfachen PCs
IAIK
3
CPU
ƒ Holt Instruktion aus Speicher und führt ihn aus
ƒ Instruktionssatz
ƒ
ƒ
ƒ
ƒ
ƒ
Einfache Operationen (OR, AND, ADD)
Lade- und Speicheroperationen
Sprünge
Unterprogramme
…
ƒ Registersatz
ƒ
ƒ
Für Berechnungen
Program counter, Stack pointer, Flags (Prozessor Status)
ƒ Arbeitsmodi
ƒ
ƒ
IAIK
Kernel mode: voller Zugriff auf Speicher und Register, alle
Instruktionen
User mode: beschränkter Zugriff auf Speicher und Register,
Teilmenge der Instruktionen
4
Speicher
ƒ Speicherhierarchie
ƒ Registers (Zugriffszeit 1 nsec)
ƒ Cache memory (Zugriffszeit 2 nsec)
ƒ Main memory - RAM (Zugriffszeit 10 nsec)
ƒ Hard disk (Zugriffszeit 10 msec)
IAIK
5
Festplatten
ƒ Eine oder mehrere Scheiben die mit
konstanter Geschwindigkeit rotieren
(z.B. 5400 rpm, 7200 rpm)
ƒ konzentrische Spuren
ƒ Zusammengehörende Spuren
verschiedener Scheiben: Zylinder
ƒ Spur in Sektoren gegliedert
IAIK
6
Festplatten
IAIK
7
Festplatten
ƒ Mechanischer Arm mit Köpfen (einer
pro Oberfläche)
ƒ Bewegt sich über Scheiben und
liest/schreibt Sektoren
ƒ Zur richtigen Spur (1 to 10 msec)
ƒ Auf passenden Sektor warten (5 to 10
msec)
ƒ Lesen/Schreiben ausführen
IAIK
8
Busse
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
ƒ
IAIK
Datentransfer zwischen Komponenten
Versch. Funktionen, Geschwindigkeiten etc
Cache bus
Memory bus
ISA (Industry Standard Architecture) bus
PCI (Peripheral Component Interconnect) bus
USB (Universal Serial Bus)
SCSI (Small Computer System Interface) bus
IDE (integrated drive electronics) bus
…
9
Alles zusammen ….
IAIK
10
Typischer PC
IAIK
11
Es werde Licht
Strom
IAIK
12
Es werde Strom
ƒ CPU startet und ladet Instruktionen beginnen bei
Adresse 0xFFFF0
ƒ Befehl springt in den BIOS-code
ƒ BIOS (Basic Input/Output System) wird gestartet
Einfache tests (memory, keyboard, etc)
ƒ Identifiziert “boot device” (Hard disk, Floppy, CD-ROM)
ƒ Lädt Inhalt des ersten Sektors (Master Boot Record - MBR
– Zylinder 0, Kopf 0, Sektor 1) in den Speicher auf
Adresse 0x7C00 - 0x7DFF
ƒ
ƒ Sprung nach 0x7C00
ƒ MBR-code findet ein “aktives” Filesystem, lädt
entsprechenden Boot-Sektor in den Speicher und
springt hin
ƒ Boot-Sektor-Code lädt das
IAIK
13
IAIK
14
Position des Betriebssystems
IAIK
15
Position des Betriebssystems
IAIK
16
Was ist ein Betriebssystem?
ƒ Eine erweiterte Maschine
ƒ Versteckt die unangenehmen Details, die
ausgeführt werden müssen
ƒ Präsentiert seinem Benutzer eine virtuelle
Maschine, die einfacher verwendbar ist
ƒ Schichtenmodell
ƒ Gewünschte Funktionalität aufbauen auf
Funktionalität niedriger Ebene
IAIK
17
Was ist ein Betriebssystem
ƒ Programm wie jedes andere
ƒ Wird kompiliert, gelinkt und exekutiert
ƒ Sonderstatus
ƒ Nur eine Kopie
ƒ Über Service-Aufrufe aktiviert
IAIK
18
Was ist ein Betriebssystem?
ƒ Ein Ressourcen-Verwalter
ƒ Jedes Programm bekommt die Ressource
für eine Zeit
ƒ Jedes Programm bekommt etwas Platz auf
der Ressource
IAIK
19
Ressourcenverwaltung
ƒ Multiplexen
ƒ Illusion mehrerer logischer Ressourcen bei
nur einer physischen Ressource
ƒ Transformation
ƒ Erzeugen einer neuen logischen Ressource
aus einer bestehenden
ƒ Verwaltung
ƒ Wer darf was verwenden und wer
verwendet gerade was
IAIK
20
Multiplexen
ƒ Zeit-multiplexen
ƒ Time-sharing
ƒ Aufteilen einer seriell-wiederverwendbaren
Ressource (serially-reusable) unter
verschiedenen Benutzern
ƒ Z.B. CPU oder Drucker
ƒ Raum-multiplexen
ƒ Platz aufteilen
ƒ Teilen einer mehrfach verwendbaren
Ressource unter verschiedenen Benutzern
ƒ Z.B. Speicher, Platte
IAIK
21
Virtuell
ƒ Das Betriebssystem
als IllusionsErzeuger…
IAIK
22
Virtueller Computer
ƒ Ein Betriebssystem lässt mehrere
Prozesse auf einer CPU arbeiten
ƒ Zeit-multiplexen der CPU
ƒ Ein Betriebssystem erzeugt mehrere
Adressräume (Speicher für die
Exekution eines Prozesses) aus dem
vorhandenen Speicher
ƒ Raum-Multiplexen des Speichers
IAIK
23
Virtuelle Computer
ƒ Ein Betriebssystem implementiert ein
File- und I/O-System so, dass Prozesse
Platten und I/O-Geräte simultan
verwenden können
ƒ Raum-multiplexen der Platte
ƒ Zeit-multiplexen der I/O-Kanäle
ƒ Ein Betriebssystem erzeugt virtuelle
Computer aus einer physischen
Maschine!
IAIK
24
Betriebssytemmodell
ƒ Betriebssystem bietet API zur Hardware
ƒ Versteckt privilegierte Befehle
ƒ Erzeugt neue Befehle (system calls)
ƒ Erzeuge neue Prozesse
ƒ Kommuniziere mit anderen Prozessen
ƒ Speicheranforderungen
ƒ I/O
ƒ Zugriffe aufs Filesystem
IAIK
26
Virtueller Speicher
ƒ Speicher pro Prozess ähnlich dem
Hardware-Speicher (Bytefolge)
ƒ Betriebssystem teilt Speicher in Teile
und gibt jedem einen Teil
ƒ Betriebssystem erzeugt Illusion, dass
jeder Prozess Speicher hat, der bei
Adresse 0 anfängt
ƒ Betriebssystem erzeugt Illusion dass
der Prozess mehr Speicher hat als
physischer Speicher vorhanden ist
IAIK
27
Virtuelle Festplatte
ƒ Gespeichert wird
ƒ Physisch auf Sektoren
ƒ Virtuell auf Files
ƒ Prozess sieht ein Filesystem mit
benannten Files beliebiger Größe
IAIK
28
Virtuelle I/O
ƒ I/O ganz anders als im physischen
Computer
ƒ Komplexe Kontroll- und Statusregister
ƒ Virtuelle I/O einfach und leicht verwendbar
IAIK
29
Geschichte
IAIK
31
Geschichte
ƒ Erste Generation 1945 - 1955
ƒ Vakuum-Röhren, Schaltbretter
ƒ Eine Personengruppe entwarf, baute,
programmierte, betrieb und wartete jede
Maschine
ƒ Programmierung in Maschinensprache
ƒ Betriebssysteme unbekannt
IAIK
32
Vakuumröhren
IAIK
33
ENIAC
IAIK
34
Geschichte
ƒ Zweite Generation 1955 - 1965
ƒ Transistoren, Batch-Systeme
ƒ Trennung zwischen Entwurf, Bau,
Betrieb, Programmierung und Wartung
ƒ Spezielle Räume nötig
ƒ Sehr teuer
IAIK
35
BRLESC-I
IAIK
36
Lochkarten
IAIK
37
Geschichte
ƒ Struktur eines typischen Jobs
IAIK
38
Geschichte
ƒ Zyklus:
ƒ Denke
ƒ Loche
ƒ Abgabe
ƒ Trinke Bier
ƒ Hole Output
ƒ …
ƒ Nicht sehr effizient
ƒ Viel Zeit verloren
IAIK
39
Geschichte
ƒ frühes Batch-system
ƒ Bringe Karten zu 1401
ƒ Lies Karten auf Band
ƒ Band auf 7094 - rechnet
ƒ Band auf 1401 – druckt Ergebnis
IAIK
40
Geschichte
ƒ Dritte Generation 1965 – 1980
ƒ ICs and Multiprogramming
ƒ Programme, die wenig rechnen und viel I/O
machen:
CPU (sehr teuer) ist oft untätig (idle).
ƒ Speicher in viele Teile teilen
ƒ Ein Programm pro Partition
IAIK
41
Geschichte
ƒ Multiprogramming-System
ƒ Drei Jobs im Speicher
IAIK
42
Geschichte
ƒ Spooling
ƒ Jobs von Karte auf Platte
ƒ Von Platte laden wenn benötigt
ƒ Im Grunde immer noch Batch-Systeme
ƒ Timesharing
ƒ Erste Online-Terminals
ƒ Jeder Benutzer bekommt Zeitscheibe
ƒ Erste Unix-Systeme
IAIK
43
Geschichte - UNIX
1965
ƒ
Eine Gruppe Computerwissenschaftler der Bell Labs und
GE schlossen sich 1965 einem Projekt am MIT an das
Multics Großrechner Timesharing System genannt wurde
(Multiplexed Information and Computing Service)
1969
ƒ
Bell Labs zogen sich zurück
1970
ƒ
Ken Thompson und Dennis Ritchie entwickelten UNIX
(UNIX ist ein Wortspiel auf Multics) für eine PDP-7 und
portierten es auf eine PDP-11
1972
ƒ
IAIK
Thompson and Ritchie entwickelten die
Programmiersprache C um darin UNIX neu zu schreiben
44
Geschichte - UNIX
1976-77
ƒ Ken Thompson ging als Gastprofessor an die
Computer Science Abteilung der University of
California at Berkeley (UCB)
ƒ Ergebnis: Berkeley Software Distribution (BSD)
1984
ƒ AT&T entwickelt UNIX System V
ƒ Viele verschiedene Unix... SunOS/Solaris (Sun
Microsystems), Xenix(Microsoft), HP-UX (HewlettPackard), Ultrix (DEC), AIX (IBM),
ƒ Linux, FreeBSD
IAIK
45
Unix-Geschichte
Dennis Ritchie und Ken Thompson von den Bell Labs portieren
das Betriebssystem Unix auf einen PDP-11 Großrechner
IAIK
46
Geschichte
ƒ Vierte Generation 1980 – Heute
ƒ Personal-Computer
ƒ CP/M
ƒ DOS
ƒ Graphische Benutzerinterfaces
ƒ Windows
ƒ X Windows
IAIK
47
The Operating System Zoo
ƒ Mainframe operating systems
ƒ Data processing centers
ƒ Difference: I/O-capacity
ƒ Lots of disks with terabytes of memory
ƒ Many jobs at once, batch, transaction processing
and timesharing
ƒ Batch: routine job without user intervention
ƒ Transaction processing: large number of small
requests, e.g. check processing at banks or airline
reservations
ƒ Timesharing: many users run jobs at once
ƒ Example: IBM OS/390
IAIK
48
The Operating System Zoo
ƒ Server operating systems
ƒ Servers: very large personal computers,
ƒ
ƒ
ƒ
ƒ
IAIK
workstations or mainframes
Serve multiple users at once
Allow user to share hardware and software
resources
May run web servers or similar
Examples: Unix, Windows Server, Linux
49
The Operating System Zoo
ƒ Multiprocessor operating systems
ƒ Multiple CPU’s in a single system
ƒ Need special operating systems
ƒ Often variations of server operating systems
IAIK
50
The Operating System Zoo
ƒ Personal computer operating systems
ƒ Good interface for a single user
ƒ Used widely of all types of purposes as word
processing, spreadsheets, internet access but also
software development
ƒ Examples: Windows, Macintosh OS, Linux
IAIK
51
The Operating System Zoo
ƒ Real-time operating systems
ƒ Time as key parameter
ƒ E.g. industrial process control systems
ƒ Control machines in a factory
ƒ Actions must occur at a certain time
ƒ Examples: VxWorks, QNX
IAIK
52
The Operating System Zoo
ƒ Embedded operating systems
ƒ Embedded systems run on computers that control
devices that are not generally thought of as
computers:
ƒ
ƒ
ƒ
TV-sets
Mobile telephones
Dishwashers….
ƒ Some characteristics of real-time systems
ƒ Special size, memory and power-restrictions
ƒ Symbian OS, Windows CE, Palm-OS, Embedded
Linux
IAIK
53
The Operating System Zoo
ƒ Smart card operating systems
ƒ Severe processing power and memory constraints
ƒ Limited functionality
ƒ Often proprietary
ƒ Some are Java-oriented
ƒ
ƒ
ƒ
ƒ
IAIK
ROM holds interpreter for JVM
Java applets downloaded on card
Multiple applets possible – multiprogramming and
scheduling required
Also resource management and protection
54
Herunterladen