Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Systeme 1 Kapitel 4 Prozesse WS 2009/10.

Ähnliche Präsentationen


Präsentation zum Thema: "Systeme 1 Kapitel 4 Prozesse WS 2009/10."—  Präsentation transkript:

1 Systeme 1 Kapitel 4 Prozesse WS 2009/10

2 Letzte Vorlesung Festplatten Realisierung von Dateien Layout
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

3 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

4 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

5 Multitasking auf Ein-Prozessor Systemen
Getrennte Ausführung: Pseudo-Parallele Ausführung: Programm 1 Programm 2 Programm 3 WS 2009/10

6 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

7 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

8 Prozesswechsel Kooperatives Multitasking Präemptives 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

9 Prozesswechsel Hauptspeicher Code Prozess 1 Code Prozess 2
Daten Prozess 1 Daten Prozess 2 Activ. rec. Prozess 1 Activ. rec. Prozess 2 Prozesstabelle CPU PC Register Stack pointer Schritt 1: Prozess 1 wird ausgeführt. WS 2009/10

10 Prozesswechsel Hauptspeicher Code Prozess 1 Code Prozess 2
Daten Prozess 1 Daten Prozess 2 Activ. rec. Prozess 1 Activ. rec. Prozess 2 Prozesstabelle CPU PC Register Stack pointer Schritt 2: Activation record von Prozess 1 wird in die Prozesstabelle geschrieben. WS 2009/10

11 Prozesswechsel Hauptspeicher Code Prozess 1 Code Prozess 2
Daten Prozess 1 Daten Prozess 2 Activ. rec. Prozess 1 Activ. rec. Prozess 2 Prozesstabelle CPU PC Register Stack pointer Schritt 3: Activation record von Prozess 2 wird aus der Prozesstabelle geladen. WS 2009/10

12 Prozesswechsel Hauptspeicher Code Prozess 1 Code Prozess 2
Daten Prozess 1 Daten Prozess 2 Activ. rec. Prozess 1 Activ. rec. Prozess 2 Prozesstabelle CPU PC Register Stack pointer Schritt 4: Prozess 2 wird ausgeführt. WS 2009/10

13 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

14 Prozesszustände Zuteilung Zulassung Freigabe Timeout Ereignis
neu bereit aktiv Freigabe terminiert Timeout Ereignis trifft ein Warten auf Ereignis blockiert WS 2009/10

15 Warteschlange wartender Prozesse
Bereit-Warteschlange Freigabe Prozessor Zulassung Zuteilung Timeout Warteschlange Ereignis 1 Warten auf Ereignis 1 Warteschlange Ereignis n Warten auf Ereignis n WS 2009/10


Herunterladen ppt "Systeme 1 Kapitel 4 Prozesse WS 2009/10."

Ähnliche Präsentationen


Google-Anzeigen