Sie sind auf Seite 1von 3

GDI I

Übung 9
Gruppe 10

Aufgabe 1

Ein Prozeß ist der Ablauf eines sequenziellen Programms in einer Rechneranlage. Das Pro-
gramm besteht aus Maschinenbefehlen, die als lineare Liste sequenziell abgearbeitet wer-
den.
Ein Programm stellt eine [statische] Handlungsvorschrift dar.
Diese gibt an, wie Daten verarbeitet oder Berechnungen durchgeführt werden sollen.
Ein Prozeß ist hingegen durch seinen zeitlich veränderlichen Zustand [dynamisch] gekenn-
zeichnet.
Der aktuelle Ausführungszustand eines Programms wird durch den Prozeß beschrieben!
Der Zustand eines Prozesses kann abhängen von
1. Ein- und Ausgabe von Daten,
2. dem Voranschreiten der Berechnung, d.h. dem aktuell ausgeführten Befehl,
3. dem Inhalt von Speicher- und Registerzellen.

Aufgabe 2

Betriebssystem:
->Übersetzung des Quellkodes in ein ausführbares Maschinen-Programm
->Verwaltung und Zuweisung von Ressourcen
->Laden des Programms
->Verwalten des Speicher
->Ein- und Ausgabe (Bildschirm, Tastatur usw.)
->Zuteilung von Mikroprozessorzeit an Programm

Aufgabe 3

->Ein Programm wird in den Hauptspeicher geladen, bevor es als Prozeß ausgeführt wird.
->Das Programm liegt auf einem Sekundärspeicher binärkodiert (anonyme Folge von
Datenwörtern) vor.
->Bei Mikro-Controllern wird das Programm i.A. direkt aus dem Langzeitspeicher (ROM) aus-
geführt.
->Ein Prozeß belegt i.A. nur einen Teil des Hauptspeichers.
->Der Speicherbereich eines Prozesses ist in einzelne Teilsegmente unterteilt, die verschiedene
Arten von Daten beinhalten.
Stack Datensegment (veränderlich): Im Datensegment befinden sich
Programmdaten, wie z.B. Textzeichenketten, Variablen usw

Codesegment (fest): Programmcode


Daten

Code

Aufgabe 4

->Der Scheduler (Ablaufplaner) ist für die Prozeßverwaltung im Betriebssystem mit Multitas-
king (Mehrprozeßbetrieb) zuständig.
->Der Scheduler teilt Prozessen die Prozessorlaufzeit zu und führt die Prozeßumschaltung
durch.
->Bei der Prozeßumschaltung wird der aktuell laufende Prozeß angehalten, und ein neuer
bereiter Prozeß zur Ausführun vorbereitet (task switch).

Aufgabe 5

Bisher haben wir 3 Methoden kennen gelernt:


Die Methode nach dem First-Come-First-Served-Prinzip:

P1 RUN RUN RUN Wait


P2 Start Bereit Bereit RUN
1 2 3 1 CLK

Prozesse werden der Reihenfolge ihrer Ankunftszeit Rechenzeit eingeräumt. Für die Ankunftszeit
ist ausschlaggebend wann der Prozess „Bereit“ signalisiert. Dabei wird der laufende Prozess nicht
unnötig unterbrochen. Wenn natürlich ein rechenaufwendiger Prozess läuft und in der Zeit ein
Prozess, der eigentlich nur ein Bruchteil der Rechnenzeit des laufenden Prozesses braucht,
Bereitschaft signalisiert wird dieser um die noch nötige Rechenzeit des laufenden Prozesses
verzögert.

Die Methode nach dem Zeitscheiben-Prinzip:

P1 RUN Bereit RUN RUN


P2 Bereit RUN Wait Wait
1 2 3 1 CLK

Bei dieser Methode werden hinter einander den Prozessen eine gewisse Rechnenzeit zugestanden,
wenn diese nach der Zeit den Prozessor noch nicht freigegeben haben, werden sie abgewürgt und
erst nach einem vollen Kreislauf wieder Rechenzeit zugestanden. Dadruch kommt es zu sehr vielen
Prozesswechseln. Bei einer frühzeitigen Beendigungen der Berechnungen für einen Prozess wird
auf den nächsten bereiten Prozess geschaltet.
Die Methode nach dem Prioritäten-Prinzip:
P1 RUN RUN Bereit RUN
P2 Wait* Bereit RUN Wait
1 2 3 1 CLK
*Ereignis

Prozesse erhalten eine feste (oder dynamische) Prioritätseinstellung. Dadurch kommt es bei
Prozessen mit hoher Prioritäten zu enorm geringen Latenzen. Anderseite können Prozesse mit
geringer Prioritäten beliebig oft nach hinten geschoben werden. Laufende Prouesse können hier
doch Prozesse mit höher Priorität unterbrochen werden.

Aufgabe 6

P1 Start Rdy RUN RUN Wait Wait Wait Wait


P2 RUN RUN Rdy Rdy Rdy Rdy Rdy RUN
P3 Wait Wait Wait Wait* Rdy Rdy RUN Wait
P4 Start Start Rdy Rdy RUN RUN Rdy Rdy
0 1 2 3 4 5 6 7 CLK

Aus dem Diagramm lässt sich ablesen das es sich um eine Zeitscheiben Scheduling Methode
handeln muss, da mehrmals Prozesse nach 2 Clocks abgewürgt (in Rdy versetzt) werden und der
nächste Prozess Begonnen wird. Bei der FCFS und Prioritäts-Methode würde dem Prozess soviel
Rechenzeit Verfügung gestellt wie dieser benötigt.
Beim Übergang CLK1->CLK2 wird P2 abgewürgt und erst nach einer vollen Runde (P2->P1->P4-
>P3) wieder aufgenommen. Beim Übergang CLK5->CLK6 wird wieder ein Prozess angehalten (in
diesem Fall P4) der mindestens um 2 CLK verlängert wird.