[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[b-free: 1358] Re: BTRON2はオブジェクト指向OSか?




隆一です。

# まぁ、OLE のようなモノもオブジェクト指向と称しているそうなので
# 言ったもの勝ちという気もしないではないですが。。。


From: Hideaki Suzuki <h1suzuki@bridgew.edu>
Subject: [b-free: 1356] Re: BTRON2はオブジェクト指向OSか?
Date: Thu, 16 Apr 1998 00:03:28 -0400

> Yasushi Suzuki wrote:
> 
> 
> > > というか、オブジェクト指向 OS でいうオブジェクトは、かなりいい加減とい
> > > うか弾力的に使われているのではないかと思います。
> > 
> >  あぁ、なるほど、、、特にオブジェクトが何であるとかいうよ
> > りも「ファイルではない、XXではない、えぇい、、オブジェク
> > トって言っておけ!」のような感じでしょうか。
> >  で。BTRON2 は実身・仮身指向OS、と。
> 
> ごめんなさい。よく分かりません。
> 
> 何か、実身・仮身指向とかそう言ったようなものを作ったようですが、
> Object Oriented OS とどのくらい違うのか今一つ分かりません。
> 
> # ちなみに、実身の訳語は "Real Object" ですね。:-P

え、jissin/kashin じゃないの :-P


> BTRON2では「実身と称される object」を規定して、それに対する操作で
> すべてが成り立っている、ということでよいでしょうか?
> しかも、実身はその種類で操作による影響が分類され、しかも同じ種類の実身で
> あれば、実際には別の実体でも同様の操作が出来たりとか、、、。昔あった話で
> は、「それが window ならば、四角だろうと、六角形だろうと、同じ様な操作で
> 処理できる」とか。同時に、例えば、「実身→ストレージ実身→ファイル」と大
> きな分類から徐々に細かな分類がなされると同時に、その上にできる操作がハッ
> キリとしてくるとか(継承とどのくらい違うの?)。

BTRON2 における実身/仮身モデルがオブジェクト指向かどうかを知ることにつ
いて、一番簡単な方法は、坂村先生に聞くことでは?

# いや、別に冗談ではなく。オブジェクト指向に見えるかどうかを議論するよ
# り、オブジェクト指向として考えて作ったかを聞いた方が確実ですから。


私としては、オブジェクトと実身は中身が見えるというのが違うのではないか
と思います。
オブジェクト指向の場合だと、オブジェクトというモノに対して、操作を依頼
するという感じになります。
つまり、オブジェクトの中身はどうなっているかは外からは分からない。

で、実身の場合には、操作を依頼するのではなく、実身の読み書きによってデー
タを操作することになります。つまり、中身を知るのにメッセージを送る必要
はなく、そのまま読めばいいということです。

これは、ネットワークワイドの環境で BTRON2 の実身/仮身をアクセスするこ
とになった時のことを考えると分かりやすいと思います。

なんていうか、オブジェクト指向では一対一のメッセージのやりとりを行うの
ですが、実身/仮身だと一対多あるいは多対多のやりとりとなります。つまり、
一台のクライアントがサーバの資源を何か変更すると、他のクライアントにも
同時にその変更が伝わります(実身なのだから当然)。

オブジェクト指向はテレビ電話による一対一の話をしているようなイメージで、
実身/仮身だと同時に複数の人が書き込める黒板をつかった会議のようなイメー
ジだと思います。


話題は変わりますが、オブジェクト指向は、オブジェクトに対して「何なにを
しろ」と命令する必要があるわけですが、これはネットワークのような一対多
のような環境だとしんどい気がします。

実際、一対一でメッセージをやりとりするという方法でネットワークを構築す
るのは管理の面で大変な部分があります。
たとえば、相手先の指定をどうするかとか、マシンを追加した場合にどういう
ことをすればいいのかとか、メッセージのやりとりでサーバの負荷が上がる一
方だとか。
下手をするとマシンを追加するだけで、ネットワーク組み直しをする大騒ぎに
なります。

一対一のメッセージというモデルを捨てて、グローバルに複数のマシンが共用
できる「環境」を考えて、その「環境」を操作することで他のマシンへ情報が
伝播するモデルを考える必要があるのではないかと思います。

# これが、多分「場」のモデルで言っていることではないかと思うんですが。。。


近い将来、組み込み機器にも通信機能が入ると思いますが、その時に一対一の
通信を基盤にしたオブジェクト指向のようなモデルだとまずいんじゃないかなぁ。
(まさか、すべての家で Pentium 400MHz のようなサーバが 24 時間動くこと
を期待することもできないし)


> うーむ。
> Object Oriented な OS というのは(少なくともこの ML では)嫌われているの
> かなぁ。

この ML に参加している人は、100 人ほどいますが、発言者自身はその 10 分
の 1 程度です。ML で嫌われているというほどのサンプルは得られないのでは? 

私としては、「場」の理論を実際に OS のアーキテクチャとして使うときに、
オブジェクト指向という枠では収まりきれないのではないかと思っているので
すが。。。

# つまり、BTRON はオブジェクト指向よりもっと凄いんだぞ、
# と言いたいわけね :-)


> それとも、実際に、BTRON2は全然OOなOSではないのだろうか?

えーと、以前書いた TRON プロジェクト '90 - '91 の坂村先生の論文を読む
限り、将来の方向性としては、BTRON はオブジェクト指向とは別の方法論で行
くみたいですね。
その論文を見る限り、ネットワーク上の資源もすべていっしょくたにしたアド
レス空間上のデータとして操作するという、ネットワークワイドな単一記憶系
のような感想を持ちました。

論文中では、オブジェクト指向も例として挙げており、一応、オブジェクト指
向とは違うということは書いてあります。

# でも、10 年近く前の論文なので、最近どうなっているかは分かりません。
# 実装もどうやればいいのか。。。


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