Mailinglist Archive: opensuse-de (4888 mails)

< Previous Next >
Re: Was ist Prozesszustand D ?
  • From: B.Brodesser@xxxxxxxxxxxxxx (Bernd Brodesser)
  • Date: Thu Sep 02 11:35:34 1999
  • Message-id: <19990902133534.F910@xxxxxxxxxxxxxx>



* Rainer Brall <RBrall@xxxxxxxxx> schrieb am 02.Sep.1999:

kann mir jemand erklären was genau der Prozesszustand D
bedeutet und wodurch er hervorgerufen wird ? Was ist der
Unterschied zwischen einem solchen Prozess und einem
Zombie ? Stehen solche Prozesse nur noch in der Prozess-
tabelle oder laufen sie wirklich noch ?

Es gibt im Wesentlichen drei Prozeßzustände: R, S und D.
Es kann immer nur ein Prozeß zur gleichen zeit rennen, (bei einem
Prozessor), nämlich der Prozeß mit R wie running.

Wenn es mehere Prozesse mit R gibt, so ist das eine Täuschung, da auch
ps eine, für Prozesse, lange Zeit braucht.

Von Zeit zu Zeit wird er vom Kernel suspendiert, um andere Prozesse
ranzulassen, und befindet sich dann im Prozeßzustand S wie suspended.

Eine andere Möglichkeit ist, wenn der Prozeß etwas vom Kernel will,
z.B. auf eine Device zugreifen. Dann gibt er den Prozessor freiwillig
ab. Er befindet sich im Zustand D wie Device. Der Prozeß kann erst
weitergeführt werden, wenn der Kernel die Sachen für ihm erledigt hat.

Solange ruht er. Wenn dann eine Device, wie z.B. die CD-Rom oder
floppy-disk, hardwarmäßig blockiert ist, kann das auch schon mal
länger dauern. Dann ist auch ein D zu sehen. Sonst höchstens kurz.

Im Gegensatz zu einem Zombie macht der Prozeß weiter, sobald der
Kernel seine Aufgabe für ihm erfüllt hat. Wenn Du ihm ein nicht
abgefangenes Signal zuschickst, so wird der Prozeß auch erst dann
beendet. Es kann ja keiner entscheiden, ob es nicht doch abgefangen
wird, außer der Prozeß selber.

Zur Vollständigkeit: Es gibt noch die Zombies Z, die wie Du richtig
schreibst nur Einträge in der prozeßtabelle sind und Terminierte
Prozeße T. Sie werden im Gegensatz zu den S-Prozessen nicht vom
Kernel, sondern von einem anderen Prozeß mittels einem Signal schlafen
gelegt und wieder aufgeweckt.

Der User kann das mit CTRL-Z machen und mit fg bzw. bg wieder
aufwecken.

Bernd


--
Umsteiger von Microsoft Windows xx?
Hast Du schon file://usr/doc/howto/de/DE-DOS-nach-Linux-HOWTO.txt gelesen?
Auch file://usr/doc/Books/Linuxhandbuch.dvi ist zu empfehlen.
|Zufallssignatur 01

--
Um die Liste abzubestellen, schicken Sie eine Mail an:
suse-linux-unsubscribe@xxxxxxxx
Um eine Liste aller verfügbaren Kommandos zu bekommen, schicken
Sie eine Mail an:
suse-linux-help@xxxxxxxx


< Previous Next >
References