[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[b-free: 1218] Re: b-free: 1205 についてのコメント (2/2)
隆一です。
# 話の都合上、Hideaki Suzuki <h1suzuki@bridgew.edu> を Aki. と
# Yasushi Suzuki <suzu@beebee.co.jp> を鈴木さんと書いています。
From: Yasushi Suzuki <suzu@beebee.co.jp>
Subject: [b-free: 1211] Re: b-free: 1205 についてのコメント (2/2)
Date: Wed, 01 Apr 1998 14:22:25 +0900
> ウェルビーンの鈴木と申します。
>
> Ryuichi Naitoh wrote:
>
> > 隆一です。
> > メイルの続きです。
> > ....
> >
> > > > 今の B-Free OS のデザインは、非常に粗いレベルのオブジェクト指向とも言
> > > > えますよね。
> > > > オブジェクトとして各マネージャがあって、オブジェクト同士のメッセージ通
> > > > 信によって処理をしているわけですから。
> > >
> > > うーむ。Object Oriented の、Object が曖昧なので、僕は、今の B-free を Object Oriented なOS
> > > とは認めたくないですねぇ。
> > > たとえば、process も SMB も、ある種の共通する性格を持っています。例を挙げると、
> > >
> > > 1.生成できる。
> > > 2.削除できる。
> > > 3.Access 件を設定できる。..., etc.
> > >
> > > そこで、VolatileObject という抽象を規定して、process も memory もその一種だとしましょう。
> > > もし B-free がOOなら、process と SMB に対して、全く同じ API で操作ができるはずです。その
> > > API は、VolatileObject を操作できるという API です。こう云うのを、Object Oriented というのだ
> > > と思います。
> >
> > それは、プロセスと共有メモリは、親子関係にないクラスだからです :-P
>
> 小さな事ですが。
> Akiさんは、プロセスと共有メモリはどちらも「VolatileObject」の
> 子供だと主張していたように読めました。これは内藤さんのおっしゃる
> ことと矛盾していません。
うん、確かに。
プロセスと共有メモリは、クラス継承上の関係がないクラスと言いかえましょ
う。
>
>
> > オブジェクト指向だからといっても、無関係なクラスならば、操作は別になる
> > のは当然ですね。
> >
> > それに、プロセスと共有メモリは、クラスは別にした方がいいと思います。
> > 鈴木さんは共通する性格を持っているということですが、プロセスと共有メモ
> > リのそれぞれの操作はかなり違っていると思います。
> > プロセスは、能動的なモノですが、共有メモリはプロセスから使われるという
> > むしろ受動的な性格をもつモノです。むしろ、共有メモリというクラスに属し
> > ている共有メモリインスタンスをプロセスに結びつけるようにするクラス構成
> > の方がいいでしょう。
>
> 別の鈴木ですが。
> 私は必ずしもプロセスと共有メモリを別のクラスにしなくても良いと
> 感じました。複数プロセスが非同期的に共有メモリにアクセスする場合
> もありますし、共有メモリ側にロッキングプロトコルに対応した管理処
> 理を付けたい場合もあるかもしれません。
> で、共有メモリにある程度自立的(能動的)な処理を組み込んでおき
> たくなると。ただし。これもクラス設計における趣味の問題程度の話で
> あるかもしれず、たぶん小さな事ですね。
えーと、ちょっと誤解があるのではないかと思います。
たしかに共有メモリが受動的な性格を持つと書きましたが、これはプロセスと
共有メモリで役割が違うという意味で、共有メモリのクラスがメソッドを含む
必要がないというわけではありません。
共有メモリを操作したい場合には、共有メモリクラスのメソッドを呼び出すこ
とになると思います。
>
> > # ほら、やっぱり、B-Free はオブジェクト指向ですね :-)
> >
> > ま、B-Free OS がオブジェクト指向である、というのは半分冗談ですが。
> > 処理とデータの両方を含むモノに対して、処理を要求するような構成になって
> > いればオブジェクト指向的だとは言えるわけで、プロセスやメモリという具体
> > 的なモノをシステムコールで操作するという見方をすれば、OS はオブジェク
> > ト指向的である見方はできます。
>
> 私はLSI設計用のCADシステム開発が専門ですが、ハードウェア
> 開発においては抽象データ型(処理+データ)のEntityをObjectと呼ぶ
> ことは多いようですね。
> 自立的に動作する主体であり、Stimulasに対してAppropriateなmethod
> が起動される。管理対象データは内部にある。このような意味でプロセス
> もメモリも「オブジェクトである」とすることに少なくとも「ハードウェ
> ア開発者」は反対しないんじゃないかと思います。
もともと、オブジェクト指向はシミュレーション用途で考えられた経緯もある
ので、ハードウェアのシミューレートでオブジェクト指向的になるのは不思議
ではないと思います。
> ところで。
> オブジェクト志向という話になると用語の定義なしに話を続けて不毛な
> 時間を費やしがちです。定義して使えば良いのではないでしょうか。
> ソフトウェア開発に携わっている人であれば、継承およびそれによる差
> 分プログラミングがサポートされていないと「オブジェクト志向」という
> のに抵抗があろうかと思います。開発環境や方法論までの話としてのオブ
> ジェクト志向なのか、対象をモデリングする際に用いる自立的な動作主体
> としての抽象データ型Entityとしてのオブジェクトなのかという区別をつ
> けておけばよいのではありませんか?
> 小さな話かもしれませんが。
はい。私もそれを感じていて、それが、[b-free 1209] での
> というわけで、意味がわかりません。
> あまりに、幅がありすぎます。設計法としてのオブジェクト指向ですか?
> それとも、OS の構成としてのオブジェクト指向でしょうか?
という文を書いた理由です。
p----------------------------------------------------------------------q
| FROM R.Night |
| E-mail: |
| rnaitoh@st.rim.or.jp |
| Key fingerprint = 89 EB 77 95 40 C0 3C CC 37 A1 A7 FA 1C 66 FF D0 |
b----------------------------------------------------------------------d