Prozesszustände

laufend, bereit, blockiert

Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.

Prozesszustände
Die Fragen dazu sind doch recht verwirrend, zB Juli 02 Frage f):

Ein Laufender Prozess wird in den Zustand blockiert überführt, Welche Aussage passt nicht zu dem Vorgang:

  • Der Prozess wartet auf Daten von der Festplatte

(naja, der Prozess lief halt, wollte Daten und wird blockiert, bis das read() wieder zurückkomt denke ich)

-Der Prozess wartet mit wait() auf die Terminierung eines Sohn Prozesses

(hört sich auch gut an, falls kein WNOHANG gesetzt ist passt das doch)

-Der Prozess hat einen Seitenfehler für eine Seite, die bereits in die Freiliste der Seiten eingetragen, aber noch im Hauptspeicher vorhanden ist

(hm, dazu findet man im Skript recht wenig, kann das vielleicht nochmal jemand erklären, was da vor sich geht? Was ist eine Freiliste der Seiten?)

-Der Prozess wartet auf eine Tastatureingabe

(hört sich auch gut an, oder ist dann bereit?)


soweit ich das verstanden hab sind prozesse die auf tastatureingaben warten bereit und nicht blockiert… aber kann mich auch täuschen (ich hasse diese prozesszustands fragen :#: )


WEisst du dazu was:

Der Prozess hat einen Seitenfehler für eine Seite, die bereits in die Freiliste der Seiten eingetragen, aber noch im Hauptspeicher vorhanden ist

Was ist die Freiliste der Seiten? Ich find im Skript nix passendes dazu.


Also normalerweise sind die Prozesse im Zustand blockiert wenn sie auf Tastatureingabe warten.Weil sie benötigen ja die Daten um weitermachen zu können.Und da kann bereit nicht stimmen (da warten sie ja nur noch dass sie “gescheduled” werden).Hab das 3. Kästchen angekreuzt.

Hab nen interssanten Link für die Multiple-Choice Aufgaben, aber keine Garantie:
http://board.fau-informatik-2001.de/showthread.php?s=e8f38a794769d9e62e31e3f5391ecd69&threadid=1557

Kann auch sein dass ich den Link schon mal angegeben hab hier irgendwo.


Keine Ahnung, was das bedeuten soll, also ist es generell unglaubwürdig. :smiley:


also so wie ich das verstehe ist das doch wenn ein prozess was ausm speicher will und in der paging table ist das präsenzbit nicht gesetzt aber das dirty bit auch nicht (also seite ist nicht präsent, aber die info steht noch unverändert im speicher), muss dann nicht das OS eingreifen und in der paging table das präsenzbit setzen … und der prozess ist solange blockiert …

und freiliste ist ne liste in der freie seiten stehen


Verdammt, wieso bin ich da nicht drauf gekommen :smiley:


Lol, gleiche Klausur (Juli 02):

Bei RAID1 wird durch das Verteilen der Daten auf mehrere Platten ein sogenanntes gestreiftes Plattensystem erzeugt. Welche Aussage ist richtig:

Wie war das nochmal, aus etwas falschem kann man immer etwas richtiges folgern?

RAID1 ist lt. Folie und google Disk Mirroring, RAID0 ist Striping.


Ja stimmt so einigermassen (ob das genauso mit dirtybit und präsenzbit sein muss weis ich net sicher) bis auf eines, der Prozess muss dabei nicht blockiert werden, der bleibt „aktiv“, schlieslich macht das Betriebssytem genau da weiter, wenn es mit der Speicherbehandlung (dem simplen setzen des Präsenzbits und evtl entfernen aus Freiliste) fertig ist.

Anders würde die Situation ausschauen, wenn die Seite nicht mehr im Speicher ist, dann wird der Prozess als „blockiert“ markiert, an den DMA Controller der Befehl geschickt, er soll doch bitte die Seite in den Speicher laden (evtl andere Seite verdrängt) und während der im Hintergrund arbeitet wird ein anderer Prozess gescheduled.


erstmal … JUHU :smiley:

… seh ich das richtig dass ein prozess immer blockiert wenn er auf irgendwas wartet (egal was), was er nicht gleich kriegen kann (also user ist „zu“ langsam oder gerät belegt oder …) … kann man das auf diese aussage reduzieren ?


ja eigentlich schon: blockiert heisst er kann nicht laufen weil er auf was warten muss
(Daten, Semaphor, anderer Prozess wird fertig, usw.).
bereit heisst, er koennte laufen, tut’s aber nicht (weil die CPU einen anderen Prozess
bearbeitet).