Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3....

103
Betriebssysteme Dieter Z ¨ obel Universit ¨ at Koblenz-Landau Fachbereich Informatik Institut f ¨ ur Informatik

Transcript of Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3....

Page 1: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

Betriebssysteme

Dieter Zobel

Universitat Koblenz-LandauFachbereich InformatikInstitut fur Informatik

Page 2: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

Inhaltsverzeichnis

1 Einfuhrung 21.1 Allgemeine Zielsetzung . . . . . . . . . . . . . 31.2 Epochen der Betriebssystem-Entwicklung . . . 111.3 Aufbauprinzipien von Betriebssystemen . . . . 17

1.3.1 Monolithischer Aufbau . . . . . . . . . . 211.3.2 Schalenorientierter Aufbau . . . . . . . 221.3.3 Virtuelles Aufbauschema . . . . . . . . 231.3.4 Mikrokern-basierer Aufbau . . . . . . . 25

1.4 Einsatzbreite von Betriebssystemen . . . . . . 271.5 Genealogie wichtiger Betriebssysteme . . . . . 36

2 Parallelitat und Synchronisierung 37

2.1 Parallele Prozesse . . . . . . . . . . . . . . . . 382.2 Parallelitat und Synchronisierung . . . . . . . . 532.3 Systematische Entwicklung paralleler Pro-

gramme . . . . . . . . . . . . . . . . . . . . . . 672.4 Deadlocks in der parallelen Programmierung . 802.5 Elementare Methoden der Synchronisierung . 962.6 Fortgeschrittene Methoden der Synchronisie-

rung . . . . . . . . . . . . . . . . . . . . . . . . 1122.7 Paradigmen der parallelen Programmierung . . 155

3 Komponenten von Betriebssystemen 1713.1 Prozessplanung und -verwaltung . . . . . . . . 1723.2 Speicherverwaltung . . . . . . . . . . . . . . . 1853.3 Datei- und Gerateverwaltung . . . . . . . . . . 2233.4 Struktur von Betriebssystemen . . . . . . . . . 2423.5 Leistungsbewertung dienstleistender Systeme 253

4 Verteilte Systeme 2454.1 Begriffsbestimmung . . . . . . . . . . . . . . . 2464.2 Ordnung von Ereignissen . . . . . . . . . . . . 2524.3 Verteilte Programmierung . . . . . . . . . . . . 2574.4 Paradigmen der verteilten Programmierung . . 264

i

Page 3: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

Betriebssysteme0pt 0.4pt 0.4pt 0.4pt

Dieter Zobel 0.0 - 0 1

Page 4: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

Kapitel 3

Komponenten von Betriebssystemen

• Verwaltung von Prozessen

• Scheduling von Prozessen

• Organisation, Auf- und Zuteilung undVerwaltung von Speicher

• Organisation und Verwaltung von Da-teien

• Ein/Ausgabe uber Gerate

• Konzepte des Aufbaus und der Struk-turierung von Betriebssystemen

• Leistungsbewertung bei dienstleisten-den Systemen

171

Page 5: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

3.1 Prozessplanung und -verwaltung• Verwaltung von Prozessen

• Scheduling von Prozessen

Dieter Zobel 3.1 - 1 172

Page 6: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Zustandsmodell fur unterbrechbare Prozesse

rechenbereit rechnend

wartend

1 52 6

34

1. Starten eines Prozesses.

2. Der Prozessor ist frei, sodass ein re-chenbereiter Prozess den Prozessor inBesitz nehmen kann.

3. Ein Prozess verzogert sich (System-aufruf) und gibt damit den Prozessorwieder frei.

4. Ein Prozess wird angestoßen, d. h. er

kann jederzeit wieder in den Besitz desProzessors gelangen.

5. Aufgrund eines externen Ereignissesverliert ein Prozess den Prozessor(Ablauf einer Zeitscheibe, Unterbre-chung durch den Controller einer Plat-te und vieles mehr). Ein Unterbre-chungsprogramm oder ein andererProzess nimmt den Prozessor in Be-sitz.

6. Ende eines Prozesses.

Alle Zustandsubergange werden von derProzessverwaltung vollzogen.

Dieter Zobel 3.1 - 2 173

Page 7: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Prozessbeschreibung (1)

Datenstrukturen fur Prozesse (in Anlehnung an MINIX [39]):

# define NR_TASKS 8 # define NR_PROCS 16 EXTERN struct proc {

int p_reg [NR_REGS]; /* Registersatz */

int *p_sp; /* Stapelzeiger */

struct pc_psw p_pcpsw; /* Befehlszeiger und Programm- */

/* statuswort */

int p_flags; /* Zustand des Prozesses */

int pid; /* Prozessnummer */

int usertime; /* aufgenommene Rechenzeit */

:

struct proc *p_callerq; /* Zeiger auf die Liste der Sender */

struct proc *p_sendlink; /* naechster Sender */

message *p_messbuf; /* Zeiger auf eine Nachricht */

int p_getfrom; /* pid, des Prozesses, von dem eine

Nachricht erwartet wird */

:

struct proc *p_nextready; /* naechster rechenbereiter */

/* Prozess */

proc [NR_TASKS + NR_PROCS];

Dieter Zobel 3.1 - 3 174

Page 8: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Prozessbeschreibung (2)

Angaben in der Prozessbeschreibung (process control block (PCB) in Anlehnung an[2])

• Prozessnummer (process-ID)

• Prioritat

• Prozesszustand

• Angaben zu den benutzten oder ver-brauchten Betriebsmitteln (geoffnete

Dateien, belegte Speicher getrenntnach Arten, Rechenzeit)

• Angaben zu den Rechten und Be-grenzungen des Prozesses (Maximal-zahl goffneter Dateien, Speicherbe-grenzung, Rechenzeitschranken)

Dieter Zobel 3.1 - 4 175

Page 9: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Prozessbeschreibung (3)

Die Prozessbeschreibungen aller Prozesse mussen im Hauptspeicher zugreifbar sein,da sie die Informationen uber die belegten Betriebsmittel enthalten.

Man unterscheidet zwischen Betriebssy-temen mit statischer Prozessverwaltungund unterschiedlichen Graden dynami-scher Prozessverwaltung:

• Bei statischer Prozessverwaltung istdie Zahl der Prozesse zur Entwick-lungszeit bekannt. Entsprechend wer-den nur die Prozessbeschreibungenangelegt, die tatsachlich benotigt wer-den. Die einzige Unsicherheit bleibt beider Große der einzelnen Stapel. Insge-samt ergibt sich so eine geringe Großefur das Betriebssystem. Zum Beispiel

das Betriebssystem OSEK (vergleiche[18]) arbeitet auf diese Weise.

• Bei der dynamischen Prozessverwal-tung ist vorher nicht bekannt, wievieleProzesse ablaufen werden. Typischer-weise halt beispielsweise Linux in derpid.h-Variante 4000 Eintrage fur Pro-zesse vor. Hier wird oft unnotig Spei-cher verschwendet. Dagegen lasst diehash.h-Variante eine großere Dyna-mik zu, die jedoch einher geht mitlangeren Zugriffszeiten auf die Pro-zessbeschreibungen (vergleiche [2]).

Dieter Zobel 3.1 - 5 176

Page 10: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Scheduling (1)

Grundlegende Aufgabe

Auswahl desjenigen Prozesses (oder Auftrags), der in den Besitz des Prozes-sors (oder auch anderer Betriebsmittel) gelangen soll. Die dafur zustandigeKomponente des Betriebssystems heißt Scheduler und ist meist Bestandteilder Prozessverwaltung.

Zielsetzungen des Scheduling:

• hohe Auslastung der Rechenanlage.

• prompte Bedienung der Auftrage.

• Fairness bei der Bedienung von Auftragen.

Bei Echtzeitbetriebssytemen steht das Scheduling in der Verantwortung der rechtzeiti-gen Ausfuhrung von Prozessen.

Dieter Zobel 3.1 - 6 177

Page 11: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Scheduling (2)

Bezuglich der vorhandenen Systemkenntnis sind zwei Ansatze des Scheduling zu un-terscheiden.

1. probabilistisches SchedulingDer Scheduler beobachtet das Pro-zessverhalten und ermittelt charakte-ristische Parameter (z. B. E/A- undProzessor-Intensitat), um dann Pro-zesse zu bevorzugen oder zu benach-teiligen.

2. deterministisches SchedulingAlle Prozesse und deren charakteri-stischen Merkmale (Ausfuhrungszeit,Bedarf an Betriebsmitteln, Anhangig-keiten von anderen Prozessen) sindbekannt1. Zu erstellen ist ein Zeitplan,der die Zielsetzungen des Schedulingverwirklicht.

1Bei Aufgabenstellungen, die in Echtzeitsystemen abgewickelt werden, sind die Kenntnisse vielfach gegeben.

Dieter Zobel 3.1 - 7 178

Page 12: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Teilaufgaben beim Scheduling

(a) Ubernahme eines anstehenden Pro-zesses in den Zustand rechenbereit(engl. high level scheduler).

(b) Gewichtung der rechenbereiten Pro-zesse (engl. medium level scheduler).

(c) Auswahl desjenigen Prozesses, derdann in den Zustand rechnend uber-geht, wenn der Prozessor frei wird(engl. low level scheduler, dispatcher).

(d) Sind die Prozesse unterbrechbar(engl. preemptive), dann wird ein rech-nender Prozess von Zeit zu Zeit un-terbrochen und wieder unter die re-chenwilligen eingereiht. Sind Prozes-se nicht unterbrechbar (engl. non-preemptive), dann wird der Prozessbis zum Ende bearbeitet und dieseKomponente entfallt.

21(a)

(b)(c)

(d)

Dieter Zobel 3.1 - 8 179

Page 13: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Strategien des probabilistischen Scheduling

1. non-preemptive

• FCFS (First Come First Served)• SJF (Shortest Job First)

Wahle aus der Schlange 1 denje-nigen Auftrag aus, der die kurzesteZeitvorgabe besitzt.• HRRN (Highest Response Ratio

Next)Wahle aus der Schlange 1 denjeni-gen Auftrag mit hochstem Quotien-ten aus2:

Wartezeit + Zeitvorgabe

Zeitvorgabe

2. preemptive

• RR (Round Robin)• Dynamische Prioritaten

(typisch fur Betriebssysteme imMehrprogrammbetrieb)• SRT (Shortest Remaining Time)

Ordne die Auftrage in der Schlange2 entsprechend der verbleibendenZeitvorgabe.

3. Zusammenfassender Ansatz

• DPRR (Dynamic Priority RoundRobin)In der Schlange 1 gilt die FCFS-Strategie und in der Schlange 2 dieRR-Strategie.

2Fuhrt zu einer impliziten Begunstigung von Prozessen mit kurzer Zeitvorgabe.

Dieter Zobel 3.1 - 9 180

Page 14: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Scheduling in GO (1)

Konzept des User-level Schedulers

Ein GO-Programm wird im Rahmen eines schwergewichtigen Prozesses abgearbeitet.Dazu besitzt er ein eigenes Laufzeitsystem (runtime executive).

func main() {

go f(x) // f(x) nebenlaufig

}

