Folien - Hochschule Darmstadt

Transcrição

Folien - Hochschule Darmstadt
Vorlesung Betriebssysteme
Hochschule Darmstadt
Studiengang: CNAM
Dozent: Günther Fröhlich
Literatur: A. Tanenbaum, Moderne
Betriebssysteme, 3. Auflage (2009)
Vorlesung SS 2013
Aus der Einführung von Tanenbaum
Dem obigen Schaubild kann man entnehmen:
Ein Betriebssystem liegt direkt über der blanken Hardware und ist die Basis für die gesamte
übrige Software
Es läuft in einem privilegierten Kernmodus
Die Benutzungsschnittstelle ist eine Shell (textbasiert, Befehlszeileninterpreter für die
Command Language) oder ein Graphical User Interface (GUI)
Benutzerschnittstelle erlaubt das Starten von Applikationen wie Webbrowser etc
Benutzerschnittstelle und Applikationen laufen im unprivilegierten Benutzermode
Gliederung
●
●
●
●
●
●
●
●
●
Einführung
Prozesse und Threads
Speicherverwaltung
Dateisysteme
Eingabe und Ausgabe
Deadlocks
Multimediasysteme
Linux und Windows
BS für Smartphones, NetBooks und Tablet-Computer
(Android...)
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
3
Was ist ein Betriebssystem?
Gängige Schlagworte und Kategorien:
●
Monolithisches
BS
PDA-BS
Netzwerk-BS
OpenVMS
Linux
Geschichtete BS Windows
Verteilte Systeme
BS
Batchprocessing
BS
Multiprozessor
BS
Single Tasking
OS
Timesharing OS
Single User BS
Mac OS
Solaris
Parallelrechner
BS
MVS
Echtzeit OS
Mikrokerne BS
Mainframe OS
Multiuser BS
Interactiv
processing
Android
Multitasking OS
MS-DOS
Embedded
Systems OS
NetBook, Tablet,
Smartphone OS
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
PC-BS
4
Was ist ein Betriebssystem?
●
Gängige Schlagworte und Kategorien sortiert
nach :
BS-Architektur
Betriebsarten
Monolithisches
BS
Geschichtete BS
BatchprocessingBS
Interactive
Processing
Mikrokerne BS
Timesharing OS
Echtzeit BS
Einsatzbereich Anzahl Nutzer
Rechnerklassen
Multiuser BS
Embedded
Systems OS
Single User BS
PDA, Tablet,
Smartphone OS
Multiprozessor
BS
Mainframe BS
MS-DOS
OpenVMS
Windows
Anzahl Aufträge
Single Tasking OS
Verteilte
Systeme BS
Parallelrechner Multitasking OS
BS
Netzwerk-BS
24.05.13
Reale BS
Betriebssysteme
- Kapitel 1 - Einführung
PC-BS
Solaris
Linux
UNIX
Mac OS
MVS, TSO
Android
5
Was ist ein Betriebssystem?
●
●
●
24.05.13
Die Abgrenzung ist schwierig
1. Versuch: BS ist Software, die im Kernelmode
läuft (Hardwareschutz !)
2. Versuch funktional: BS übernimmt zwei
unabhängige Aufgaben:
–
Bietet (saubere) Abstraktion der Betriebsmittel für
Programme und Programmierer
–
Verwaltung der Hardwareresourcen
Betriebssysteme - Kapitel 1 - Einführung
6
Was ist ein Betriebssystem ?
Das Betriebssystem als eine erweiterte Maschine
● Top-Down-Sicht
● Architektur eines Rechners auf Ebene der
Maschinensprache ist simpel (nicht abstrakt) und
schwer zu programmieren
● Gutes Beispiel ist die Ein-/Ausgabe mit einer alten
einfachen Diskette und Diskettenlaufwerk.
● Der IBM-PC Disketten-Controller kennt 16
Steuerbefehle
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
7
Was ist ein Betriebssystem ?
Das Betriebssystem als eine erweiterte Maschine
● Elementare Kommandos sind read und write mit je 13
Parametern in 9 Byte und bestimmen
●
●
●
●
●
24.05.13
die Adresse des zu lesenden Diskettenblocks
die Anzahl der Sektoren pro Spur
den Aufzeichnungsmodus des physikalischen Mediums
den Abstand zwischen den Sektoren
Die Behandlung der deleted data address Marke
Betriebssysteme - Kapitel 1 - Einführung
8
Was ist ein Betriebssystem ?
Das Betriebssystem als eine erweiterte Maschine
● Nach Abschluss der Operation liefert der Controller 23
Status und Fehlerfelder, die in 7 Byte gepackt sind.
● Zusätzlich muss der Programmierer eines
Diskettensystems berücksichtigen, ob der Motor an
oder ausgeschaltet ist.
● Ist er ausgeschaltet, muss er mit einer Anlaufverzögerung angeschaltet werden, bevor Daten gelesen /
geschrieben werden
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
9
Was ist ein Betriebssystem ?
Das Betriebssystem als eine erweiterte Maschine
● Motor darf nicht zu lange eingeschaltet sein, um die
Diskette zu schonen
Mit der Programmierung des Controllers will sich ein
Anwendungsprogrammierer nicht beschäftigen, er will
eine einfache Abstraktion auf oberster Ebene:
Diskette enthält Dateien, die geöffnet, gelesen,
geschrieben und geschlossen werden können. Details der
Ausführung sollen in der Abstraktion nicht auftreten
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
10
Was ist ein Betriebssystem ?
Das Betriebssystem als eine erweiterte Maschine
● Hardware ist hässlich: eine der Hauptaufgaben eines
BS ist es, die Hardware zu verstecken
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
11
Was ist ein Betriebssystem ?
Das Betriebssystem als Ressourcenverwalter
● Bottom-Up-Sicht
● BS soll die Hardware (Prozessoren, Speicher, Ein-Ausgabegeräte wie Tastaturen,
Mäuse, Druckern, Netzwerkschnittstellen etc. ) geordnet und kontrolliert den
um sie konkurrierenden Programmen zuteilen (z.B.
Druckausgaben)
● Braucht man kein BS, wenn nur ein Programm laufen
kann?
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
12
Was ist ein Betriebssystem ?
Das Betriebssystem als Hardwareschutz
Auch wenn nur ein Programm läuft, muss verhindert
werden, dass ein fehlerhaftes Programm
● die Maschine zum Absturz bringt
● die Hardware beschädigt
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
13
Geschichte der Betriebssysteme
Die erste Generation (1945 1955)
● Rechner auf Basis von Relais oder Röhren
● Eine Gruppe von Ingenieuren entwarfen, bauten,
betrieben und warteten einen Rechner
● Programmierung erfolgte in Maschinensprache Assembler und höhere Programmiersprachen
waren noch unbekannt
● Betriebssysteme gab es nicht
● Typische Aufgaben der Computer waren einfache
Berechnungen wie: Erstellen von Tabellen mit
Sinus- Kosinus- und Logarithmuswerten
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
14
Geschichte der Betriebssysteme
Die zweite Generation (1956- 1965) - Transistoren und
Stapelverarbeitungssysteme
● Mit Einführung der Transistoren wurden Rechner
kleiner, zuverlässig und in Serie hergestellt.
● Erstmals Trennung zwischen Entwicklern,
Herstellern, Operateuren und Wartungspersonal
● Mainframes wurden in geschützten klimatisierten
Räumen von Operateuren betrieben
● Besitzer: Große Unternehmen, Behörden und
Universitäten
● Einsatz in anspruchsvolleren, wissenschaftlich technischen Anwendungen wie Lösen partieller Differentialgleichungen in Physik und Ingenieurswissen24.05.13schaften
Betriebssysteme - Kapitel 1 - Einführung
15
Geschichte der Betriebssysteme
Die zweite Generation (1956- 1965) - Transistoren und
Stapelverarbeitungssysteme
● Einführung von Assembler und Fortran
● Programme wurden auf Papier entwickelt und dann
auf Lochkarten gestanzt
● Lochkartenstapel (Stapelverarbeitung !) wurde dann
den Operateuren übergeben, die sie
●
●
●
●
●
24.05.13
in den Rechner zum Lesen einlegten
Compiler-Kartenstapel dazu holten
ein ausführbares Programm erstellten
das Programm ausführen ließen
das Ergebnis dem Programmierer übergaben
Betriebssysteme - Kapitel 1 - Einführung
16
Geschichte der Betriebssysteme
Die zweite Generation (1956- 1965) - Transistoren und
Stapelverarbeitungssysteme
● Lochkartenstapel wurde dann den Operateuren
übergeben, die sie
●
●
●
●
●
●
24.05.13
in den Rechner zum Lesen einlegten
Compiler-Kartenstapel dazu holten
ein ausführbares Programm erstellten
das Programm ausführen ließen
das Ergebnis dem Programmierer übergaben
Dabei wurde viel Rechenzeit für Laufarbeiten
verschwendet. Zeitoptimierung führte zum Konzept
des Stapelverabeitungssystems (batch system)
Betriebssysteme - Kapitel 1 - Einführung
17
Geschichte der Betriebssysteme
Die zweite Generation (1956- 1965)
Phasenpipeline ?
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
18
Geschichte der Betriebssysteme
Die zweite Generation (1956- 1965) - Transistoren und
Stapelverarbeitungssysteme
● Ziel: optimale Auslastung der Rechenkapazität
● Trennung von Programmerzeugung, Ausführung und
Ergebnisausgabe
● Bei der Ausführung auf der 7094 wurde ein
spezielles Programm geladen, das den ersten „Job“
vom Band geladen und ausgeführt hat. Dieses
Programm ist ein Vorläufer der heutigen
Betriebssysteme
● Nach Abschluss eines Jobs las das BS automatisch
den nächsten Job vom Band
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
19
Geschichte der Betriebssysteme
Die zweite Generation (1956- 1965)
FMS = Fortran Monitor
System
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
20
Geschichte der Betriebssysteme
Die zweite Generation (1956- 1965)
Struktur des Jobs:
● $JOB-Karte Maximale Laufzeit, Abrechnungsnummer und -name
● $FORTRAN Betriebssystem lädt Compiler vom Band und compiliert
● $LOAD
Das übersetzte Programm wird in den Speicher geladen
● $RUN
Das BS startet die Ausführung des Programms
● $END
Markiert das Ende des Jobs
Diese Kontrollkarten waren die Vorläufer der modernen
Kommandozeileninterpreter und Shells
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
21
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
Zwei grundlegende Rechnerarchitekturen:
● wortorientierte wissenschaftliche Rechner
(numerische Berechnungen )
● zeichenorientierte kommerzielle Rechner (z.B. IBM
1401) für Listenerstellen, -sortieren und -drucken
● IBM System/360 verband beide Produktlinien und
führte die Rechnerfamilienbildung ein.
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
22
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
IBM System/360 verband beide Produktlinien und führte
die Rechnerfamilienbildung ein, um
● nur ein Betriebssystem (OS360) entwickeln und
warten zu müssen
● mit einer Befehlssatzarchitektur (ISA) die gleiche
Software auf unterschiedlichen Generationen der
Rechnerfamilie benutzen zu können
Kommerziell bis heute erfolgreiches Konzept mit den
Generationen 360, 370, 3080, 3090... bis SystemZ.
Werden heute noch als DB- und WWW-Server
eingesetzt
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
23
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
Die Stärke von OS360 war seine größte Schwäche:
● Es sollte universell einsetzbar sein, bestand aus
einigen Millionen Zeilen Assemblercode und enthielt
tausende von Fehlern.
● Jede Version beseitigte Fehler und erzeugte neue.
● Die Anzahl der Fehler blieb über die Laufzeit
konstant!
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
24
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
Wichtige neue Konzepte:
● Multiprogrammierung
● Spooling
● Timesharing
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
25
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
Multiprogrammierung
● Ziel: Bessere Auslastung der CPU
● Mehrere Jobs liegen im Speicher in eigenen durch
Hardware geschützten Partitionen
● Muss ein Job pausieren, um eine Ein-/Ausgabe
abzuwarten, kann das BS einem
anderen Job die CPU zuteilen
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
26
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
Spooling (Simultaneous Peripheral Operation On Line)
● Die Job-Karten wurden wurden statt auf Bändern auf
eine (schnelle) Platte geschrieben
● Wurde ein Job beendet, lud das BS einen neuen von
Platte in eine freie Partition
BS der 3. Generation waren im Kern Stapelverarbeitungssysteme mit entsprechend langen
Antwortzeiten
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
27
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
Timesharing
Ist eine Variante der Multiprogrammierung
● Vorteil: Erlaubt kurze Antwortzeiten für viele Benutzer
und Stapelverarbeitung im Hintergrund
● Verfahren: BS teilt jedem Job/Benutzer für kurze Zeit
die CPU zu
Erstes universelles System war CTSS (Compatible
Timesharing System) vom M.I.T.
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
28
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
MULTICS (Multiplexed Information and Computing
System) wurde Nachfolger von CTSS.
● Projekt von M.I.T, Bell Labs und General Electric
● Vorbild war die Elektrizitätsversorgung
● Damalige verfügbare Hardware (Rechenleistung)
wurde dem Anspruch, mit einer Maschine mehrere
hundert Anwender zu bedienen nicht gerecht
● Kommerziell kein großer Erfolg
● Lief in einigen Unternehmen bis in die 90ger Jahre
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
29
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
Neue Rechnergeneration: Minicomputer (PDP-1 bis
PDP-11) von DEC
● PDP-1Speicher nur 4096 Worte á 18 Bit
● Sehr preiswert – 5% des Preises einer IBM 7094
● Kommerziell sehr erfolgreich, neuer Markt wurde
geschaffen
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
30
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
UNIX
●
●
●
●
●
●
24.05.13
Bell Labs und MULTICS Mitarbeiter Ken Thompson schrieb
für eine PDP-7 ein Einbenutzer-bestriebssystem von
MULTICS, also ein abgespecktes MULTICS
Dies bildete die Grundlage für das spätere BS UNIX
Freier Quellcode !
System V von AT&T und BSD Unix (Berkeley Software
Distribution)
Nach chaotischer, inkompatibler Entwicklung: POSIX als
Standard für UNIX von IEEE (Institute of Electrical and
Electronics Engineers)
POSIX definiert einen Teil der Systemschnittstelle
Betriebssysteme - Kapitel 1 - Einführung
31
Geschichte der Betriebssysteme
Die dritte Generation (1966- 1980)
MINIX
●
●
●
24.05.13
UNIX Klon für Ausbildungszwecke von Tanenbaum.
Unter www.minix3.org ist der Quellcode frei erhältlich
POSIX kompatibel
Betriebssysteme - Kapitel 1 - Einführung
32
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
● Fortschritte der Halbleitertechnik → Zeitalter der
Personalcomputer
● PC Betriebssysteme waren
●
●
●
24.05.13
CP/M (Control Program for Mikrocomputers) von
Digital Research
MS-DOS
16 Bit Systeme ohne grafische
Benutzerschnittstelle
Betriebssysteme - Kapitel 1 - Einführung
33
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
Entwicklungsphasen bei PC und Homecomputer:
● BS war ursprünglich fest im ROM eingebaut und
enthielt meistens BASIC, das als Kommando- und
auch als Programmier-Sprache diente. (z.B: C64)
● BS benötigten mehr Speicherplatz und wurden von
Platte/Disk nachgeladen („Bitte legen Sie die Systemdiskette in Laufwerk A“ ) oder
auf einer Platte installiert. (CP/M, DOS, Linux oder Unix)
● DOS und CP/M bestanden aus mehreren Teilen: dem
Kommandointerpreter (COMMAND.COM), sowie
Zusatzprogrammen, die bestimmte Aufgaben
übernahmen. COMMAND.COM enthielt nur
rudimentäre Befehle (z.B. Starten von Programmen, Kopieren und Löschen von Dateien)
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
34
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
Entwicklungsphasen bei PC und Homecomputer:
● In Verbindung mit Zusatzprogrammen war es
möglich, Texte zu bearbeiten (EDIT), Disketten zu
formatieren (FORMAT) und zu überprüfen
(SCANDISK), oder gelöschte Dateien
wiederherzustellen (UNDELETE). Um Peripherie und
Computerkomponenten anzusprechen , wurden die
nötigen Treiber in den Autostartdateien wie z.B. (bei
DOS) CONFIG.SYS und AUTOEXEC.BAT
eingebunden; bei vielen gleichzeitig vorhandenen
Hardwarekomponenten eine schwierige Aufgabe.
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
35
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
Entwicklungsphasen bei PC und Homecomputer:
● Grafische Benutzeroberflächen: GEM, MacOS, OS/2,
Windows → Benutzerfreundlichkeit, weniger
Expertenwissen notwendig.
● 1985-1995: Windows war (nur) grafische
Benutzerumgebung auf MS-DOS
● 1995: Windows 95 benötigte DOS nur noch zum
Hochfahren des Rechners (Booten)
● Windows 98 war auch noch ein 16 Bit System, lief
aber in der Regel auf 32 Bit Prozessoren (ab 80386
von 198x)
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
36
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
Entwicklungsphasen bei PC und Homecomputer:
● WINDOWS NT erstes 32 Bit BS-System von
Microsoft
●
●
Weitere Versionen bis zur Erweiterung auf 64 Bit
●
●
●
●
●
●
24.05.13
Sollte MS-DOS und Windows 3.x und Windows 95
ersetzten. Setze sich nicht durch
NT 4.0
Windows 98
Windows ME
Windows XP
Windows Vista
Windows 7 und Windows 8
Betriebssysteme - Kapitel 1 - Einführung
37
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
Entwicklungsphasen bei PC und Homecomputer:
● Unix Familie
● Linux wurde die Alternative zu Windows auf Intel
Pentium (IA32) Rechnern
● FreeBSD ist bekannter UNIX Ableger, läuft auf
modernen Macintosh Rechnern
● Standard im Workstation-Bereich bei HP und SUN
● Benutzeroberflächen (GUIs) sind X11-basiert
●
●
24.05.13
KDE, GNOME setzen auf X11 auf
Solaris auf Basis von SunOs ist ein Unix-BS und
kompatibel zu System V (siehe bei Wikipedia)
Betriebssysteme - Kapitel 1 - Einführung
38
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
Netzwerkbetriebssysteme
● Für Netzwerke mit Workstations und PCs benötigt
man Netzwerkbetriebssysteme.
● Einloggen auf entfernten Maschinen und Zugriff auf
entfernte Dateien möglich
● Auf jedem Rechner läuft ein lokales BS, das mit
Kommunikationsfähigkeiten erweitert wurde.
● Die Struktur des BS bleibt gleich
● Die Hoheit über den Rechner hat das lokale BS
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
39
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
Verteilte Betriebssysteme
Benutzer sieht nur einen Rechner, der aus vielen
Rechnern bestehen kann.
● Das BS organisiert und verbirgt dem Benutzer, auf
welchem Rechner sein Programm läuft und wo seine
Daten liegen
● Läuft eine Anwendung gleichzeitig auf mehreren
Rechnern (Paralleles Rechnen), benötigt das BS
zusätzliche Sychronisationsmechanismen
● Struktur des BS ändert sich, ein BS auf einem
Rechner hat nicht mehr die Hoheit über das
Gesamtsystem Betriebssysteme - Kapitel 1 - Einführung
24.05.13
40
Geschichte der Betriebssysteme
Die vierte Generation (1981 – heute)
● OpenVMS für Mini-Computer – und Workstation
http://de.wikipedia.org/wiki/Virtual_Memory_Syst
em
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
41
Computerhardware
Das Betriebssystem als erweiterte Maschine,
Resourcenverwalter und Schützer der Hardware muss
die Hardware genau kennen. Deshalb ein prinzipieller
Exkurs in die Hardware eines Computers
● Prozessoren
● Arbeitsspeicher
● Festplatten
● Magnetbänder
● Ein-/Ausgabegeräte
● Bussysteme
● Hochfahren des Computers
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
42
Computerhardware
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
43
Computerhardware - Prozessoren
●
●
Der Prozessor, die Central Processing Unit (CPU)
führt ein Programm aus, dessen Code und Daten im
Speicher stehen.
Eine CPU besteht in der Regel aus (mindestens)
●
●
●
●
●
●
●
●
24.05.13
n Allzweckregistern zum Speichern von Variablen
Programcounter (PC)
Instructionregister (IR)
Arithmetic and Logical Unit (ALU)
Stackpointer (SP)
Framepointer (FP)
Program Status Word (PSW)
Control Unit (CU)
Betriebssysteme - Kapitel 1 - Einführung
44
Computerhardware - Prozessoren
●
●
(CPU ist Thema bei Rechnerarchitektur und wird dort behandelt.)
BS – CPU
●
●
●
24.05.13
BS muss die Register kennen, weil es bei
Prozessumschaltung (s. Multiprocessing,
Timesharing) den Status (die Register) des zu
suspendierenden Prozesses sichern muss.
BS muss Programmausnahmen behandeln (z.B
Programm beenden nach Division durch null)
BS läuft im Kernelmode, privilegierten Mode der CPU
und hat Zugriff auf komplette Hardware
Betriebssysteme - Kapitel 1 - Einführung
45
Computerhardware - Prozessoren
●
24.05.13
Multithreading fähige CPU: für BS erscheint das als
seien mehrere CPUs verfügbar
Betriebssysteme - Kapitel 1 - Einführung
46
Computerhardware - Prozessoren
●
24.05.13
Multicore-CPU: BS muss mit mehreren Kernen
umgehen können !
Betriebssysteme - Kapitel 1 - Einführung
47
Computerhardware - Speicher
●
●
24.05.13
Speicher soll schnell, groß und billig sein
Das erreicht man mit einer Speicherhierarchie:
Betriebssysteme - Kapitel 1 - Einführung
48
Computerhardware - Speicher
Register
Cache
24.05.13
schnell wie CPU, relativ wenige
(eins bei Akkumulator-Prozessoren, 2*128 bei
Intel Itanium
Gesteuert von Anwendungsprogramm-, BS und
Hardware
●Wird von Hardware gesteuert
●L1 im Prozessor (KB) statisches RAM
●L2 auf dem Prozessorchip oder eigenem Chip
(MB)
●oftmals gibt es schon L3 Cache
●Caching ist weitverbreitetes Konzept in der
Informatik
●Verschiedene Cacheorganisationen (direct
maped … vollassoziativ)
●Cache-Ersetzungsstrategien
Betriebssysteme - Kapitel 1 - Einführung
49
Computerhardware - Speicher
RAM
Eigentlicher Arbeitsspeicher, dynamisches RAM
(Random Access Memory)
●Hieß früher Kernspeicher -Magnetkernspeicher
●Entwicklung von einigen KB auf einige GB in 40
Jahren.
●Wird vom BS verwaltet
Nicht-flüchtigeROM, PROM EPROM FLASH-EPROM
Speicher
BIOS früher im ROM, heute FLASH-EPROM
FLASH-EPROM ist wie RAM, aber langsamer
FLASH-EPROM ist schneller als Festplatte mit
kürzerer Abnutzungszeit
24.05.13
●
Betriebssysteme - Kapitel 1 - Einführung
50
Computerhardware - Speicher
Festplatten
24.05.13
Kapazität: früher Megabyte, heute Terabyte
Faktor 100 pro Bit billiger als RAM, aber 1000 mal
langsamer, weil es ein mechanisches, rotierendes
Gerät ist (bis 10000 mal pro Minute)
Betriebssysteme - Kapitel 1 - Einführung
51
Computerhardware - Speicher
Festplatten
24.05.13
Einteilung in Spuren (tracks), Segmente und
Zylinder
Bewegung des Arms von einem Zylinders zum
nächsten braucht etwa 1 ms
Betriebssysteme - Kapitel 1 - Einführung
52
Computerhardware - Speicher
Festplatten
24.05.13
BS muss die Festplatte verwalten (Formatieren,
Partitionieren, Listen über beschädigte Segmente
führen, Fragmentierung von Dateien vermeiden ,
Defragmentieren
BS kennt Verfahren, Festplattenzugriffe zu
optimieren (Caching, Fragen des Dateisystems)
Betriebssysteme - Kapitel 1 - Einführung
53
Computerhardware - Ein-/Ausgabegeräte
●
●
●
●
●
●
24.05.13
E/A-Geräte bestehen aus Controller und dem Gerät.
Controller nehmen über spezielle Treiber Aufträge
vom BS an (z.B. lese Sektor 10120) und wandelt die
lineare Nummer in gerätespezifische Parameter um
(Spur, Sektor, Zylinder) und führt die Aktion geordnet
aus.
Controller ermittet, über welchem Zylinder der
Schreib-/Lesekopf gerade steht und und bewegt ihn
in einzelnen Impulsen zum benötigten Zylinder.
CO wartet bis der richtige Sektor am Kopf erscheint.
CO startet Schreib-/Leseoperation ...... !
Controller ist eine spezialisierte CPU für komplexe
Vorgänge
Betriebssysteme - Kapitel 1 - Einführung
54
Computerhardware - Ein-/Ausgabegeräte
Treiber
● Jeder Controllertyp braucht seinen speziellen Treiber
( z.B. IDE (integrated drive electronics ) Controller für IDEFestplatten)
● Controllerhersteller liefert Treiber für
Betriebssystem(e)
● Treiber müssen ins BS integriert werden.
● Drei Verfahren der Integration:
1.Treiber wird in Kern eingebunden, Systemneustart
(ältere Unix-Systeme)
2.Treiber wird in einer Datei als notwendig eingetragen
und nach Neustart geladen (Windows)
3.Neuer Treiber wird zur Laufzeit geladen und zur
Verfügung gestellt (Hot-Plug-fähige Geräte über USB)
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
55
Computerhardware - Ein-/Ausgabegeräte
Zugriff auf Controller
Zwei Varianten:
1.Jedes Controllerregister ist über einen Port (eine
Portadresse) mittels IN und OUT-Befehlen
ansprechbar. IN und OUT sind nur im Kernmodus
verfügbar, Geräteschutz ist damit gewährleistet
2.Controllerregister werden in den Adressraum des BS
eingeblendet (memory mapped devices), benötigen
keine speziellen IN/OUT Befehle.
Treiber in Hochsprache möglich
Geräteschutz: Applikation hat keinen Zugriff auf
Adressraum des Betriebssystems
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
56
Computerhardware - Ein-/Ausgabegeräte
Methoden der Ein-/Ausgabe
Synchrones
IO durch
Aktives
Warten
1.Applikation führt Systemaufruf aus und springt in den Kern
2.Betriebssystem ruft Treiber auf
3.Gerätetreiber programmiert den Controller und fragt solange den
Controller immer wieder ab, bis dieser Vollzug meldet (steht in einem
Register des Controllers)
4.BS übergibt an Applikation
1. Wie oben
Asynchrones IO 2. Wie oben
durch
3.Gerätetreiber programmiert den Controller
Interruptsteu4.Controller führt Aktion aus
erung
5.Controller signalisiert Vollzug einem Interrupt-Controller
6.Interrupt-Controller signalisiert der CPU, dass Daten vorliegen
7.Interrupt-C. teilt CPU mit, von welchem Gerät die Daten kommen
8.CPU rettet Befehlszähler und Programm-Status-Wort und schaltet in
Kernmodus
9. Der Interrupt-Handler für das entsprechende Gerät wird gestartet
10. Rückkehr ins Beutzerprogramm
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
57
Computerhardware - Ein-/Ausgabegeräte
Methoden der Ein-/Ausgabe
DMA
Direct Memory
Access
24.05.13
Spezieller auf Ein-/Ausgabe optimierter Chip, der Datenfluss zwischen
Speicher und Controller ohne die CPU organisiert
CPU gibt Auftrag an DMA-Controller, wieviele Byte von A nach B in
welcher Richtung zu übertragen sind
● Schneller als über die CPU
● CPU kann entweder warten oder etwas anderes ausführen
Nach Abschluss wird ebenfalls ein Interrupt erzeugt und das
Betriebssystem kann das wartende Programm wieder aktivieren
Betriebssysteme - Kapitel 1 - Einführung
58
Computerhardware -
Ein-/Ausgabegeräte
Interrupt während Interruptausführung
●
●
●
24.05.13
Wird ein Interrupt bearbeitet, werden andere
Interrupts blockiert
Interruptauslöser senden solange ihr Interruptsignal,
bis die Blockierung aufgehoben ist
Interrupts-Priörität legt fest, welcher als nächstes
ausgeführt wird
Betriebssysteme - Kapitel 1 - Einführung
59
Computerhardware -Ein-/ Ausgabegeräte
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
60
Computerhardware - Bussysteme
●
●
Historisch typisches Bussystem
Reicht für heutige Anforderungen nicht aus wegen
●
●
Steigender Zahl von Peripherigeräten
Unterschiedlicher Arbeitsgeschwindigkeit der
Komponenten z.B:
–
–
24.05.13
Sehr schnelle Verbindung zum Speicher und
Grafikkarte notwendig
Langsame Verbindung zur Tastatur reicht aus
Betriebssysteme - Kapitel 1 - Einführung
61
Computerhardware - Bussysteme
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
62
Computerhardware - Bussysteme
ISA (IBM-PC/AT)
16 Bit parallel
8.3 MHz
16.67 MB/s
PCI
Nachfolger ISA
64 Bit parallel
60 MHz
528 MB/s
PCI-Express
64 Bit parallel
Anschluss zur
Laufzeit des
Rechners möglich
1.5 MB/s USB 1
60 MB /s USB 2
300 MB/s USB 3
USB für langsame bitseriell
IO-Geräte
Tastatur, Maus...)
IDE für Festplatten,
CD-ROM
SCSI
8 /16 Bit parallel
300 MB/s
FireWire
bitseriell
100 MB/s
BS muss wissen, welche Peripheriegeräte angeschlossen
sind und muss diese konfigurieren. Heute mit Plug und
Play (zuerst bei MacIntosh) – früher feste
Interruptnummern und Adressen
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
63
Die Betriebssystemfamilie
●
●
●
●
●
●
●
Betriebssysteme für
Großrechner
Server
Multiprozessorsysteme
Personalcomputer
Handheld-Computer
Eingebettete Systeme
Echtzeitsysteme
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
64
Betriebssystemfamilie- Großrechner
●
●
●
●
Großrechner werden z.B als WebServer, als Server
im Bereich E-Commerce (Banken, Versicherungen...)
eingesetzt
Hohe I/O-Leistung mit mehr als 1000 Festplatten und
vielen Terabyte Daten
Kombination von Batch-, Dialog- und
Timesharingsystem
Immer noch aktuell: IBM OS390, Tendenz nach Linux
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
65
Betriebssystemfamilie
Server
●
●
●
Hardware: Workstations, PCs, auch Großrechner
Webdienste, Internetanbieter setzen viele Server ein
Typische Bertiebssysteme:
●
●
●
●
24.05.13
Solrais,
FreeBSD,
Linux ,
Windows Server 200x
Betriebssysteme - Kapitel 1 - Einführung
66
Betriebssystemfamilie
Multiprozessorsysteme
●
●
Multicomputer, Multiprozessorsysteme,
Parallelcomputer
Sind oft erweiterte Server Betriebssysteme –
erweitert um
●
●
●
●
Kommunikation
Anschlussfähikeit
Konsistenz
Multicoreprozessoren in PCs benötigen heutzutage
Eigenschaften eines MultiprozessorBetriebssystems. Windows und Linux sind bereits
Multiprozessorfähig
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
67
Betriebssystemfamilie
Personalcomputer
●
●
●
Moderne PC Betriebssysteme unterstützen
Multiprogrammierung mittels Timesharing, aber:
ausgelegt auf optimale Unterstützung eines
Benutzers
also: Multitasking, aber nicht Multiusersyteme
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
68
Betriebssystemfamilie
Handheld-Computer
●
●
●
●
●
PDA (Personal Digital Assistent)
Westentaschencomputer
PDA und Mobiltelefon sind intern mittlerweile sehr
ähnlich
Enthalten mittlerweile einen 32 Bit Prozessor
Vertreter:
●
●
●
Palm OS
Symbian OS
Unterschied zu PC: keine mechanische Festplatte
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
69
Betriebssystemfamilie
Eingebettete Systeme
●
Eingebettete Systeme steuern andere Geräte. Z.B:
●
●
●
●
●
●
●
●
Mikrowelle
Fernsehgeräte
Autos
DVD-Recorder
MP3-Player
Gesamte Software steht im ROM
Schutzmechanismen zwischen Applikationen sind
nicht nötig
Typische Vertreter: QnX, VxWorks
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
70
Betriebssystemfamilie
Echtzeitsysteme
Typischer Einsatz: Prozesssteuerung, aber auch
Multimediaanwendungen haben EchtzeitAnforderungen
● Zeit ist wichtiger Parameter der Resourcenvergabe
(Deadline)
● Hartes Echtzeitsystem (hard-realtime-system). Bietet
absolute Garantie, dass Aktionen in definierter Zeit
ausgeführt werden (Prozesssteuerung)
● Weiches Echtzeitsystem (soft-realtime-system) Eine
verpasste Deadline ist nicht erwünscht, aber
tolerabel (Multimediaanwendungen).
● Harte Echtzeitsysteme sind oft nur eine Bibliothek,
die an die Applikation angebunden ist ohne Schutz
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
71
zwischen den Systemteilen
●
Betriebssystemkonzepte
●
●
●
●
●
●
●
Prozesse
Adressräume
Dateien
Ein-/Ausgabe
Datenschutz und Datensicherheit
Die Shell
Ontogenese rekapituliert die Phylogenese
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
72
Betriebssystemkonzepte - Prozesse
Prozesse sind die Abstraktion des Prozessors, denn für
jeden Prozess scheint es einen Prozessor zu geben
Ein Prozess
● ist das Schlüsselkonzept von Betriebssystemen
● ist ein Programm in Ausführung (mit vielen
Einschränkungen)
● Bekommt einen einen Adressraum zugeordnet, nicht
einfach Speicher. Der Adressraum enthält
●
●
●
24.05.13
das ausführbare Programm
die Programmdaten
den Stack
Betriebssysteme - Kapitel 1 - Einführung
73
Betriebssystemkonzepte - Prozesse
Ein Prozess
● bekommt Ressourcen zugeordnet wie
●
●
●
●
●
●
24.05.13
Register
Programcounter
Programstatusword
Stackpointer
Liste von geöffneten Dateien
und vieles mehr
Betriebssysteme - Kapitel 1 - Einführung
74
Betriebssystemkonzepte - Prozesse
●
●
●
24.05.13
Bei Multiuser-Systemen
gibt es mindestens soviel
Prozesse wie
angemeldete Benutzer
Auch beim PC als Single
User System befinden
sich viele Prozesse (s.
Taskliste)in der
Ausführung
Die Prozessliste zeigt
noch zusätzliche Prozesse
des Betriebssystems
Betriebssysteme - Kapitel 1 - Einführung
75
Betriebssystemkonzepte - Prozesse
●
●
●
24.05.13
Bei Einprozessormaschinen (das war bis vor kurzem die Regel,
das Prozesskonzept ist aber Jahrzente alt) kann zu einem Zeitpunkt
nur ein Prozess den Prozessor benutzen
Ein Prozess muss vom BS die CPU zugeteilt und
später wieder abgenommen bekommen
Diese Verwaltung der Ressource CPU zwischen den
Prozessen ist eine aufwendige und damit CPUbelastende Aufgabe des Betriebssystems (ContextSwitch)
Betriebssysteme - Kapitel 1 - Einführung
76
Betriebssystemkonzepte - Prozesse
●
Systemaufrufe zur Prozessverwaltung
Prozess erzeugen
●
●
....
Prozess beenden
Typisches Beispiel unter Linux:
1.Ein Prozess - Shell (Kommandozeileninterpreter) –
liest Kommandos vom Terminal ein. Benutzer gibt
das Kommando „Kompiliere Datei xx“.
2.Die Shell startet einen neuen Prozess, der den
Compiler ausführt
3.Am Ende des Kompilierens beendet sich der Prozess
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
77
Betriebssystemkonzepte - Prozesse
Prozessbaum
● Jeder Prozess kann einen
weiteren Prozess - einen
Kindprozess – erzeugen
● Arbeiten diese Prozesse
gemeinsam an einer
Aufgabe, müssen sie sich
synchroni-sieren
(Interprozesskommunikation)
● BS muss Bibliothek für
Kommunikation anbieten
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
78
Betriebssystemkonzepte - Prozesse
●
●
●
●
24.05.13
Systemaufrufe zur Prozessverwaltung:
Anforderung von zusätzlichem Speicher
Freigabe von nicht mehr benötigtem Speicher
Warten auf das Ende eines Kindprozesses
Signalerzeugung und Behandlung
Betriebssysteme - Kapitel 1 - Einführung
79
Betriebssystemkonzepte - Adressräume
●
●
Aktuelle BS kennen Adressräume für Prozesse.
D.h.: Jeder Prozess kann über den gesamten
systemspezifischen Adressraum verfügen, z.B bei
●
●
●
●
●
16 Bit Adressraum – 64 KB
32 Bit
- 4 GB
BS stellt diesen Speicherraum durch Verwaltung des
virtuellen Speichers zur Verfügung
„Im wesentlichen erzeugt das BS die Abstraktion
des Adressraums als einer Menge von Adressen,
auf die ein Prozess zugreifen kann.“ (S. 74)
Die Verwaltung der Adressräume und des
physischen Speichers ist eine der Hauptaufgaben
des BS (Paging, Swapping, dynamische Zuteilung
von physikalischem Speicher...).
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
80
Betriebssystemkonzepte - Dateien
●
●
Mit ihrem Dateisystem bieten Betriebssysteme ein
abstraktes Modell von geräteunabhängigen Dateien
an.
Systemaufrufe werden benötigt für
●
●
Verzeichnisse erlauben
●
●
●
Erzeugen, Verschieben, Lesen, Schreiben, Löschen
von Dateien
die Zuordnung einer Datei zu einem bestimmten Ort
die Gruppierung von Dateien
Zur Verwaltung der Verzeichnisse werden
Systemaufrufe benötigt:
●
24.05.13
Erzeugen, Verschieben, Lesen, Schreiben, Löschen
von Verzeichnissen, Wechsel des Arbeitsverzeichnisses Betriebssysteme - Kapitel 1 - Einführung
81
Betriebssystemkonzepte - Dateien
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
82
Betriebssystemkonzepte - Dateien
●
●
●
Es gibt relative und absolute Pfadangaben.
Die Syntax ist BS abhängig:
UNIX/Linux: /Fakultaet/ProfBrown/Seminare/CS01 ist
absolut. Seminare/CS01 führt zur gleichen Datei,
wenn das aktuelle Arbeitsverzeichnis
/Fakultaet/ProfBrown ist.
●
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
83
Betriebssystemkonzepte - Dateien
Zugriffsrechte:
● Beim Öffnen einer Datei werden die Zugriffsrechte
vom BS geprüft
● Ist Zugriff erlaubt, wird ein Filedescriptor geliefert, mit
dem weitergearbeitet werden kann, andernfalls wird
ein Fehlercode geliefert.
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
84
Betriebssystemkonzepte - Dateien
Eingebunde Dateisysteme – mounted file system:
● Zweck: Einbindung von optischen Laufwerken
(CD,DVD), Solid State Disc (SSD) und externe
Festplatten über USB in das Dateisystem.
● Implementierung unter Linux sehr elegant: Mit dem
mount Befehl wird ein Laufwerk in das Dateisystem
eingebunden und im Pfad ohne physikalische
Laufwerksbeschreibung angesprochen.
(Abstraktion! des BS)
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
85
Betriebssystemkonzepte - Dateien
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
86
Betriebssystemkonzepte - Dateien
Spezialdatei – special file (Unix/Linux):
● Zweck: Einbindung von Ein-/Ausgabegeräten in das
Dateisystem.
● Können dann mit den Systemaufrufen wie Dateien
gelesen und beschrieben werden
● Zwei Arten:
●
●
24.05.13
Blockdateien (block special file) Für Geräte mit
freiadressierbaren Blöcken wie bei Festplatten.
Zeichendatei (character special file) Werden benutzt
beispielsweise Drucker abzubilden. Sie liegen im /dev
Verzeichnis: /dev/lp
Betriebssysteme - Kapitel 1 - Einführung
87
Betriebssystemkonzepte - Dateien
Pipes (Unix/Linux):
● Zweck: Verbindung zweier Prozesse mittels einer
Pseudodatei.
● Kommunikation zweier Prozesse ist dem Lesen und
Schreiben einer Datei sehr ähnlich
● Sender schreibt in die Pipe (Datei)
● Empfänger liest aus der Pipe
● Pipe wird vorher eingerichtet....
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
88
Betriebssystemkonzepte - Ein-/Ausgabe
●
●
●
●
Siehe Folien bei BS und Hardware
BS hat die Aufgabe, alle Ein-Ausgabegeräte zu
verwalten.
Ein-Ausgabe Subsystem
Gerätetreiber
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
89
Betriebssystemkonzepte
Datenschutz und Datensicherheit
●
●
●
●
Verwaltung von Zugriffsrechten auf Dateien um
autorisierte Benutzung zu gewährleisten
Oft: Hierarchiche Organisation wie z.B.
user/group/world
Linux: rwx bits (read, write execute)
Listet man Dateien, sieht man auch die
Zugriffsrechte, z.B
rw-r-x--x 1 froehlic bel 14040 May 16 2012 QSBenchmark.jar
user froehlich darf die Datei lesen und schreiben,
aber nicht ausführen, Gruppenmitglieder von bel
dürfen sie lesen, world (alle anderen) dürfen die
Datei nur ausführen
● Sicherheit umfasst auch Virenschutz – eigenes
24.05.13Thema
Betriebssysteme - Kapitel 1 - Einführung
●
90
Betriebssystemkonzepte - Die Shell
BS führt Systemaufrufe aus!
● Editoren, Compiler, Linker, Assembler,
Kommandozeileninterpreter (SHELL) sind nicht Teil
des BS
● Shell ist Schnittstelle zwischen user und BS
● Linux: viele Shells – sh,csh,ksh,bash
● Beim Anmelden des users wird eine Shell gestartet
und ein Terminal als Standardein-/ausgabe benutzt
● Nach Eingabe eines Kommandos erzeugt die Shell
einen Kindprozess. Shell wartet auf das Ende des
Kindprozesses und nimmt dann neuen Auftrag an
● Später Vortrag über die Linux Shell, mit Beispielen
für Pipes.
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
●
91
Betriebssystemkonzepte - Ontogenese
rekapituliert die Phylogenese
●
Biologie: Die Entwicklung eines Embryos wiederholt
die Entwicklung der Art
●
●
●
●
●
24.05.13
Betriebssysteme - Kapitel 1 - Einführung
92

Documentos relacionados