お世話になっております。 A.中村です。
あー今週からは暇っすー。職場というかこのmailアドレス(笑)に
接しない時間も増えそうだし(黄金週間は長い)、送信場所換えるべきかなあ
とか考えてる昨今。

On Sat, 24 Apr 1999 00:37:20 +0900
kjana / os.xaxon.ne.jp (YANAGAWA Kazuhisa) wrote:

> そもそも手続きが「存在する」という概念からして不明だったり (^^; なんて
> いうか,「溝があります.これは単に溝です.水がながれて来ました.水がな

それですそれ(笑)

そのくせにどういうわけか、手続きのカタマリで作られた
「アプリケーション」は、「存在する」かのように理解されて
いることが多いんですよね。たとえばプロセスIDとか(笑)。
ましてやプロセスIDめがけてシグナルを投げるなんて…くわばらくわばら。
なんてーか溝めがけてシグナル投げてるかのようです。

> る/しない,動いている/止まっているが定義できますが,「失せる時には止
> まっていなければならない」と「止まったら失せなければならない」では全然
> 意味が違いますしね.

んですね。「失せる」と「止まる」に対してそれぞれ成される要請が、
根本的に違う。

> > 手続きは「存在するイコール走ってる」ですが…よって存在「中」に
> > 外界からいじることが出来ないのですが、
> そんな事いったら一所懸命「プロセス間通信」とか「並行システムの意味論」
> とかを研究している人がかわいそうです.そこまで考えなくても普通のサーバ
> は「外界からの要求を受け取って作業を行い返事を返」しますし.

考えない?いや、論じましょう((c)「キス」)(笑)

プロセス間通信といっても、ほんとの意味でプロセス同士「が」
通信してるんでしょうか?
結局、プロセスと直接接するのは「状態」だと思うのですが…
無論、状態が接するのはプロセス(手続き)。

同期取るなら同期フラグが存在しますし、同期しないなら
どこかに書き捨てて(笑)置いた状態を他のプロセスが読むことでしょう。
#…で、いいんですよね?
シグナルも似たようなものかな。ポーリングなら状態が介在しますし
割り込みだったらそもそも新規手続きの起動なんで議論から離れるし。

あとは、隠蔽の仕方の差でしかないような気がします。
オブジェクトってゆーと状態を前面に出した解釈だろうし
プロセスっていえば手続きを前面に出した解釈だろうし。

> それは,「サーバの設計が間違えている」のです.とか (^^;
> # inetd.conf かきかえて kill -HUP とか.

まぁそれを属性書き換えメソッドだと考えるという
手もなきにしもあらずですが(^^;
ただ、ちょっと美しくはないですね。好きなメソッドをばりばり
定義しまくってという感じには程遠いですから。

時折思うんですよー。
職場で大勢が同一loginIDでloginして(まずこれが間違ってるのは
承知のスケだがちょっと事情があって回避困難)いっせいに
いろんなソースをviで読み書きし始めると、いじられてない安全な
(それを安全と思っていいかどうかという議論はさておき)ソースが
どれか?をpsで見ても、わからんのです(笑)。
たとえば、viの実行インスタンスに何らかのmessageを送って、
「今readonlyでソースをあけているviのインスタンスはドレ?」なんて
問い合わせをしたいなーと思う瞬間が、あるのですよー

とゆーか、unixとかのloginってモノ自体が、
loginシェルからのサブルーチンコール手順をユーザー介在の上で行う
と言ってるに過ぎないものですから…。

> サーバプログラムは常にオブジェクトとみなす事ができます.メッセージを受
> け取って,返事を返す.内部の状態は隠蔽されている.オブジェクト以外の何
> 者でもない (^^;

プログラムといっても、正確にいえばプロセス(ID)、ですよね。
ディスク上に存在する実行ファイルは、そういう意味ではオブジェクトじゃない。
コンストラクタみたいなもんでしょうか。

これまた設計が悪いといってしまえばそれまでなんですが、
じゃあどう設計すればいいのか?ってーと「状態を数えられるように
すべし」が答えであるはずなので、それってつまりooすれば
いいんじゃないの?という話に至るじゃないか…なのが、
「サーバー(に限らないが)インスタンスを複数立ち上げたらどうなる?」
という問題だったりします。
状態は、漠然と「存在する」では駄目で、*もしそうするのが適切な
ケースならば*「数えられるカタチで存在する」ようにしないと
エライことになってしまうなぁと。で、こーゆー場合こそooの出番だなと。

#dosの頃は特に、複数という概念を失念した(笑)常駐ソフト作者が
#多かったような気がする…(T_T)
#マルチ「タスク(仕事)」とマルチ「プロセス(手続き)」は違うんだい(T_T)

で、ちょっと突っ込んだ話になると、今度は「インスタンスを
同時でなくて時間差で使ったらどうなる?」があります。
これは永続オブジェクトの話に突入するネタでして…逃げろー(^^;
unixのソフトにいくつか、makeした後にメモリ内容をそのままディスクに
落として、これを次回から実行プログラムとして使ってしまうなんてのが
ありませんでしたっけ。あれって要は原始的な永続オブジェクト…

> 「早わかりオブジェクト指向」なんていう OOPSLA '88 だかなんだかでの講演
> の翻訳あたりでも出ていますが,要するに「継承がないと Object-Orientd と
> はいわない」っていう「定義」です.

…ちょっとずっこけました(^^;

#classified object oriented ってなら、まだわかるのだが…
#プロトタイプ指向はどうするつもりなんだろ?