Goroutinen entsprechen Funktionen, die zur main-Routine und zu allen anderen Go-routinen nebenlaufig (concurrent) sind. Entsprechend konnen diese, soweit es tech-nisch moglich ist, gleichzeitig (parallel) ausgefuhrt werden.

Dieter Zobel 3.1 - 10 181

Page 15: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Scheduling in GO (2)

Die Hulse, in der eine Goroutine auf der Plattform (Betriebssystem und Rechensystem)ausgefuhrt werden kann, ist der leichtgewichtige Prozess (Thread)3.

3Weitere Hinweise zur Programmiersprache GO in [21] und [27].

Dieter Zobel 3.1 - 11 182

Page 16: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Scheduling in GO (3)

Vergleich von Ansatzen

Kernel-level Scheduling

Der Kernel arbeitet meist nach dem 1 :

1-Prinzip (z.B. Linux). Gleichzeitig kennter die Zuordnung von schwer- zu leicht-gewichtigen Prozessen und kann strate-gische Entscheidungen treffen, beispiels-weise schwergewichtige Prozesse mit we-nigen Threads zu bevorzugen.

User-Level SchedulingHier wird nach dem M : N -Prinzip verfah-

ren, wobei N nebenlaufige Routinen (bei-spielsweise Goroutinen) auf M Threads(worker) abgebildet werden. Die Umschal-tung zwischen den nebenlaufigen Routi-nen geht ohne Umschaltung zwischen denKernel-Threads, was sehr effektiv ist.

Dieter Zobel 3.1 - 12 183

Page 17: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Scheduling in GO (4)

Modellbildung beim GO-Laufzeitsystem. Drei Abstraktionen werden eingefuhrt:

G bildet die Goroutinen, die im GO-Programm erzeugt wurden und nebenlaufig aus-gefuhrt werden konnen.

M entspricht den Threads (auch worker genannt), die die Hulse fur die Ausfuhrung derGoroutinen auf der Plattform bereitstellen.

P verkorpert die (virtuellen) Prozessoren oder Kerne, die zur Ausfuhrung der ThreadsHardware-seitig existieren.

Dieter Zobel 3.1 - 13 184

Page 18: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

3.2 Speicherverwaltung• Grundsatzliche Ziele

• Organisation von Speicher

• Binden und Laden

• Virtuelle Adressierung

Dieter Zobel 3.2 - 1 185

Page 19: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Grundsatzliche Ziele

• Zuteilung von Speicher fur dieAusfuhrung von Prozessen, Speicherfur Programm-Code und Daten

• dynamiche Zuteilung von Speicher zurLaufzeit

• Buchfuhrung zur Belegung sowie zu

den Belegungsarten des Speichers

• Schutz der Prozesse vor unberechitig-ten Zugriffen

• Entkoppelung von physikalischem undvirtuellem Speicher

Hierarchie der beteiligte Speicherformen: Register, (Level-1 bis Level-3) Cache-Speicher, Hauptspeicher und HintergrundspeicherKalkulation der Zugriffszeit pro Hierarchiestufe, wenn Tl die mittlere Zugriffszeit auf dasSpeichermedium der Stufe l ist und p die zugehorige Wahrscheinlichkeit angibt:

Tl,l+1 = p Tl + (1− p)Tl+1

Dieter Zobel 3.2 - 2 186

Page 20: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Strategien zur Vergabe des Hauptspeichers

• Einbenutzer-Einspeicher-Systemefuhrt gegebenenfalls zu Engpassen, weil doch mehr Hauptspeicher gebrauchtwird, als physikalisch zur Verfugung steht.

• SwappingVollstandige (oder teilweise) Ein- und Auslagerung des rechnenden Prozesses

• PartitionierungFeste Zuordnung des gesamten Hauptspeichers in Teile, in die ein Prozesswahrend seiner Ausfuhrung passen muss.

• Virtuelle AdressierungHardware-unterstutzte Trennung von physikalischem und virtuellem Speicher

Dieter Zobel 3.2 - 3 187

Page 21: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Einbenutzer-Einspeicher-Systeme

Benotigt der Benutzer fur die ver-schiedenen Phasen der Anwendungverschiedene Programmbereiche, dienicht gemeinsam in den Speicher pas-sen, so wird haufig die Technik derOverlays verwendet.

frei

Benutzer

Betriebssystem

Interruptvektor

b

a

0

Ein Benutzer hat bis auf den Anteilfür das Betriebssystem den ganzenHauptspeicher zur Verfügung

Beispiel: Unter MS-DOS steht dieOverlay-Technik unter dem Interruptx21 und die DOS-Funktion x4B03 zurVerfugung.

Initialisierungsphase Arbeitsphase1

2

Betriebssystem

Interruptvektor

a

0

Residenter Anteilder Anwendung

Dieter Zobel 3.2 - 4 188

Page 22: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Swapping

Betriebssystem

Interruptvektor

Speicherbereichfür das Swapping

Prozeß AProzeß BProzeß A

...1

23

Zeit

• Ein Prozess Anwenderprogrammmuss vollstandig in den Hauptspeicherpassen.

• Zu einem Zeitpunkt gehort der Haupt-speicher einem Prozess.

• Bei jeder Prozessumschaltung (bei-spielsweise ausgelost durch den Ab-lauf einer Zeitscheibe) wird der ak-tuelle Prozess auf den Hintergrund-speicher ausgelagert und ein andererProzess vom Hintergrund geladen undfortgesetzt.

Wertung: Einfache aber sehr zeitintensi-ve Methode, um den Mehrprogrammierbe-trieb zu gewahrleisten.

Dieter Zobel 3.2 - 5 189

Page 23: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Partitionierung

• Der Systemverwalter teilt den Haupt-speicher, der nicht vom Betriebssy-stem beansprucht wird, in Partitionenein.

• Der Benutzer teilt dem Betriebssystemexplizit mit, in welcher Partition der je-

weilige Auftrag (Prozess bzw. hier ubli-cherweise als Job bezeichnet) abgear-beitet werden soll.

• Ein Prozess bleibt fur die Dauer seinerAbarbeitung allein in seiner Partition.

Job 4 Job 3 Job 2 Job 1

Job 5

Job 6Job 7Job 8

Partition 4

Partition 3

Partition 2

Partition 1

Betriebssystem

aktive Prozessewartende Prozesse

Schema der Speicheraufteilung beim Betriebssystem OS/370. Jeder Prozess (= Job) muss vor der zugeteilten Partition warten, bis sie frei ist.

Dieter Zobel 3.2 - 6 190

Page 24: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Virtuelle Adressierung (1)

Grundprinzip: Trennung von der Adressierung durch den Prozess in Ausfuhrung (vir-tuelle Adressen) von den Referenzen auf den Hauptspeicher (physikalische Adresse).Es sei:

• V A der virtuelle Adreßraum (auch als logischer Adressraum bezeichnet)

• PA der physikalische Adressraum (auch als realer Adressraum bezeichnet)

Jeder Zugriff auf eine virtuelle Adresse ist nun umzurechnen in die zugehorige physika-lische Adresse. Dazu ist eine massive Unterstutzung durch entsprechende Hardware(z. B. eine memory management unit MMU) notwendig.

Prozessor MMU

RAM ROM

Adressumrechnung durch die MMU.

Dieter Zobel 3.2 - 7 191

Page 25: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Virtuelle Adressierung (2)

Eigenschaften:

• Die Programmgroße (virtueller Adressraum) ist von der Große des Hauptspeichers(physikalischer Speicher) unabhangig.

• Die Summe der virtuellen Adressraume aller Prozesse kann den zur Verfugungstehenden physikalsichen Adressraum bei weitem ubersteigen.

• Kein Prozess kann auf Speicherbereiche anderer Prozesse zugreifen, es sei denn,ein solcher Speicherbereich sei gerade zu diesem Zweck eingerichtet worden.

Dieter Zobel 3.2 - 8 192

Page 26: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Aufteilungsformen bei der virtuellen Adressierung

Der gesamte virtuelle Adressraum einesProzesses wird in Verwaltungseinheitenunterteilt:

• SegmenteDer gesamte virtuelle Adressraum ei-nes Prozesses wird in wenige beliebiggroße Teile zerlegt, wobei einer odermehrere auf Programm-Code bzw. dieDaten entfallen. Segmente bilden Ein-heiten, die zumindest die gleichen Zu-griffsrechte (z.B.: nur Lesen, Lesenund Schreiben) besitzen.

• Seiten (pages)Der gesamte virtuelle Adressraumwird in eine Menge gleich großer

Speicherbereiche aufgeteilt. Seitenumfassen typischerweise ein Vielfa-ches der Blockgroße (z.B. 4 kBytegroße Seiten). Entsprechend ist derphysikalische Adressraum eines Pro-zesses in entsprechend große Seiten-rahmen (page frames) unterteilt. Zu ei-nem Zeitpunkt ist nur eine Teilmengeder Seiten auch im Hauptspeicher.

Die beiden Verwaltungsstrukturen lassensich kombinieren, indem der virtuelleAdressraum eines Prozesses in Segmen-te, bestehend aus einer beliebigen Anzahlvon Seiten, aufgeteilt wird.

Dieter Zobel 3.2 - 9 193

Page 27: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Eintrage in der Seitentabelle

Zwei Arten von Tabelleneintragen sind zuunterscheiden:

• Tabellen-Deskriptoren wegen derMehrstufigkeit

– Verweis auf die nachste Ebene derTabelle

– Gultigkeit des Verweises– Schreibschutz

• Seiten-Deskriptoren

– physikalische Adresse des Seiten-rahmens

– Gultigkeit der physikalischenAdresse

– Cache-Modus

– Modified-Bit

– Superuser-Bit

– Dirty-Bit

– Schreibschutz

Daruberhinaus werden ublicherweise wei-tere Eintrage vorgehalten, die von denSpeicherverwaltungen der Betriebssyste-me benutzt werden konnen, um eine lei-stungsfahige Seitenverwaltung zu ermogli-chen.

Dieter Zobel 3.2 - 10 194

Page 28: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Mehrstufigkeit des Speicherzugriffs (1)

Diese Tabelle soll eine schnelle Umrechnung der virtuellen in eine physikalische Adres-se gewahrleisten.

Beispiel: Struktur der Seitentabellen des MC68040 bei 4kByte Seitenrahmen.

.

.

.

.

.

.

.

.

..

......

System- oderBenutzermodus

SRP

URP

ROOTPOINTER

TIA TIB TIC OFFSET

31 25 24 18 17 12 11 0

TIA

TIB

TIC128Entries

128Entries

64Entries

OFFSET

+

physikalischeAdresse

Die ROOT POINTER sind Bestandteil der MMU.

Dieter Zobel 3.2 - 11 195

Page 29: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Mehrstufigkeit des Speicherzugriffs (2)

Jeder virtuellen Adresse ist ein Wert zugeordnet, auf den zugegriffen werden soll.

(1) Liegt der Wert in einem vorgelagerten Cache-Speicher?

(2) Oder ist die virtuelle Adresse in der Tabelle der MMU enthalten? Dann ist die phy-sikalische Adresse unmittelbar in der MMU zu berechnen.

(3) Oder ist die virtuelle Adresse in dem Teil der Seitentabelle, die im Hauptspeicherliegt? Dann berechnet die MMU nach wenigen Hauptspeicherzugriffen in die Sei-tentabelle die physikalische Adresse oder stellt einen Seitenfehler (page fault) fest.

