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

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




隆一です。


From: Yasushi Suzuki <suzu@beebee.co.jp>
Subject: [b-free: 1341] Re: BTRON2 はオブジェクト指向OSか?
Date: Wed, 15 Apr 1998 15:46:33 +0900

>  ウェルビーンの鈴木と申します。
> 
>  ちょっと、、、話をず〜っと前に戻させていただいてもよ
> ろしいでしょうか?
> 
> Ryuichi Naitoh wrote:
> 
> > 隆一です。
> >
> >   ....
> >
> > で、BTRON2 の場合、オブジェクト指向的 OS というのは、仕様を考えた人た
> > ちは言っていないわけで、オブジェクト指向 OS ではないでしょう。
> > BTRON2 の API についていえば、オブジェクト指向とは別の概念でああなって
> > いると思います。
> 
>  私、最初にあのAPIを見た時は「ioctl()っぽい」なぁ
> と感じました。ただし、cmd .. などはアクセスキー取得後
> にレコードをいじることで代替するような、、そのために全
> 部を実身にしたのかなと。

BTRON2 の場合、実身/仮身モデルを OS の資源全般に広げたと見るのが正しい
見方だと思います。
(でも、坂村先生がどう考えているかはもちろん別。そろそろ、新しい BTRON4 
あたりを出してくれないものか。。。)



> > 確かに BTRON2 の仕様に基づいた OS を鈴木さんが作ればオブジェクト指向
> > OS になるかもしれませんが、オブジェクト指向でない作り方も可能でしょう。
> >
> > どちらかというと、オブジェクト指向より Plan 9 のような file oriented
> > OS の考えの方が興味深いです。
> 
>  で。本題はこちらでして。ちょっと教えていただけますか?
> この file oriented というのはAPIですよね? それとも
> 内部の構造も再帰的に file oriented になっているのでしょ
> うか? Inferno についてはどうでしょう?

うーん、Plan9 の内部構造は流石にどうなっているかは分かりません。
私が file oriented と書いているのは、UNIX ではデバイスもスペシャルファ
イルを介してアクセスするとかそういう意味のことです。一般に file
oriented という用語が正しいかは分かりません。


さて、オブジェクト指向 OS といっても実装はいろいろあると思うんですが、
簡単に言えば OS が管理している諸々の資源(ファイルシステムとか、ユーザ
プロセス)をオブジェクトというモノを介してアクセスできるようになってい
るというものだと思います(だから、オブジェクト指向言語で書かれていなく
てもオブジェクト指向 OS と言える)。

で、file oriented というのも同様に OS が管理している資源をファイルとし
てアクセスできるということです。

UNIX もある程度はファイルを介して諸々の資源にアクセスできるわけですが、
ちょっと中途半端でファイルだけではすべての資源にアクセスできません。
たとえば、TCP/IP はファイルとは別の scheme で管理されています。つまり、
ソケット関係の API を使って、他のマシンと通信とかをする必要があります
(まぁ、読み書きはファイル関係の API が使えるけど)。

Plan9 の場合だと、ネットワークという資源もファイルを介してアクセスでき
ます。また、プロセスも、/proc の下をアクセスすることによって、プロセス
を殺したりできます。Linux でも最近は /proc でプロセスなどの情報にアク
セスできますけど、シグナルは送ったりはできないんじゃなかったかな?
(最近のバージョンではできるようになっていたりして。。。)


	* たとえば、Plan9 でプロセスにシグナルを送るには、次のように
	  行います。

	  echo kill > /proc/4/note

	  Plan9 の場合、シグナルとかエラーなど UNIX で数値で表現してい
	  たものは、文字列で表現するように変わりました。シグナルも 
	  'kill' という文字列になっています。



で、BTRON2 の場合を考えた場合、OS の資源を実身という形でアクセスできる
ようにしています。実身は位置づけとしてはファイルですから、plan9 の考え
方に近いものと思います。もちろん、実身はファイルとは違う、ということで、
実身/仮身指向という言いかたでもいいと思います。


Plan9 と BTRON2 のどっちが先かというのは分かりません。
一応、plan9 のリリースは、1995 年になっていますが、もちろんその前から
ベル研では作っていたわけで、Plan9 という OS が立ち上がったのはもっと前
でしょう。BTRON2 も同様で、どちらが先かは微妙なところです。

# 公開というだけなら、BTRON2 の方が早いと思うんですけどねー。
# だから、BTRON2 は、世界的に見てもかなり独自性の高いものだったと思
# います。あとが続いていないけど。。。


>  また、Plan9 や Inferno についての入門的な情報ソースの
> 所在をご存知でしたら教えていただけますか?

Plan9 でしたら、http://plan9.aichi-u.ac.jp/ が日本語で書かれており、情
報も豊富なので、参照されると良いかと思います。Plan9 のファイルについて
の話は、http://plan9.aichi-u.ac.jp/unix.html にあります。

あと日本語で書かれているサイトとしては、以下のものがあります。

http://basalt.cias.osakafu-u.ac.jp/plan9_doc/plan9_index.html
http://www.hh.iij4u.or.jp/~yoriyuki/plan9/

本家の Bell 研で公開している WWW ページは、以下の URL です。

http://plan9.bell-labs.com/plan9/ 


Inferno の方は、http://plan9.bell-labs.com/inferno に WWW ページがある
みたいですが、今見たところ接続できませんでした。

# ところで、Inferno は、Plan9 とは全く別の OS ではなかったでしたっけ?
# 確か組み込み用 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