伊藤です。

kono@ie.u-ryukyu.ac.jp (Shinji KONO) writes:

> > > resource id 自体は、どうやって取って来るんでしょう?
> > Unix で資源の ID というと、ファイル名じゃないですか。
> 
> 分散環境だとホスト名を使って資源名にするのは、もはや、
> ちょっと危ないしなぁ。どうするんだろう?

この部分なんですが、「もはや、ちょっと危ないし...」というのは、具体的
にどのような状況を思い浮かべればよいのでしょうか?ご教示いただければと
思います。

> 例えば、block する時に、プロセス間に resource id の順序の方
> 向にpointerを張っておけばいいと思う。block した時に、自分の
> 資源からpointerをたどっていったpidと、自分が既に獲得した資源
> のpointerの先のpidが同じだったら、循環性があるってことですよ
> ね。そのポインタのコストが高いってなら、まぁ、仕方ありません
> が。

grmdでのdeadlock検出の手法は、まさに上記の方法だと思います。

# 初めて、その手法を知ったのは「OSシリーズ OS-9/68000 高澤嘉光 著」で
# あったと記憶してます。すっかり昔話です...。

> まぁ、実際には、
>     lock file 作って、そこで、atomic lock
> ってのが多いとは思いますけどね。

そうですね。軽くcgiとか書くときは、結局そうなりがちです。で、そういう
状況を打開したいという思いでgrmdを開発したというところもあります。

-- 
Masahiko Ito <m-ito@mbox.kyoto-inet.or.jp>
http://web.kyoto-inet.or.jp/people/m-ito/index.html
Key fingerprint: 1B91 344A 7D99 8BA4 FDAB  C894 FE76 69C9 985F 3403
PGP public key: http://web.kyoto-inet.or.jp/people/m-ito/pgp/pgp.txt