(4) Oder ist die virtuelle Adresse in dem Teil der Seitentabelle, der auf dem Hinter-grundspeicher liegt? Dann ist dieser Teil der Seitentabelle in den Hauptspeicherzu laden und die MMU verfahrt so wie unter (3).

(5) Oder ist die Adresse nicht in der Seitentabelle? Dann ist die virtuelle Adresse falsch(typische Fehlermeldungen: segmentation fault, bus error).

Dieter Zobel 3.2 - 12 196

Page 30: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Mehrstufigkeit des Speicherzugriffs (3)

Seitenfehler

Wert

Cache-Speicher

Cache-Management

Wert

Seitenrahmen

Seitentabelle

Hauptspeicher

Seitentabelle

Hintergrundspeicher

virtuelleAdresse

(1)

MMU

Wert nichtim Cache(2,3,4)

(2,3)

(3)

(4)

falsche Adresse

der für den Zu-griff notwendigeTeil der Seiten-tabelle befindetsich im Hinter-grundspeicher

Im Fall (3) wird auf Bedarf (demand pa-ging) nachgeladen. Werden dabei außerder angeforderten Seite weitere nachge-laden, dann spricht man vom prefetchingoder prepaging.

Bei den meisten technischen Realisierun-gen sorgt die MMU selbst fur die Aktualitatder MMU-Tabelle, d.h. im Fall (3) verdrangtdie gerade benotigte Abbildung i→ f (i) ir-gendeine andere in der MMU-Tabelle ent-haltene Abbildung.

Dieter Zobel 3.2 - 13 197

Page 31: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Aktivierungen der Seitenverwaltung

• beim Start eines Prozesses

– Aufbau einer Seitentabelle fur die-sen Prozess

– Laden des Seitenrahmens mit demProgrammanfang und dem Anfangdes Stapelbereiches

• bei Seitenfehler

– Bereitstellung eines freien Seiten-rahmens (ggf. durch Auslagern ei-ner anderen Seite)

– Nachladen der benotigten Seite

• bei der Prozessumschaltung

– Retten des ROOT POINTERS des

alten Prozesses und Laden desROOT POINTERS des neuen Pro-zesses

• bei Systemaufruf

– Wechsel in den Systemmodus beigleichzeitiger Zuordnung der Sei-tentabelle des Systems

– zuruck in den Benutzermodus beigleichzeitiger Zuordnung der Sei-tentabelle des Benutzers

• beim Ende eines Prozesses

– Aufgabe seiner Seitentabelle undbelegten Seitenrahmen

Dieter Zobel 3.2 - 14 198

Page 32: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Effizienz der virtuellen Adressierung

Entscheidend fur die Effizienz ist eine niedrige Seitenfehlerwahrscheinlichkeit4

Seitenfehlerwahrscheinlichkeit =Anzahl der Seitenfehler

Anzahl aller Adressreferenzen

Voraussetzung dazu ist, dass hinreichend viele Seiten des Prozesses im Hauptspei-cher vorhanden sind. Großenordnungsmaßig liegen gute Seitenfehlerwahrscheinlich-keiten deutlich unter einem Schwellwert 0,001.Wird mehr Zeit damit verbracht, fehlende Seiten nachzuladen als mit der eigentlichenBerechung, dann spricht man vom Seitenflattern (thrashing).

Schwellwerte der obigen Große sind aufgrund zweier Eigenschaften, Lokalitat undGleichformigkeit, auch dann erreichbar, wenn nur vergleichsweise wenige Seiten imHauptspeicher liegen.

4Die Zugriffe auf den Hauptspeicher sind ungleich schneller als diejenigen auf den Hintergrundspeicher. Liegt ein Hauptspeicherzugriff bei etwa35ns und ein Zugriff auf den Hintergrundspeicher bei 7ms, dann ergibt sich das Verhaltnis 1:200000.

Dieter Zobel 3.2 - 15 199

Page 33: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Effizienz durch Lokalitat und Gleichformigkeit

- LokalitatsprinzipFur gewohnlich fuhren 90 % aller Adressreferenzen in 10 % des Speichers.

- GleichformigkeitEs ist sehr wahrscheinlich, dass sich ein Prozess bezuglich seiner Adressreferen-zen in nachster Zukunft ahnlich verhalt, wie in seiner jungsten Vergangenheit.

Die Implementierung der virtuellen Adressierung hat entscheidenden Einfluss auf dieLeistungsfahigkeit von Rechenanlagen. Analytische Untersuchungen gestalten sichaufgrund der komplexen Zusammenhange schwierig.

Dieter Zobel 3.2 - 16 200

Page 34: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Schema der Seitenaustauschalgorithmen

Sei V A der virtuelle und PA der physikali-sche Adressraum. Die Folge

γ = r1, . . . , rt, . . . , rτ

heißt (Seiten-)Referenzfolge, d.h. rtsteht fur diejenige Seite des virtuel-len Adressraums, in die bei der t-tenAdressreferenz zugegriffen wurde. Sei

K ⊂ V A

die Menge der virtuellen Seiten, die zurZeit im physikalischen Speicher liegen. Esgelte:

| K |≤ m =| PA |

Ein Nachladen der Seite rt wird notwen-dig, wenn fur die darin enthaltene virtuel-le Adresse i keine physikalische Seite vor-handen ist:

f (i) =⊥

Die Seitenaustauschalgorithmen legenfest, ob bzw. welche Seite in K dafurauf den Hintergrund ausgelagert werdenmuss.

Dieter Zobel 3.2 - 17 201

Page 35: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Konzept des Kontrollzustandes q

Kontrollzustande beschreiben die Rangfolge der Seiten bezuglich ihrer Auslagerungauf den Hintergrund. Mittels einer Ubergangsfunktion g lassen sich unterschiedlicheSeitenaustauschalgorithmen beschreiben5:

g(Kt−1, qt−1, rt) = (Kt, qt)

Kt−1 alte Seitenmenge im physikalischen Speicherqt−1 alter Kontrollzustandrt angeforderte SeiteKt neue Seitenmenge im physikalischen Speicherqt neuer Kontrollzustand

Fur die nachfolgenden Beispiele wird von der folgenden Seitenreferenzfolge bei |V A |= 5 ausgegangen:

γ = 2, 1, 3, 4, 1, 5, 1, 3, 1, 4, 5, 1, 4, 2, 4

Weiterhin sei | K |= 3.5Aus Grunden der Einfachheit wird bei den nachfolgenden Algorithmen eine Indizierung mit den Zeitpunkten t− 1 und t weggelassen.

Dieter Zobel 3.2 - 18 202

Page 36: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

FIFO-Algorithmus

Diejenige Seite wird ausgelagert, die bereits am langsten im Hauptspeicher liegt. Sei

| K |= m und q = (y1, . . . , ym)

gFIFO(K, q, x) =

