systeme 1 kapitel 4 prozesse ws 2009/101. letzte vorlesung festplatten – layout realisierung von...

15
Systeme 1 Kapitel 4 Prozesse WS 2009/10 1

Upload: lorelei-strassman

Post on 05-Apr-2015

109 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Systeme 1

Kapitel 4Prozesse

WS 2009/10 1

Page 2: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Letzte Vorlesung• Festplatten – Layout

• Realisierung von Dateien– Zusammenhängend

• Schnell, einfach• Problem: Fragmentierung• Verwendung: CD-ROM

– Verkettete Listen• Keine Fragmentierung, sequentielles Lesen• Problem: Wahlfreier Zugriff (langsam)• Verwendung: FAT (Windows)

WS 2009/10 2

Page 3: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Letzte Vorlesung

• Realisierung von Dateien– I-Nodes• I-Node nur im Speicher, falls Datei offen• Verwendung: UNIX

• Realisierung von Verzeichnissen• Verwaltung freier Plattenblöcke

WS 2009/10 3

Page 4: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Multitasking auf Ein-Prozessor Systemen

• Prozessoren sind so leistungsfähig, dass die pseudo-parallele Ausführung mehrerer Prozesse schnell genug abläuft.

• Viele Prozesse können den Prozessor ohnehin nicht permanent nutzen.– Viel Zeit wird mit Warten auf Ein-/Ausgaben

verbracht:• z.B.: Lesen von Festplatten ist um ein Vielfaches

langsamer als die Ausführungsgeschwindigkeit des Prozessors.

WS 2009/10 4

Page 5: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Multitasking auf Ein-Prozessor Systemen

• Getrennte Ausführung:

• Pseudo-Parallele Ausführung:

WS 2009/10 5

Programm 1

Programm 2

Programm 3

Page 6: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Zerlegung in Teilaufgaben

• Zerlegung einer Gesamtaufgabe in Teilaufgaben, die in getrennten Prozessen laufen, ist häufig ein „natürliches“ Vorgehen.

• Prinzipiell ist Zusammenfassung in ein einziges Programm immer möglich.

• Aber: – Durch Zerlegung (automatische) Aufteilung der Rechenzeit

unter verschiedenen Teilaufgaben durch Betriebssystem („Scheduling“).

– Wartezeiten auf Ein- / Ausgaben können durch andere Prozesse genutzt werden.

– Ein-Programm-Lösung mit gleicher Funktionalität hätte häufig verworrene Kontrollstruktur („Spaghetti-Kode“).

WS 2009/10 6

Page 7: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesse

• Prozess – Programm in Ausführung– Zu jedem Prozess gehört ein Adressraum:

• zugeordneter Arbeitsspeicher mit minimalen und maximalen Adressen• Enthält

– Ausführbares Programm, Programmdaten und Kellerspeicher (“Stack”)

– Informationen über aktuellen Programmzustand:• Inhalt von Prozessorregistern:

– Programmzähler, allg. CPU-Register, Akkumulator– Stack pointer

• Verwaltungsinformationen zu geöffneten Dateien, ...– Wenn ein Prozess inaktiv ist, werden diese Informationen in

einer Prozesstabelle gespeichert.• Wenn ein Prozess aktiviert wird, kann so sein alter Zustand wieder

hergestellt werden (Activation Record).WS 2009/10 7

Page 8: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesswechsel

• Kooperatives Multitasking– Jedem Prozess ist es selbst überlassen, wann er die Kontrolle über den

Prozessor an den Kern wieder zurückgibt.– Vorteil: Einfacheres Betriebssystem.– Nachteil: Auf „gutmütige“ Programme angewiesen.– Bsp.: Windows 95 / 98 / ME und MacOS bis einschl. 9

• Präemptives Multitasking– Neuzuteilung des Prozessors kann in regelmäßigen Zeitintervallen vom

Betriebssystem erzwungen werden.– Vorteil: Steuerung durch das Betriebssystem– Nachteil:

• Komplexeres Betriebssystem Nebenläufigkeit und wechselseitiger Ausschluss

– Bsp.: Windows NT / 2000 und neuer, Linux

WS 2009/10 8

Page 9: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesswechsel

WS 2009/10 9

Prozesstabelle

Schritt 1:Prozess 1 wird ausgeführt.

Hauptspeicher

CPU

Page 10: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesswechsel

WS 2009/10 10

Prozesstabelle

Schritt 2:Activation record von Prozess 1 wird in die Prozesstabelle geschrieben.

Hauptspeicher

CPU

Page 11: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesswechsel

WS 2009/10 11

Prozesstabelle

Schritt 3:Activation record von Prozess 2 wird aus der Prozesstabelle geladen.

Hauptspeicher

CPU

Page 12: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesswechsel

WS 2009/10 12

Prozesstabelle

Schritt 4:Prozess 2 wird ausgeführt.

Hauptspeicher

CPU

Page 13: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesszustände

• Modell mit 5 Zuständen– Neu: Prozess wurde erzeugt, ist aber noch nicht

gestartet.– Bereit: Rechenbereit, aber Prozessor ist diesem

Prozess nicht zugeteilt.– Aktiv: CPU ist dem Prozess zugeteilt.– Blockiert: Nicht in der Lage weiterzuarbeiten,

wartet auf ein Event (z.B. E/A)– Terminiert

WS 2009/10 13

Page 14: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Prozesszustände

WS 2009/10 14

neu bereit aktiv

blockiert

terminiertZulassung Zuteilung

Freigabe

Timeout

Warten aufEreignis

Ereignistrifft ein

Page 15: Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von Dateien – Zusammenhängend Schnell, einfach Problem: Fragmentierung

Warteschlange wartender Prozesse

WS 2009/10 15

ProzessorZuteilung

Bereit-Warteschlange

Warteschlange Ereignis 1

Warteschlange Ereignis n

Freigabe

Timeout

Warten auf Ereignis 1

Warten auf Ereignis n

Zulassung