[Subject Prev][Subject Next][Thread Prev][Thread Next][Subject Index][Thread Index]

[OSASK 1535] Re: micro kernel.



  こんにちは、川合です。


nabe さんは 2001/02/23 01:10:38 の「[OSASK 1531] Re: micro kerne
l.」で書きました:

>マイクロカーネル(の思想)で作られた OS が窓以外に見当たらない……と
>いう意味です。悲しいですよぉー(^^;;

  そうなんですか!?

  Windowsがマイクロカーネルの思想で作られたOSだというのも信じが
たいんですが、Windows以外にはないって言うのはもっと信じがたいで
す。・・・僕が無知なだけなのかな?

>>  結局、アプリはだまされていることになります。ぐいぐい00のコマン
>>ドで書かれているアプリは、本当にぐいぐい00を呼んでいると思ってい
>>ます。しかし実際はぐいぐい01が走っていて、その差異を埋めるために
>>「ぐいぐい00−ぐいぐい01ブリッジ」がアプリに接続されていたりする
>>わけです。
>直接つながないで、途中を設ければいいんですね。なるほど。

  そうです。

  このブリッジの方法というのは非常に使える方法でして、アプリがし
たシステムコールを無加工で通してログを取るブリッジを作れば、それ
だけでデバッグの際の大きな助けになるでしょう。

>システムコールを判別するというのもありますが、
>目的というか何というかは、
>今までないサービスが新たに提供されるようになったとき、
>アプリを変更することなく対応させる方法はないかなぁーと
>いうのもあります。
>
>こういう新たにサービス(新機能)への対応って、簡単な(アプリの)修正で
>済むことがほとんどなのですが、それすら不要になる手だてはないかと
>思うのもあります。

  これは、おっしゃりたいことがいまいちつかめませんでした。

  新しいサービスが提供されたとして、今まではそのサービスを使わず
に済んでいたのに、新しいサービスを使うっていうことなんですか?・
・・これに、どういう効果があるのか、どういう場合を想定しているの
か、僕の想像力では理解できませんでした。

>バージョンについては色々思うところがあって、
>「正規のバージョン」の他に「互換性のある最低バージョン」というものを
>返したらどうだろう、と考えています。
>
>「互換性のある」についてはバージョンでなくても、API 番号でも何でも
>いいのではないかという感じもします。
>
>#それすら気にさせないのも手ですが

  僕はこの「それすら気にさせない」という路線を追求していますが、
なべちゃんさんのようなアプローチにも価値があることは分かっていま
す。

>私はこれが難しいのではないかと……考えているわけです。
>例えば、システム側の内部変数はアプリごとに用意するものもあれば、
>全体で1つというのもあるように思います。
>
>この全体で1つというような変数については、
>システムをそのように作らないって結論されるのでしょうか。
>(そのような変数に依存するように作らないという意味です)

  そうです。全体で一つというのがどういうものなのか僕にはそれがは
っきりしないのですが、そのとおりです。

  たとえば、画面モードみたいなものはシステムで1つしかとらない数
値ではないかとおっしゃるでしょう。そうかもしれません。

  でも接続されているビデオカードが一枚とは限りませんし、一枚のビ
デオカードで複数の画面を持てる機種が将来現れるかもしれません。キ
ーボードだって、今は1つしか繋がないのが普通ですが、USBハブを使
ったりすれば、1台のマシンにかなり多くのキーボードを接続すること
だってできるでしょう。

  こういう局面を考えると、画面モードは全体で1つだと決めるのは無
理があると思います。

>#アプリ側がワークを作る。システムを呼び出すときは、そのワークを使う。
> ……うむ、なんとかなるような、ならないような(笑)

  これについては、アプリ側が直接ワークを作るとそのシステムの為の
ワークエリアにアプリがアクセスできるようになってしまうので、スロ
ットという方法が取られています。

>>  これをWindowsなどで普通にロードした時は、以下のようにメモリに
>>配置されます。
>>CS     CCCCCCCCCSSSSSS???????????????????|(limit)
>>DS,SS  CCCCCCCCCSSSSSS???????????????????|(limit)
>ヒープとスタックを逆に考えてた私って……(自爆)
>
>#DOS の COM 形式とかを考えすぎてた?
>#EXP とかでは 静的線数は スタックの前ですよね?
> indows は知らないのですが。

  誤解されているような気がするので、フォローします。

  「S」と書かれている部分はスタックではありません。[OSASK 1513]
をよくみてください。staticな変数を表しています。「?」の部分が、
スタック兼ヒープです。


  それでは。

--
    川合 秀実(KAWAI Hidemi)
川合堂社長 / OSASK計画総指揮 / カーネル開発班
E-mail:kawai !Atmark! imasy.org
Homepage http://www.imasy.org/~kawai/