takahiro(John Smith)
@superhoge
読書会メモはtogetuerで済ませようかと思ったけど、やはり別途文章を起こすことにした。exit( )で子プロセスをinitプロセスに養子に出す絵を描きたい
2011-04-11 08:42:48
takahiro(John Smith)
@superhoge
wakeup(&proc[1])でなんでinitプロセスが起きるのかを確認していた。init.cを見るとwait( )を呼び出して止まっているっぽい
2011-04-11 08:45:56
takahiro(John Smith)
@superhoge
waitシステムコールの中を見ていくとsleep(u.u_procp, PWAIT)つまり自分を理由に寝ている。だからwakeup(&proc[1])でinitプロセスが起きる、というわけか
2011-04-11 08:48:35
とよしま
@toyoshim
@oraccha @alumican ゾンビってexit後にwaitしてくれる人のための情報だけを残したプロセスの部分的残骸です。ライフサイクルの終端がwaitなので、それより前に開放する事はできない、という理解です。
2011-04-11 11:55:52
とよしま
@toyoshim
@oraccha exit->waitの終了コードのやりとり、元々はPDP-7 UNIXの頃にあったプロセス間通信が、終了コードのやりとりにしか使われてなかったので、fork導入時にマルチプロセスが単純化され、この形で残った・・・というのがUNIX原典の最初のあたりにあります。
2011-04-11 12:05:42
Ryousei Takano
@oraccha
ありがとうございます。読んでみます。“@toyoshim: @oraccha exit->waitの終了コードのやりとり、元々はPDP-7 UNIXの頃にあったプロセス間通信が、終了コードのやりとりにしか使われてなかったので、fork導入時にマルチプロセスが単純化され、この形で”
2011-04-11 13:30:30
Ryousei Takano
@oraccha
Bell System Technical Journal, v57: i6 July-August 1978。いわゆる「UNIX特集号」。http://t.co/VxASUoT
2011-04-11 13:31:15