Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von...

Post on 05-Apr-2015

109 views 0 download

Transcript of Systeme 1 Kapitel 4 Prozesse WS 2009/101. Letzte Vorlesung Festplatten – Layout Realisierung von...

Systeme 1

Kapitel 4Prozesse

WS 2009/10 1

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

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

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

Multitasking auf Ein-Prozessor Systemen

• Getrennte Ausführung:

• Pseudo-Parallele Ausführung:

WS 2009/10 5

Programm 1

Programm 2

Programm 3

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

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

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

Prozesswechsel

WS 2009/10 9

Prozesstabelle

Schritt 1:Prozess 1 wird ausgeführt.

Hauptspeicher

CPU

Prozesswechsel

WS 2009/10 10

Prozesstabelle

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

Hauptspeicher

CPU

Prozesswechsel

WS 2009/10 11

Prozesstabelle

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

Hauptspeicher

CPU

Prozesswechsel

WS 2009/10 12

Prozesstabelle

Schritt 4:Prozess 2 wird ausgeführt.

Hauptspeicher

CPU

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

Prozesszustände

WS 2009/10 14

neu bereit aktiv

blockiert

terminiertZulassung Zuteilung

Freigabe

Timeout

Warten aufEreignis

Ereignistrifft ein

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