{(K ∪ {x} − {ym}, q1) ,falls x 6∈ K(K, q) ,falls x ∈ K

mitq1 = (x, y1, . . . , ym−1)

Beispiel: Seitenreferenzfolge unter FIFO fuhrt zu 12-maligem Nachladen:

2 1 3 4 1 5 1 3 1 4 5 1 4 2 4K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15

2 1 3 4 4 5 1 3 3 4 5 1 1 2 42 1 3 3 4 5 1 1 3 4 5 5 1 2

2 1 1 3 4 5 5 1 3 4 4 5 1⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Dieter Zobel 3.2 - 19 203

Page 37: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

LRU-Algorithmus

Diejenige Seite, die in der Vergangenheit am langsten nicht referiert wurde (engl. leastrecently used) wird ausgelagert.Sei | K |= m und q = (y1, . . . , ym)

gLRU(K, q, x) =

{(K ∪ {x} − {ym}, q1) ,falls x 6∈ K(K, q2) ,falls x ∈ K

mit q1 = (x, y1, . . . , ym−1)

und q2 = (x, y1, . . . , yk−1, yk+1, . . . , ym) mit x = yk.Beispiel: Die Seitenreferenzfolge fuhrt zu 9-maligem Nachladen:

2 1 3 4 1 5 1 3 1 4 5 1 4 2 4K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15

2 1 3 4 1 5 1 3 1 4 5 1 4 2 42 1 3 4 1 5 1 3 1 4 5 1 4 2

2 1 3 4 4 5 5 3 1 4 5 1 1⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Dieter Zobel 3.2 - 20 204

Page 38: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

OPT-Algorithmus (1)

Dieser Algorithmus ist optimal, indem diejenige Seite ausgelagert wird, deren nachsteReferenz am weitesten in der Zukunft liegt.6 Fur einen Zustand sei n(yi) die Anzahlder Referenzen bis zur nachsten Referenz von yi. Gibt es keine solche mehr, so sein(yi) =∞.Sei | K |= m und q = ((y1, n(y1), . . . , (ym, n(ym)))), wobei aus 1 ≤ i < j ≤ m folgt:n(yi) ≤ n(yj).

gOPT (K, q, x) =

{(K ∪ {x} − {ym}, q1) , falls x 6∈ K(K, q2) , falls x ∈ K

mitq1 = ((y1, n(y1)), . . . , (x, n(x)), . . . (ym−1, n(ym−1)))

undq2 = ((y2, n(y2)), . . . , (x, n(x)), . . . , (ym, n(ym)))

und y1 = x6Dieser Algorithmus ist, da er die Kenntnis der gesamten Referenzfolge γ voraussetzt, nicht praktikabel. Er dient lediglich dazu, die Gute der

ubrigen Algorithmen zu messen. In der Fachliteratur wird der OPT-Algorithmus zu Ehren seines Entwicklers auch Belady-Algorithmus genannt.

Dieter Zobel 3.2 - 21 205

Page 39: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

OPT-Algorithmus (2)

Beispiel: Die Seitenreferenzfolge unter dem OPT-Algorithmus fuhrt zu 7-maligemNachladen:

2 1 3 4 1 5 1 3 1 4 5 1 4 2 4K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15

2,13 1,3 1,2 1,1 1,2 1,1 3,1 1,1 5,2 5,1 1,1 4,1 4,2 4,1 4,∞2,12 3,5 3,4 3,3 3,2 1,2 5,3 1,3 1,2 4,2 1,∞ 1,∞ 2,∞ 2,∞

2,11 4,6 4,5 5,5 5,4 3,∞ 3,∞ 4,3 5,∞ 5,∞ 5,∞ 1,∞ 1,∞⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Dieter Zobel 3.2 - 22 206

Page 40: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Seitenaustauschalgorithmen in der Praxis (1)

Aus den breiten Repertoire der grundlegenden Verfahren wurden diejenigen Algorith-men in die Praxis umgesetzt, um einerseits innerhalb von Betriebssystemen den aus-tauch von Seiten zu implementieren. Aber auch das Anwendungsfeld der Caches hatsich aus den Verfahren bedient mit dem Ziel, die Cache-Zeilen zu bestimmen, diedurch neue zu ersezten sind.

In diesem Zusammenhang sind zwei Verfahren zu erwahnen, die besondere Bedeu-tung erlangt haben. Beide benotigen ein Referenz-Bit, das fur den Fall, dass eine Seitegerade vorhanden ist, diese als referiert markiert. Dies erhoht ihre Chance, nicht aus-gelagert zu werden.

• Second Chance (SCH): Entspricht weitgehend dem FIFO-Verfahren mit dem Un-terschied, dass beim Auslagern die altesteste nicht mehr referierte Seite aus-gewahlt wird.

• Clock (CLK): Ahnlich dem SCH-Verfahren, wobei eine Art Uhrzeiger zyklisch dienachste auszulagernde Seite bestimmt, die nicht mehr referiert wurde.

Dieter Zobel 3.2 - 23 207

Page 41: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

SCH-Algorithmus (1)

Sei | K |= m und q = ((y1, r(y1)), . . . , (ym, r(ym))) der Kontrollzustand. Dabei ist r(yi),mit i ∈ {1, ...,m} ein Bit-Wert, der gesetzt wird sobald die Seite i referiert wird.

gSCH(K, q, x) =

{(K ∪ {x} − {yk}, q1) , falls x 6∈ K(K, q2) , falls x ∈ K

Im Fall x ∈ K istq2 = ((y1, r(y1)), . . . , (x, 1), . . . , (ym, r(ym)))

und x = yk.

Im Fall x 6∈ K sei yk die Seite in q mit dem hochsten Index, fur die gilt r(yk) = 0. Dannergibt sich der Folgezustand als:

q1 = ((x, 0), (yk+1, 0), . . . , (ym, 0), (y1, r(y1)), . . . , (yk−1, r(yk−1)))

Bedenke den Fall, dass alle Seiten markiert sind. Dann wird wie bei FIFO ym ausgela-gert.

Dieter Zobel 3.2 - 24 208

Page 42: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

SCH-Algorithmus (2)

Beispiel: Die Seitenreferenzfolge unter dem SCH-Algorithmus fuhrt zu 9-maligemNachladen:

2 1 3 4 1 5 1 3 1 4 5 1 4 2 4K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15

2,0 1,0 3,0 4,0 4,0 5,0 5,0 3,0 3,0 4,0 5,0 5,0 5,0 2,0 2,02,0 1,0 3,0 3,0 1,0 1,1 5,0 5,0 1,1 4,0 4,0 4,1 4,1 4,1

2,0 1,0 1,1 4,0 4,0 1,1 1,1 3,0 1,1 1,1 1,1 1,1 1,1⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Dieter Zobel 3.2 - 25 209

Page 43: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

CLK-Algorithmus (1)

Sei | K |= m. Zum Kontrollzustand wird die Clock c hinzugefugt: q =

(c, (y1, r(y1)), . . . , (ym, r(ym))). Dabei ist c ∈ {1, ...,m} ein Zeiger auf die Stelle, ab wonach der Position der aus- und einzulagernden Seite zu suchen ist.

gCLK(K, q, x) =

{(K ∪ {x} − {yk}, q1) , falls x 6∈ K(K, q2) , falls x ∈ K

Im Fall x ∈ K istq2 = (c, (y1, r(y1)), . . . , (x, 1), . . . , (ym, r(ym)))

und x = yk.

Im Fall x 6∈ K sei yk die Seite mit den kleinsten Index k ≥ c (modulo m + 1), fur dier(yk) = 0 ist:

q1 = (c′, . . . , (yc−1, r(yc−1)), (yc, 0), . . . , (yk−1, 0), (x, 0), (yk+1, r(yk+1)), . . .)

mit x = yk und c′ = (k + 1)%m + 1.

Dieter Zobel 3.2 - 26 210

Page 44: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

CLK-Algorithmus (2)

Beispiel: Die Clock habe am Anfang den Wert c = 1.Die Seitenreferenzfolge unter dem CLK-Algorithmus fuhrt zu 9-maligem Nachladen:

2 1 3 4 1 5 1 3 1 4 5 1 4 2 4K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15

2 3 1 2 2 1 1 2 2 1 2 2 2 1 22,0 2,0 2,0 4,0 4,0 4,0 4,0 3,0 3,0 3,0 5,0 5,0 5,0 2,0 2,0

1,0 1,0 1,0 1,1 1,0 1,1 1,1 1,1 1,0 1,0 1,1 1,1 1,0 1,03,0 3,0 3,0 5,0 5,0 5,0 5,0 4,0 4,0 4,0 4,1 4,0 4,1

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Dieter Zobel 3.2 - 27 211

Page 45: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Seitenaustauschalgorithmen in der Praxis (2)

Unter Linux werden Varianten der Seitenaustauschalgorithmen LRU und CLK (z.B.CLOCK-PRO) benutzt. Die Varianten unterscheiden sich bezuglich der verwendetenProzessorhardware. Dabei spielt es eine entscheidende Rolle, welche Zustandsbits dieMMU des Prozessors zur Verfugung stellt (z.B. verschiedene AVR-Prozessoren habenkeine Referenz-Bits) oder ob es sich um ein Einprozessor oder Mehrprozessorsystemhandelt.Außerdem wird unterschieden, ob eine Seite nur referenziert wurde oder ob sie bei derReferenz auch verandert wurde (angezeigt durch ein modify- oder dirty-Bit). Dabei wirdeine veranderte Seite typischerweise mit einer hoheren Prioritat vor dem Auslagernverschont. Denn so spart man das Zuruckschreiben eine veranderten Seite auf denHintergrundspeicher. Der NRU (Not Recently Used) verschont auf diese Weise eineveranderte Seite, sofern es noch eine nur lesend Seite gibt.

Dieter Zobel 3.2 - 28 212

Page 46: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Seitenfehlerwahrscheinlichkeit

Beobachtet man die Seitenfehlerwahr-scheinlichkeit von Prozessen, so zeigtsich (vordergrundig), dass der OPT Al-gorithmus nur unwesentlich besser istals LRU und FIFO. Entscheidend dafursind die Eigenschaften der Lokalitat undGleichformigkeit. Gibt man durch einenProzeß, der zufallsmaßig Seiten referiert,diese Eigenschaften auf, so erhoht sich dieSeitenwahrscheinlichkeit drastisch.Vergleich der Seitenfehlerwahrscheinlich-keiten eines Prozesses P , der n Seiten imvirtuellen Speicher belegt in Abhangigkeitvon der Anzahl m der physikalischen Sei-

ten, die er zur Verfugung hat: FP,n(m).

FIFO, LRU

1

1

FP,n

(m)

nvn m Seiten im

Hauptspeicher

Prozeß mit zufälligenSeitenreferenzen

Fv

OPT

Fv sei eine vernunftige Schranke fur dieSeitenfehlerwahrscheinlichkeit. Dement-sprechend muss eine entsprechende An-zahl nv von Seiten im Hauptspeicher vor-handen sein.

Dieter Zobel 3.2 - 29 213

Page 47: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Arbeitsmengen-Modell

Ziel7: Die Anzahl der Seitenrahmen, die ei-nem Prozess zugeordnet sind, kann sichden Bedurfnissen anpassen (im Gegen-satz zu den vorangegangenen Algorith-men).Beobachtung: Prozesse laufen in Phasenab.• Innerhalb einer Phase wird eine

spezifische Untermenge aller Seitenbenotigt (Lokalitat).

• Die nachste Referenz gehort mitgroßer Wahrscheinlichkeit noch zuraktuellen Phase (Gleichformigkeit).

Die Arbeitsmenge W (t, T ) (engl. workingset) umfasst alle diejenigen Seiten, die imZeitintervall (t− T, t] referiert wurden.

Zeitfenster

T

t-T tZeit derProzeßausführung

Gesucht: Kleinstes T , damit die Seitenfeh-lerwahrscheinlichkeit unter einer vernunfti-gen Schranke Fv bleibt:

Fv ≥ P [referierte Seite i /∈ W (t, T )]

7Das Arbeitsmengen-Modell stammt von Denning [11] .

Dieter Zobel 3.2 - 30 214

Page 48: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

AM-Algorithmus (1)

Abhangig von T werden alle diejenigen Seiten ausgelagert, die wahrend der letzten TReferenzen nicht mehr angesprochen wurden.Sei | K |= m und q = ((y1, t1), . . . , (ym, tm)), wobei ti fur yi den Zeitpunkt der letztenReferenz angibt.

gAM(K, q, x) =

{(K ∪ {x} − Y, q1) ,falls x /∈ W (t, T )

(K − Y, q) ,falls x ∈ W (t, T )

mitY = {yi | yi ∈ K} und ti ≤ t− T

sowieq1 = ((y1, t1), . . . , (yi−1, ti−1), (yi+1, ti+1), . . . (ym, tm), (x, t))

q2 = ((y1, t1), . . . , (yi−1, ti−1), (yi+1, ti+1), . . . , (ym, tm))

Fur die Praxis verlangt der AM-Algorithmus insbesondere bezuglich der Bestimmungvon Y zu viel Aufwand. Aufgrund der Gleichformigkeit genugt es jedoch, dass die Be-rechnung von Y nur bei Seitenfehler erfolgt.

Dieter Zobel 3.2 - 31 215

Page 49: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

AM-Algorithmus (2)

Beispiel: Die Seitenreferenzfolge unter dem AM-Algorithmus bei der ArbeitsmengeW (t, 4) fuhrt zu 9-maligem Nachladen:

2 1 3 4 1 5 1 3 1 4 5 1 4 2 4K1 K2 K3 K4 K5 K6 K7 K8 K9 K10 K11 K12 K13 K14 K15

2,1 1,2 3,3 4,4 1,5 5,6 1,7 3,8 1,9 4,10 5,11 1,12 4,13 2,14 4,152,1 1,2 3,3 4,4 1,5 5,6 1,7 3,8 1,9 4,10 5,11 1,12 4,13 2,14

2,1 1,2 3,3 4,4 4,4 5,6 5,6 3,8 1,9 4,10 5,11 1,12 1,122,1 3,3 5,11

⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥ ⊥

Dieter Zobel 3.2 - 32 216

Page 50: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

PFF-Algorithmus (1)

Vorgegeben sei ein Zeitfenster T . Außerdem muss pro Seitenrahmen ein Referenz-Bitvorhanden sein, dass gesetzt wird, wenn die Seite referiert wird.Sei | K |= m und q = ((y1, r(y1)), . . . (ym, r(ym)))

Der PFF (page fault frequency)-Algorithmus orientiert sich an der Haufigkeit der Sei-tenfehler.Folgende Falle sind beim PPF-Algorithmus zu unterscheiden:

- x ∈ K:gPFF (K, q, x) = (K, q1)

mit q1 = ((y1, r(y1)), . . . , (yk, 1), . . . (ym, r(ym))) und yk = x

Dieter Zobel 3.2 - 33 217

Page 51: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

PFF-Algorithmus (2)

- x /∈ K und der letzte Seitenfehler liegt im Zeitfenster [t− T, t]:gPFF (K, q, x) = K ∪ {x}, q2)mit q2 = ((y1, r(y(1)), . . . , (ym, r(xm)), (x, 1))

- x /∈ K und der letzte Seitenfehler liegt vor dem Zeitfenster [t− T, t]:gPFF (K, q, x) = (Y ∪ {x}, q3)mit Y = {yi ∈ K | r(yi) = 1}und q3 = (. . . , (yi, 0), . . . , (x, 0)) mit yi ∈ Y

Außerdem findet eine Adaption des Zeitfensters T statt, indem die aktuelle Seiten-fehlerwahrscheinlichkeit Fa mit Fv verglichen wird. Ist Fa großer, dann wird auch T

vergroßert, andernfalls wird T verkleinert.

Dieter Zobel 3.2 - 34 218

Page 52: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Zeitliche Verfolgung der Arbeitsmenge

Verfolgt werden soll dieArbeitsmenge, uber diePhasen i− 1 und i:

Lauft nach einem Sei-tenwechsel das Zeitfen-ster T ab, dann kann dieArbeitsmenge auf einmalum die fur die in Phasei − 1 aber nicht in Phasei benotigten Seiten redu-ziert werden.

Kein Seitenfehlerin den letzten TZeiteinheiten

alle verfügbarenSeitenrahmen

in Phase i-1 nichtbenötigte Seite

Seiten, diein der Phasei-1 nötig waren

T ’

T

Verkürzung vonT ’ bzw. T

reduzierbareArbeitsmenge

Seiten, die in der Phase i-1und der Phase i gebrauchtwerden

Seiten, die von Phase i-1zu Phase i neu hinzu-kommen

Phase i-1 Phase i

t

Dieter Zobel 3.2 - 35 219

Page 53: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Anlegen von Speicher auf dem Haufen

Hauptspeicher wird in gewissen Einheiten angefordert bzw. freigegeben, beispielswei-se durch den Systemaufruf malloc().

Phanomen: Fragmentierung

• externe FragmentieringDie Einheiten werden am Stuck ange-legt. Dazu muss ein freier Speicher-bereich vorhanden, in den der an-geforderte Speicherbereich vollstandigpasst. Zwischen der Einheiten tretenSpeicherbereiche auf, die ungenutztsind.

• interne FragmentierungDie angeforderten Speicherbereichewerden auf Rahmen abgebildet. Da-

bei ergeben sich am Ende des letz-ten Rahmens freie Speicherbereiche,im Mittel vom der Große der Halfte ei-nes Rahmens.

Ubersicht uber entsprechende Verfahren:

• First Fit

• Next Fit

• Best Fit

• Worst Fit

• Buddy System

Dieter Zobel 3.2 - 36 220

Page 54: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Binden und Laden (1)

Die Aufgabe des Binders (linker) istes, aus einer Menge von Moduln einenlauffahigen Programm-Code zu erzeugen.Dabei sind Adressreferenzen in ande-re Moduln zu besetzten und insgesamtein zusammenhangendes Objekt-Modulzu erzeugen.

Der Lader (loader) hat die Aufgabe,Objekt-Moduln in den Hauptspeicher zuplatzieren. Dabei beginnt das Objekt-Modul ab einer Speicherstelle a, so dassauf alle Adressreferenzen der Wert a zuaddieren ist.

Eine Variante des Laders ist der dyna-mische (Binde-)Lader, der zur LaufzeitObjekt-Moduln sucht, nachladt und dieAdressreferenzen entsprechend abandert.In der Windows-Umgebung heißen solcheObjekt-Moduln DLL(dynamic link library).

Dieter Zobel 3.2 - 37 221

Page 55: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Binden und Laden (2)

Technik des Aufschiebens (deferring): Bin-den und Laden erst wenn es notwendigwird. Jede Referenz zu einem Ziel-Modul(target module) bringt den Lader dazu,

• das Modul zu suchen,

• es zu laden

• und seine Referenzen entsprechendanzupassen

Vorteile:

• Programme werden nur so groß, wiesie fur die aktuelle Ausfuhrung seinmussen.

• Unterstutzt die Nutzung gemeinsamerProgrammcodes fur mehrere Prozes-se.

• Die Benutzung von Programmcodesist moglich, die zum Zeitpunkt der Ent-wicklung noch nicht verfugbar waren,inbesondere auch Nachladen von neu-en Versionen (upgrades).

Dieter Zobel 3.2 - 38 222

Page 56: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

3.3 Datei- und GerateverwaltungDie Dateiverwaltung dient der Uniformitatdes Datenzugriffs:

Eine Datei (im weiteren Sinne) ist:

- Datei auf Platten, Speichersticks,Bandern und im erweiterten Haupt-speicher (Datei im engeren Sinne)

- Gerate, wie Drucker, Bildschirm, Ta-statur, Netzwerkanbindungen

- Verwaltungsstrukturen, wie Verzeich-nisse und Verweise (engl. links)

- Dateien auf entfernten Rechnern, diemittels Netzwerkdiensten zuganglichsind (virtuelle Datei im Netz)

Softwarestruktur der Dateiverwaltung

Benutzer

Datei-verwaltung

Gerätetreiber

Dateibaum

............

...... ......

Dieter Zobel 3.3 - 1 223

Page 57: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Aufgabe der Dateiverwaltung

Bereitstellung einer uniformen, komforta-blen, schnellen und sicheren Schnittstellezwischen Benutzern und Dateien.

Eine Datei (im engeren Sinne) ist- eine Sammlung von Daten (assoziiert

dazu eine spezielle Bedeutung)

- gespeichert auf einem permanentenMedium (Platte, Diskette, CD-ROM,Speicherstick)

- eingebettet in einen Kontext (Datei-baum)

- mit einem eindeutigen Namen (zumin-dest innerhalb des Kontextes)

- mit eindeutigen Besitzverhaltnissen(einem Eigentumer zugeordnet)

- in einem definierten Format (einzelneZeichen, Datensatze)

- mit einer Funktionalitat (insbesondereim Sinne von Methoden eines Objek-tes)

Beispiel: Uniformitat unter UNIX

-- Tastatur

-- Platte, Diskette

-- virtuelle Dateiim Netz

-- Bildschirm-- Drucker

-- Platte, Diskette

-- virtuelle Dateiim Netz

sort <input >output

Dieter Zobel 3.3 - 2 224

Page 58: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Interne Dienste der Dateiverwaltung

- parallele8 Auftragsabwicklung

- gleichzeitig mehrere Benutzerauftrage

- gleichzeitig mehrere Auftrage an Geratetreiber

- Emulation des Dateisystems eines anderen Betriebssystems

- erlaubter Zugriff auf geschutzte DateienBeispiel: In UNIX gehort die Passwortdatei /etc/passwd dem Superuser. Dennochsoll jeder Benutzer sein eigenes Passwort mit dem Kommando passwd (genauer:/bin/passwd) – gehort ebenfalls dem Superuser – verandern konnen. Dazu istbin/passwd durch das setuid-Bit markiert, das jeden Benutzer fur die Dauer

des passwd-Kommandos in die Rolle des Superusers schlupfen laßt.

8D. h. zu einem Zeitpunkt sind mehrere Auftrage in Bearbeitung.

Dieter Zobel 3.3 - 3 225

Page 59: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Gerateverwaltung (1)

Die Gerateverwaltung gehort zum Betriebssystemkern und kann von Anwender- undDienstprogrammen beansprucht werden.

Dienste im einzelnen:

• Umsetzung der Anwender- bzw. Dienstkommandos in Anweisungen fur das jewei-lige Gerat.

• Durchreichen von Ruckmeldungen.

• Abfangen und Abarbeiten von Unterbrechungen (engl. interrupt).

• Fehlerbehandlung, insbesondere Abschirmung gegen fehlerhaftes Gerateverhal-ten.

Dieter Zobel 3.3 - 4 226

Page 60: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Gerateverwaltung (2)

Schema der Auftragsabwicklung:Benutzerprogramm

Dienstprogramm

Treiber

Unterbrechungsprogramm

Controller

Benutzer- undDienstbereich

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Software

Betriebssystemkern

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Hardware

Dieter Zobel 3.3 - 5 227

Page 61: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Organisation von Plattenlaufwerken(1)

Ein (Platten9-)

• Laufwerk (engl. drive) besteht aus einer oder mehreren Magnetplatten mit jeweilsunter- oder oberseitigen

• Lese-/Schreibkopfen, die auf einen

• Zylinder positioniert werden konnen, um dann auf einer

• Spur (engl. track) den

• Sektor zu suchen, auf den lesend oder schreibend zugegriffen werden soll.

9Hard Disk Drive (HDD)

Dieter Zobel 3.3 - 6 228

Page 62: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Organisation von Plattenlaufwerken (2)

Beispiele: Seagate ST 42400 (2,5 GByte, 1997), Seagate ST 310000340NS (1000GByte, 2008) und der Seagate ST14000NE0008 (14000 GByte, 2018)

Zahl der Zylinder: 2627 16383Anzahl der Platten (Kopfe): 11 (19) 11 (19) 8(4)Bytes pro Spur im Mittel : 42000 – 55440 1814528Bytes pro Sektor: 256, 512, 1024 512 512Zahl der Sektoren insgesamt 26789019648Latenzzeit 8, 3ms 4, 16ms 4, 16ms

Anfahren des Zylinders 12ms 9ms 6ms

Rotationsgeschwindigkeit: 3600/min 7200/min 7200/min

Datenpuffer 256MByte

Controller (Datenrate): 10MByte/s 108MByte/s 250MByte/s

Dieter Zobel 3.3 - 7 229

Page 63: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Zeiten fur den Plattenzugriff

Zeiten fur einen lesenden(L) oder schreibenden (S)Zugriff auf die Platte:

t t t t t t

t

da b c e f

ta Aufenthaltsdauer des Auftrags in der Warteschlange desTreibers.

tb Ubertragung des Auftrags an den Controller. Bei (S) ver-sorgt sich der Controller mittels DMA-Zugriff auf den Haupt-speicher mit den zu schreibenden Daten.

tc Anfahren des Zylinders (engl. seek time).td Abwarten, bis durch die Rotation der Platte der gesuch-

te Sektor auf der angewahlten Spur unter dem Lese-/Schreibkopf angelangt ist (Latenzzeit, engl. latency delay).

te Bei (L) wird von der Platte in den Speicher des Controllersgelesen. Bei (S) wird vom Speicher des Controllers auf diePlatte geschrieben.

tf Bei (L) schreibt der Controller die zu lesenden Daten mit-tels DMA-Zugriff in den Hauptspeicher und unterrichtet denTreiber von der Erledigung des Auftrags.

Dieter Zobel 3.3 - 8 230

Page 64: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Verfahren beim Plattenzugriff (1)

(a) Optimierung von tc

(b) Optimierung von td

Zu (a):

- FCFS (first come, first served)

- SSTF (shortes seek time first)Der jeweils abstandsmaßig nachsteZylinder wird angefahren. Gefahr: Esist moglich, dass der Zugriff auf die Zy-linder an den Randern beliebig lange

verzogert wird.

- SCAN10

Im Pendelverkehr – entweder aufwartsoder abwarts – werden die jeweilsnachsten Zylinder angefahren.

- C-SCAN11 , SCAN-EDF

10Bei [13] auch unter dem Schlagwort LOOK zu finden.11Bei [13] auch unter dem Schlagwort C-LOOK zu finden.

Dieter Zobel 3.3 - 9 231

Page 65: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Verfahren beim Plattenzugriff (2)

Zu (b):- FCFS (first come, first served)

- SATF (shortes access time first)Falls mehrere Anforderungen auf Sek-

toren eines Zylinders vorliegen, wirdauf denjenigen zugegriffen, der nachder kurzesten Rotationszeit zu errei-chen ist.

Dieter Zobel 3.3 - 10 232

Page 66: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Analyse von td unter der FCFS-Strategie (1)

SeitR die Rotationszeit der PlatteS die Anzahl der Sektoren pro SpurLAT die Zufallsgroße, die angibt, wie lange es dauert, bis fur den nachsten

Zugriff (L, S) der Sektoranfang unter dem zustandigen Lese-/Schreibkopfangelangt ist.

Gesucht: E[LAT ]Der Lese-/Schreibkopf befindet sich in irgendeiner Stellung, so dass der gesuchte Sek-tor gleichverteilt erst nach der kontinuierlichen Zeit LAT (0 ≤ LAT ≤ tR) erreicht ist. Esgilt:

P [LAT ≤ t] =t

tR

Dieter Zobel 3.3 - 11 233

Page 67: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Analyse von td unter der FCFS-Strategie (2)

Fur den Definitionsbereich [0 . . . tR] gilt:

FLAT (t) = P [LAT ≤ t]

=t

tR

fLAT (t) =1

tRDamit ist

E[LAT ] =

tR∫0

t1

tRdt

=1

tR

[t2

2

]tR0

=tR2

Dieter Zobel 3.3 - 12 234

Page 68: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Analyse von td unter der SATF-Strategie

Es mogen n auf das kontinuierlicheIntervall [0 . . . tR] gleichverteilte (L, S)-Zugriffe LAT1, . . . , LATn vorliegen. BeiSATF kommt als nachster Zugriff derjeni-ge mit der Zeit

LATMIN = min{LAT1, . . . , LATn}zum Zuge.Gesucht: E[LATMIN ]Es gilt:

P [LATMIN > t] = P [LAT1 > t, . . . , LATn > t]

=n∏

i=1

P [LATi > t]

=

(1− t

tR

)n

= 1− FLATMIN(t)

Mit E[X ] =b∫0

xfX(x) dx =b∫0

(1− FX(x)) dx

folgt:

E[LATMIN ] =

tR∫0

(1− t

tR

)n

dt

=

[−tRn+ 1

(1− t

tR

)n+1]tR0

=tR

n+ 1

Dieter Zobel 3.3 - 13 235

Page 69: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Analyse von tc unter der FCFS-Strategie (1)

Es gelte die Annahme, dass die Dauer, um eine Spur anzufahren, linear von derAnzahl der Spuren, die dabei zu uberqueren sind, abhangt. Sei weiterhin

tZ die Zeit, um die Lese-/Schreibkopfe vom innersten zum außersten Zylinderzu bewegen (bzw. umgekehrt).

Z die Anzahl der Zylinder

SEEK die Zufallsvariable, die angibt, wie lange es dauert, bis fur den nachstenZugriff (L, S) der zugehorige Zylinder erreicht ist.

Gesucht: E[SEEK]

Dieter Zobel 3.3 - 14 236

Page 70: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Analyse von tc unter der FCFS-Strategie (2)

Mit der Wahrscheinlichkeit 1/Z sei der Lese-/Schreibkopf auf dem Zylinder X, X ∈{1, . . . , Z} positioniert. Der nachste (L, S)-Auftrag geht mit der Wahrscheinlichkeit 1/Zauf den Zylinder i.

1 i X ZXX

[t /Z ]Z

t

Dieter Zobel 3.3 - 15 237

Page 71: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Analyse von tc unter der FCFS-Strategie (3)

Die Zufallsvariable fur die dazu benotigte Zeit sei:

E[SEEK(X)] =1

Z

(X−1∑i=1

itZZ

+

Z−X∑i=1

itZZ

)

=tZZ2

(X

2(X − 1) +

Z −X2

(Z −X + 1)

)Insgesamt:

E[SEEK] =1

Z

Z∑X=1

E[SEEK(X)]

=tZZ3

Z∑X=1

(X

2(X − 1) +

Z −X2

(Z −X + 1)

)Nach Vereinfachung:

E[SEEK] = tZ

(1

3− 1

3Z2

)Dieter Zobel 3.3 - 16 238

Page 72: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

E/A-Scheduling unter Linux

Mit dem folgenden Kommando kann man erfahren, welche Scheduling-Disziplinen un-ter vorliegenden Linux-Distribution verfugbar sind und welche gerade eingestellt ist (ineckigen Klammern).

# cat /sys/block/<device>/queue/scheduler

# noop anticipatory deadline [cfq]

Seit der Linux-Version 2.6 gibt es das Complete Fairness Queuing (CFQ). Esstellt jedem leichtgewichtigen Prozess eine eigene Schlange ausstehender E/A-Anforderungen bereit. Aus diesen Schlangen reiht der CFQ-Scheduler die Auftrage ineine Dispatch Queue ein, die dann nach FIFO abgearbeitet wird. Bei dieser Reihungkonnen je nach Parametrierung verschiedene Kriterien berucksichtigt werden. SolcheKriterien sind beispielweise der Abstand zur nachsten Spur, die angefahren werdensoll, oder Fristen, bis zu denen ein Auftrag erledigt sein soll.Grundsatzlich wird versucht, synchrone Lese-Auftrage den asynchronen Schreib-Auftragen voranzustellen.

Dieter Zobel 3.3 - 17 239

Page 73: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

HDD gegen SSD

Herkommliche Plattenspeicher werden unter anderem als hard disk drive (HDD) be-zeichnet. Im Gegensatz dazu stehen Plattenspeicher, die keine sind. Hinter Ihnen ver-bergen sich NAND-Flash-Speicher. Es handelt sich um die sogenannten solid statedisks (drives) (SSD), die mittlerweile die herkommlichen Plattenspeicher aus vielerleiGrunden verdrangen.

Grunde fur SSDs im Vergleich mit HDDssind unter anderen:

• schellerer Zugriff (bis zu 100-fach beiwahlfreiem Zugriff auf Blocke12)

• geringerer Energieverbrauch (etwa

Faktor 3)

• langere Lebensdauer (um rund 25%)

• hohere Robustheit ( z.B. gegenErschutterungen)

• geringere Fehlerrate

12Bei einer HDD: etwa 80 singulare Blocke/s lesend und etwa 60 singulare Blocke/s schreibend. Im Gegensatz bei einer SSD: Etwa 60000 einzelneDaten/s lesend und etwa 60000 einzelne Daten/s schreibend.Bei einer HDD: sequentielles Lesen oder Schreiben großer Datenbestande rund 75 MByte/s. Im Gegensatz dazu SDD: Beim Lesen rund550Mbyte/s,wahrend beim Schreiben rund 500Mbytes/s erreicht werden.

Dieter Zobel 3.3 - 18 240

Page 74: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

RAID-Systeme

RAID13-Idee (zuruckgehend auf [30]): Eine Menge von Plattengeraten werden zu ei-nem System von Platten zusammengeschlossen, um auf diese Weise verschiedeneZiele zu erreichen:

• erhohte (preisliche gunstige) Speicherkapazitat, die so nahe wie moglich an die andie Speicherkapzitat der verbauten Plattengerate herankommen soll

• erhohte Zuverlassigkeit durch Redundanz der Daten verteilt uber die Plattengerate

• erhohter Durchsatz durch paralleles Lesen und Schreiben auf die vorhandenenPlattengerate zur gleichen Zeit

RAID-Systeme werden nach levels kategorisiert, typisch sind RAID 0 bis RAID 6

13Redundant Array of Independent Disks

Dieter Zobel 3.3 - 19 241

Page 75: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

3.4 Struktur von Betriebssystemen• Mikro- und Makrokernarchitekturen

• Unterbrechungsbehandlung

• Aufbauformen von Treibern

• Mehrprozessorarchitekturen

• Virtualisierung

Dieter Zobel 3.4 - 1 242

Page 76: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Mikro- und Makrokerne

Makrokern = Monolithischer Aufbau

• Prozessverwaltung und Prozess-planung

• Datei- und Gerateverwaltung

• Speicherverwaltung GraphischeBenutzeroberflache

Mikrokern

• Prozessverwaltung und -synchonisierung

• Behandlung von Unterbrechungen

• Interprozesskommunikation

Dieter Zobel 3.4 - 2 243

Page 77: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Bewertung der Mikrokernarchitektur (1)

Vorteile:• Generelle Unterstutzung des Prinzips

”Teile und Herrsche“, indem das Be-triebssystem in klar getrennte Funkti-onsblocke mit streng definierten undmoglichst schmalen Schnittstellen zuzerlege ist.

• Integration verschiedener ”Personlich-keiten“ (d.h. Betriebssysteme) auf ei-nem Mikrokern (z.B.: verschiedeneDateisysteme) (z.B.: NTFS und FATauf der Basis von Windows XP oderUNIX-Dateisystem auf Mach)

• Verbesserte Anpassungsfahigkeit anneue Hardware und an neue System-prozesse (z.B. Gerate und Geratetrei-ber)

• Abwicklung der Systemprozessenach dem Konzept der leichtge-wichtigen Prozesse, die mittels IPC-Schnittstelle miteinander bzw. uberSPI-Schnittstelle mit dem Mikrokernkommunizieren konnen. Dieses Prin-zip lasst sich auch fur Geratetreiberanwenden.

Dieter Zobel 3.4 - 3 244

Page 78: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Bewertung der Mikrokernarchitektur (2)

Vorteile:

• Bereitstellung mehrerer API’s, z.B. ver-schiedene APIs (z.B. Win32 API undPOSIX unter Windows XP)

• Kleine Kerne sind weniger feh-leranfallig, insbesondere konnen Feh-ler bei Systemprozessen (z.B. bei ein-gespielten Treibern) das Betriebssy-stem (genauer den Mikrokern) nichtmehr zum Absturz bringen.

• Mikrokern-Architekturen eroffnen dieMoglichkeit, das Betriebssystem aufdie Bedurfnisse seines Einsatzes an-

zupassen (Schlagworte: Skalierbarkeitoder engl. customizable), z.B. umbei einer Echtzeitanwendung auf demZielsystem eine minimale Betriebs-systemkonfiguration zu haben (z.B.:moglich beim EchtzeitbetriebssystemQNX)

• Das Mikrokern-Konzept passt zu pro-grammiertechnischen Konzepten wieKapselung, Modularisierung und Ob-jektorientierung (ebenso zum Client-Server-Prinzip), dynamisches Ladenvon Treibern

Dieter Zobel 3.4 - 4 245

Page 79: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Bewertung der Mikrokernarchitektur (3)

Nachteile:• Der Kommunikationsaufwand zwi-

schen vielen Prozessen mit eng be-grenzten Aufgaben dominiert die Lei-stungsfahigkeit und ist aufwandiger als

bei monolithischen Systemen

• Mehr Aufwand (anfanglich) bei der De-finition und Dekomposition von Teilauf-gaben, die in einem BS anfallen

Dieter Zobel 3.4 - 5 246

Page 80: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Unterbrechungsbehandlung

Unterscheidung:

• synchrone Unterbrechungenengl. traps, dienen zur Verarbeitung von Systemaufrufen

• asynchrone Unterbrechungendienen der Wahrnehmung exterer Ereignisse

Dieter Zobel 3.4 - 6 247

Page 81: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Treiber

Bereitstellung einer allgemeinen Schnittstelle fur spezifische Gerate

• aus Sicht hoherer Komponenten des Betriebssystems: (virtuelle) Hardware mit ei-ner standardisierten Funktionalitat: Lesen Schreiben, Konfigurieren

• aus Sicht der Hardware: Leser, Schreiber, Auftraggeber fur Kommandos und Ver-werter von Unterbrechungsanforderungen

• in der Innensicht: zweigeteilt in Initiator und Kontinuator

Dieter Zobel 3.4 - 7 248

Page 82: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Mehrprozessorbetriebssysteme

Zwei grundsatzliche Aufbauformen:• AMP (asymmetric multiprocessor sy-

stem)ein Prozessor verteilt und uberwachtdie Auftrage, die von den ubrigen Pro-zessoren verarbeitet werden (z.B. far-ming out)

• SMP (symmetric multiprocessor sy-stem)alle Prozessoren teilen sich die Arbeit,die das Betriebssystem erledigt.

Folgerungen fur den SMP-Fall:• Wiederintrittsfahiger (reentrant) Co-

de im BS-Kern. Gegenseitiger Aus-

schluss muss durch spezielle Befeh-le (test and set oder compare and

swap) garantiert werden.

• Entweder ist ein Prozessor fur die Ab-arbeitung der Unterbrechungsanforde-rungen zustandig oder die Unterbre-chungen werden nach dem daisy-chain-Prinzip weitergereicht.

• Prozessplanung kann prinzipiell vonjedem Prozessor durchgefuhrt wer-den, insbesondere bei kernel levelthreads konnen die leichtgewichtigenProzesse echt parallel ausgefuhrt wer-den.

Dieter Zobel 3.4 - 8 249

Page 83: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Virtualisierung (1)

Virtualisierung ist die Bereitstellung eines Modells eines Rechensystems (virtuelle Ma-schine), folgende Formen werden unterschieden:

• Emulation

– Hardware-Emulation (z.B. Bochsfur x86)

– virtuelle (Laufzeit-)Umgebungen(z.B. JVM fur Byte-Code oder p-Code fur Pascal)

• native Virtualisierung

– Paravirtualisierung durch Anpas-sung von Betriebssystemkernen(z.B. Xen, just-in-time fur VMWare)

– Vollvirtualisierung durch entspre-chende Hardwareunterstutzung (z.B. z/VM, VirtualBox, VMWare)

Dieter Zobel 3.4 - 9 250

Page 84: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Virtualisierung (2)

Bei der Vollvirtualisierung ist keine Anpassung der Betriebssystemkerne notwendig.Dies funktioniert nur wenn das Popek/Goldberg-Prinzip realisiert ist, welches sinn-gemaß besagt:

Die Menge der sensitiven Maschinenbefehle stellt eine Untermenge der privi-legierten Maschinenbefehle dar.[33]

Dabei sind sensitive Befehle solche, die den Prozessorstatus lesen oder schreiben.Solche Befehle sollen eine Unterbrechungsbehandlung nach sich ziehen, wenn sie imnicht-privilegierten Modus ausgefuhrt werden. Denn wenn das so ist, dann werdendiese Befehle nur mittelbar von der virtuellen Maschine ausgefuhrt.

Dieter Zobel 3.4 - 10 251

Page 85: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Virtualisierung (3)

Komponeten bei der Virtualisierung:

• Hypervisor:Bildet den Kern des Virtualisierungs-systems, das die phyikalischen Be-triebsmittel zuteilt.

• Virtueller Maschinen-Monitor (VMM)Bildet die Schale in der eine VirtuelleMaschine ablauft, fur die er die virtuel-

len Betriebsmittel zuteilt. Die VMM bil-det den Zustand des Rechensystemsab.

• Virtuelle Maschine (VM)Umfasst das Betriebssystem und diedarauf laufende Anwendung und siehtden VMM als Hardwareplattform.

Jede Virtuelle Maschine wird auch als Gastsystem bezeichnet und der Hypervisor zu-sammen mit den einzelnen Virtuelle Maschine-Monitoren bildet das Wirtssystem.

Dieter Zobel 3.4 - 11 252

Page 86: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

3.5 Leistungsbewertung dienstleistender SystemeWorum geht es bei der Leistungsbewertung dienstleistender Systeme?

Auf einem dienstleistenden Systemkonnen zu einem Zeitpunkt jeweils einebegrenzte Anzahl von Auftragen berarbei-tet (oder hier: bedient) werden.

Beispiel: Ein Fahrkartenschalter ist eindienstleistendes System, bei dem jederFahrgast, der gerade bedient wird oderwartet, einen Auftrag darstellt.

Beispiel: Ein zentraler Dateiserver, auf den

Netzweit zugegriffen wird, stellt ein dienst-leistendes System dar, bei der jede Lese-und Schreiboperation einen Auftrag dar-stellt.

Beispiel: Das Versenden eines Packetesdurch eine Ethernetkarte uber einen ge-meinsamen Bus als dientleistendes Sy-stem ist ein Auftrag, der ggf. in Konkurrenzzu anderen Auftragen steht.

Ziel: Quantitative Bewertung des Aufbaus und Betriebs von dienstleistenden Systemen

Dieter Zobel 3.5 - 1 253

Page 87: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Ansatze zur Leistungsbewertung

Unterschiedliche Vorgehensweise zur Gewinnung von Aussagen zur Leistung von Sy-stemen

- Messung von speziellen Leistungsdaten an einem laufenden System.

- Vergleichende Messung von Leistungsdaten an laufenden Systemen mit Hilfe vonetablierten Benchmarks.

- Hochrechnung der aktuellen Leistungsdaten auf ein zu erweiterndes bzw. modifi-ziertes System.

- Entwicklung eines Modells, aus dem sich mit analytischen Methoden Leistungsda-ten herleiten lassen.

- Entwicklung eines Modells, aus dem sich mit Hilfe von Simulationen Leistungsda-ten herleiten lassen.

Dieter Zobel 3.5 - 2 254

Page 88: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Vorgehenssweisen bei der Leistungsbewertung

Schritte

- Abstraktion von realen dienstleistenden Systemen durch Projektion auf definierteModellierungskomponenten.

- Definition von charakteristischen Parametern fur die Belastung und die Leistungvon dienstleistenden Systemen.

- Anwendung analytischer Berechnungsmethoden zur Ermittlung der Leistung desSystems abhangig von der betrachteten Belastung.

- Interpretation der Berechnungsergebnisse, insbesondere unter Berucksichtigungder bei der Modellbildung vorgenommenen Abstraktionen.

Dieter Zobel 3.5 - 3 255

Page 89: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Grundmodell fur die Leistungsbewertung

Die Bedienstation als zentrale Modellierungskomponente:

WarteschlangeBedieneinheit

λ µ

Charakteristische Systemparameter:λ Mittlere Anzahl von Auftragsankunften pro Zeiteinheit (Ankunftsrate)µ Mittlere Anzahl moglicher Auftragserledigungen pro Zeiteinheit (Bedi-

enrate)ρ = λ

µ heißt AuslastungW Mittlere Verweilzeit eines Auftrags im SystemN Mittlere Anzahl von Auftragen im System

Dieter Zobel 3.5 - 4 256

Page 90: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Konventionen fur die Bedienstation

Auftragserledigung durch ein Bedienstation:

- Vorliegende Auftrage werden von der Bedieneinheit (z. B. Prozessor, Platten-Controller) bearbeitet.

- Hochstens ein Auftrag wird zu einem Zeitpunkt von der Bedieneinheit bearbeitet.Weitere vorliegende Auftrage befinden sich derweil in der Warteschlange.

- Wird die Bedieneinheit leer, dann ruckt ein Auftrag aus der Warteschlange nach,sofern sich dort einer befindet.

- Auftrage werden vollstandig oder stuckweise bearbeitet. Im letzteren Fall wird derunerledigte Auftrag wieder in die Warteschlange eingereiht. Voraussetzung dafurist, dass ein Auftrag unterbrechbar (engl. preemptive) ist. Umgekehrt findet der er-ste Fall Anwendung, wenn ein Auftrag nicht unterbrechbar (engl. non-preemptive)ist.

Dieter Zobel 3.5 - 5 257

Page 91: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Betreiber und Benutzer von Bedienstationen

Typische Zielsetzungen:

- Aus der Sicht des Betreibers:hohe Auslastung des Rechners: ρ→ 1.

- Aus der Sicht der Benutzer:prompte Bedienung der Auftrage: W → 1/µ

d. h. der Benutzer hat den Eindruck, den Rechner fur sich allein zu besitzen.

Plausible Randbedingung:

- λ ≤ µ

d. h. es durfen im Mittel nicht mehr Auftrage ankommen, als bedient werdenkonnen.

Dieter Zobel 3.5 - 6 258

Page 92: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Kategorisierung von Bediensystemen

Ubliche Kennzeichnung14 von Systemen von Bedienstationen:

A/B/C/D/E/F

A: Ankunftsprozess

B: Bedienprozess

C: Anzahl identischer Bedieneinheiten15

D: Kapazitat des Bediensystems (fehlt haufig)

E: Anzahl von Benutzern (nur fur geschlossene Systeme)

F : Strategie der Warteschlange (fehlt haufig)

14Diese Kennzeichnung geht zuruck auf D. Kendall [20] .15Anders als bei dem Modell der k Bedieneinheiten der k-stufigen Hyperexponentialverteilung konnen diese Bedieneinheiten gleichzeitig Auftrage

erledigen.

Dieter Zobel 3.5 - 7 259

Page 93: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Annahmen uber Zufallsprozesse

Ein Zufallsprozess besteht aus einer Men-ge von Zufallsgroßen. Ein Zufallsprozess(hier bezogen auf Ankunfte ins System)besitzt Markov-Eigenschaft, wenn Folgen-des erfullt ist:

- unabhangigAnkunfte treffen ohne Absprache ein.

- einzelnZu einem Zeitpunkt trifft hochstens einAuftrag ein.

- unbeeinflußtDie außeren Randbedingungen fur dieAnkunfte andern sich nicht. Beispiel:

Es gibt keine ”Ausdunnung“ des An-kunftsprozesses dadurch, dass bereitsviele Auftrage unterwegs sind. DieZahl der potentiellen Benutzer, die Auf-trage aufgeben, ist unendlich.

- stationarDer Zeitpunkt, ab dem der Ankunfts-prozess beobachtet wird, ist beliebig.Obwohl das kurzfristige Verhalten sehrunterschiedlich sein kann, sind dieProzesse auf Dauer betrachtet iden-tisch. Umgekehrt lasst sich aus derBeobachtung des Ankunftsprozessesnicht auf den Zeitpunkt der Beobach-tung schließen.

Dieter Zobel 3.5 - 8 260

Page 94: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Ankunfte in das und Abgange aus dem System (1)

Wahrend ANS(t) die Anzahl der Ankunfte im System16 bezeichnet, sei ABS(t) die derAbgange.

Beispiele: Bedienstation mit FIFO-Disziplin der Warteschlange

ANW(t) ABW(t)

ANB(t) ABB(t)

16System ist ganz allgemein zu verstehen, und die folgenden Aussagen sind ebenso allgemein anwendbar, z. B. auf die gesamte Bedienstation,die Warteschlange oder die Bedieneinheit.

Dieter Zobel 3.5 - 9 261

Page 95: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Ankunfte in das und Abgange aus dem System (2)

ab W

ab B i

i

ian W

i

Schlange

Bedien-einheit

an W i+1

1

ab W i+1

i+1an B

i+1 i+3ab B

an W i+2

i+2

an W i+3

ab W i+2

an B i+2

ab B

ab W i+3

an Bi+3

ab B ab B

t

1 12

Ankunfte in die und Abgange aus der War-teschlange bzw. der Bedieneinheit

1

an W 1

ab W 1

an W 2

ab W 2

2

3

4

an W 3an W 4

ab W 3 ab W 4

t

N(t )0

t 0

0ABS(t )

ANS(t )0

Anzahl derAufträge

Akkumulierte Zeiten beispielsweise hier inder Warteschlange

Dieter Zobel 3.5 - 10 262

Page 96: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Satz von Little(1)

Aufenthaltsdauer oder Verweilzeit (W )

Es sei zu Anfang ANS(0) = ABS(0) =

0 und sei τ ein Zeitpunkt, fur den gilt:ANS(τ ) = ABS(τ ).Fur einen Zeitpunkt t ∈ [0 . . . τ ] ist

N(t) = ANS(t)− ABS(t)die Anzahl der Auftrage, die sich im Sy-stem aufhalten.

Weitere Großen:

Wi (t): Wartezeit, die der i-te Auftrag biszum Zeitpunkt t bereits aufgenommen hat.λ (τ ): mittlere Ankunftsrate im Intervall[0 . . . τ ] : ANS(τ )/ τ

Es gilt fur die mittlere Aufenthaltsdauer ei-nes Auftrags:

W (τ ) =1

ANS (τ )

ANS (τ)∑i=1

Wi (τ )

Dieter Zobel 3.5 - 11 263

Page 97: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Satz von Little(2)

Daneben entspricht die Gesamtaufent-haltsdauer dem Integral uber die aktuelleAnzahl der Auftrage im System

ANS (τ)∑i=1

Wi (τ ) =

τ∫0

N(t) dt

Abschließende Herleitung der BeziehungN und W [24]:

N(τ ) =

τ∫0

N(t)dt

τ

=

ANS (τ)∑i=1

Wi(τ )

τ

=ANS (τ )

τW (τ )

= λ(τ )W (τ )

Dieter Zobel 3.5 - 12 264

Page 98: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Mittlere Anzahl von Auftragen in M/M/1-Systemen

N = E[N ]

1− ρAufteilung der Auftrage in Bedieneinheit Bund Schlange S

Es gilt: N = NS +NB

Mit NB = ρ folgt:

NS = N − ρ=

ρ

1− ρ− ρ

=ρ2

1− ρ

= ρN

N , NS und NB aufgetragen uber die Aus-lastung ρ:

0.2 0.4 0.6 0.8 1

1

2

3

4

5

6

ρ

N_ S

N_

BN_

Dieter Zobel 3.5 - 13 265

Page 99: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Von der Anzahl von Auftragen zur Aufenthaltsdauer

W =N

λ

=1

µ

1

1− ρNach dem Satz von Little ergibt sich fur die

mittlere Wartezeit

W =N

λ

=1

µ

1

1− ρ

Dieter Zobel 3.5 - 14 266

Page 100: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeKAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN

Mittlere Aufenthaltsdauer in M/M/1-Systemen

Voraussetzung: Benutzer- und Bedienver-halten haben Markov-Eigenschaft

Bezogen auf die unterschiedlichen Ziel-setzungen von Betreibern und Benutzerneiner Rechenanlage ergibt sich folgendeWechselwirkung:

- Fur den Betreiber ist die Rechenanla-ge nur dann gut ausgelastet, wenn dieBenutzer lange Wartezeiten in Kaufnehmen.

- Verlangen die Benutzer kurze War-tezeiten, so hat der Betreiber nocherhebliche ungenutzte Rechenkapa-

zitaten.

Beispiel: Die mittlere Wartezeit W bei µ =10/Zeiteinheit aufgetragen uber der Ausla-stung ρ:

0.2 0.4 0.6 0.8

0.2

0.4

0.6

0.8

W_

[Zeiteinheit]

ρ

Dieter Zobel 3.5 - 15 267

Page 101: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

Literaturverzeichnis

[1] DIN 44300, Normen uber Informationsverarbeitung. BeuthVerlag, Berlin, 1975.

[2] Albrecht Achilles. Betriebssysteme. eXamen.press. Springer-Verlag, Berlin, 2006.

[3] G. R. Andrews. Concurrent Programming. The Benja-min/Cummings Publishing Company, 1991.

[4] G. Bengel, Chr. Baun, M. Kunze, and K.-U. Stucky. Master-kurs Parallele und Verteilte Systeme. Vieweg+Teubner, Wies-baden, 2008.

[5] Lothar Borrmann. Kleine und kleinste Betriebssysteme mitMikro- und Nanokernen. Informationstechnik und TechnischeInformatik it+ti, Oldenbourg Verlag, 38(2):18–25, 1996.

[6] L. Bouge. On the existence of symmetric algorithms to findleaders in networks of communicating sequential processes.Acta Informatica, 25:179–201, 1988.

[7] N. Carriero and D. Gelernter. Linda in context. Communicati-ons of the ACM, 32(4):444–458, 1989.

[8] E.G. Coffman, M.J. Elphick, and A. Shoshani. System dead-locks. Computing Surveys, 3(3):67–68, 1971.

[9] P.J. Courtois, D.L. Heymans, and F. Parnas. Concurrent con-trol with readers and writers. CACM, 14(10):667–668, October1974.

[10] H. M. Deitel. Operating Systems. Addison Wesley, Reading,Massachusetts, 1990.

[11] P.J. Denning. The working set model for program behavior.CACM, 11(5):323–333, May 1968.

[12] E. W. Dijkstra. Cooperating sequential processes. In F. Ge-nuys, editor, Programming Languages, pages 43–112. Aca-demic Press, New York, 1968.

[13] Ramez Elmasri, Gil Carrik, and David Levine. Operating Sy-stems - A Spiral Approach. McGraw-Hill, Boston, 2009.

[14] M. Flynn. Very high speed computing systems. Proc. of theIEEE, 54(9):1901–1909, 1966.

[15] Jorg Hettel and Man Tien Tran. Nebenlaufige Programmierungmit Java. Dpunkt Verlag, Heidelberg, 2016.

[16] C. A. R. Hoare. Communicating sequential processes. Com-munications of the ACM, 21(8):666–677, 1978.

[17] C.A.R. Hoare. Monitors: An operating system structuring con-cept. CACM, 17(10):549–557, October 1974.

[18] Matthias Homann. OSEK - Betriebssystem-Standard fur Au-tomotive und Embedded Systeme. mitp-Verlag, Bonn, 2005.

265

Page 102: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeLITERATURVERZEICHNIS

[19] Cay Horstmann. Big Java - Late Objects. John Wiley & Sons,New York, 2013.

[20] D.G. Kendall. Stochastic processes occuring in the theory ofqueues and their analysis by the method of embedded Markovchains. Annals of Math. Statistics,, 24:338–354, 1953.

[21] Nathan Koyzra. Mastering concurrency in GO. Packt-Publishing, Bermingham, United Kingdom, 2014.

[22] Thomas Kuhn. Die Struktur der wissenschaftlichen Revoluti-on. Surkamp Verlag, Frankfurt, 1969.

[23] L. Lamport. Time, clocks, and the ordering of events in a dis-tributed system. Communications of the ACM, 21(7):558–565,1978.

[24] J. D. C. Little. A proof of the queueing formula L = λW . Ope-rations Research, 9:383 – 387, 1961.

[25] F. Mattern. Virtual time and global states of distributed sy-stems. In M. Cosnard, editor, Workshop on Parallel and Distri-buted Systems, pages 215–226, Chateau de Bonas, France,October 1988. Elsevier.

[26] Jorg Muhlbacher. Betriebssysteme. Universitatsverlag RudolfTrauner, Linz, 2009.

[27] Nicholas Ng and Nobuko Yoshida. Static deadlock detecti-on for concurrent go by global session graph synthesis. InProceedings of the 25th International Conference on Compi-ler Construction, CC 2016, Barcelona, Spain, March 12-18,2016, pages 174–184, 2016.

[28] John Nickolls, Ian Buck, Michael Garland, and Kevin Ska-dron. Scalable parallel programming with CUDA. ACM Queue,6(2):40–53, 2008.

[29] Gary Nutt. Operating Systems - A Modern Perspective.Addison-Wesley, Reading, 1997.

[30] D. Patterson, G. Gibson, and R. Katz. A case for redundant ar-rays of inexpensive disks (RAID). In Proceedings of the ACMSIGMOD Conference on Management of Data, San Francisco,June 1988.

[31] G. L. Peterson. Myths about the mutual exclusion problem.Information Processing Letters, 12(3):115–116, June 1981.

[32] Hans-Joachim Picht. Xen Kochbuch. O’Reilly Verlag, K¨oln,2009.

[33] Gerals J. Popek and Robert P. Goldberg. Formal requirementsfor virtualizable third generation architecture. Communicationsof the ACM, 7(7):412–421, July 1974.

Dieter Zobel 4.4 - 1 266

Page 103: Dieter Zobel¨ - userpages.uni-koblenz.dezoebel/BSmat/Skript/K3.pdf · Betriebssysteme KAPITEL 3. KOMPONENTEN VON BETRIEBSSYSTEMEN Prozessbeschreibung (1) Datenstrukturen fur Prozesse

BetriebssystemeLITERATURVERZEICHNIS

[34] Thomas Rauber and Gundula Runger. Parallele Programmie-rung. Springer-Verlag, Berlin, 2nd. ed. edition, 2007.

[35] Lutz Richter. Betriebssysteme. Teubner Verlag, Stuttgart,1985.

[36] Abraham Silberschatz and Peter B. Galvin. Operating SystemConcepts. Addison-Wesley, Reading, 4 edition, 1994.

[37] Daniel J. Sorin, Mark D. Hill, and David A. Wood. A Primeron Memory Consistency and Cache Coherence. Morgan andClaypool Publishers, Williston, Vermont, 2011.

[38] Brian L. Stuart. Principles of Operating Systems: Design andApplication. Thomson Learning, Boston, Mass., 2008.

[39] A. S. Tanenbaum. Operating Systems. Prentice-Hall Interna-tional Editions, Englewood Cliffs, NJ, 1987.

[40] Andrew Tanenbaum. Moderne Betriebssysteme. Hanser Ver-lag, Munchen, 1995.

[41] Michael Weber. Verteilte Systeme. Spektrum AkademischerVerlag, Heidelberg, 1998.

[42] Anthony Williams. C++ Concurrency in Action - Practical Mul-tithreading. Manning Press, New York, 2012.

[43] Nikolaus Wirth. Programming in Modula-2. Springer-Verlag,Heidelberg, 1985.

[44] Dieter Zobel. The deadlock problem: A classifying bibiography.Operating Systems Review, 17(4):5–15, 1983.

Dieter Zobel 4.4 - 1 267