河野真治 @ 琉球大学情報工学です。

この場合はデバッグなんだから、デバッグ手法として使うってこと
なんだよな.... デバッグする段階と使う段階が別っていう考えが
そこにあるのは理解できます。が、なんか納得できない。

In article <bft900$c99$1@news521.nifty.com>, "Takashi SAKAMOTO" <PXG01715@nifty.ne.jp> writes
> Unix でも共有メモリをロックしっぱなしで process を落とすと危険だったりするこ
> とはなかったでしょうか? process では限界があると思うのですが。

flock/lockf とかだったらロックの主体はプロセスなので、その
プロセスが死ねば解放されます。

「プロセスの限界」ですか? 授業で記述問題で出そうかな。「Unix
のプロセスの限界を、エラー処理の観点から1000字程度で述べよ」
とか? うーん、でも自分でも、ちょっと簡単には書けないな。

プロセス自体は簡単でわかりやすいですよ。ややこしくなるのは、
thread と併用したときでしょう。

> # 全ての資源を仮想的なものにして、実在の資源とは一切切り離すところから
> # やるといいのかな、と。

ファイルとか通信ポートとかI/Oデバイスとかを実在の資源と切り
離すのは難しいと思う。Unix だとファイルディスクリプタみたい
な切口はありますが、少し足りないんですよね。

エラー処理は、

    アプリあるいはライブラリ自体を階層的に作り、
    その場、あるいは、上位階層で処理する

みたいに作らないとダメなのは当然なんだけど、なかなか
できないね。その階層の一つとしてプロセスがあるわけだけど。

最近だと、サンドボックスとかいう見たいですね。

> # Windows のアプリケーション全般が落ちやすいとなると、原因は COM とは違
> # うところにありそうですが…。

まぁ、もっともと、複雑なものになると、UnixだろうがWindows
だろうが関係ないって話もある。

---
Shinji KONO @ Information Engineering, University of the Ryukyus, 
              PRESTO, Japan Science and Technology Corporation
河野真治 @ 琉球大学工学部情報工学科, 
           科学技術振興事業団さきがけ研究21(機能と構成)