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

[OSASK 842] Re: フォーマットについて.



  こんにちは、川合です。


Myurika さんは 2000/06/11 00:10:09 の「[OSASK 834] Re: フォーマ
ットについて .」で書きました:

>  でも、それはファイルシステムの段階の話だから、どちらかというとカーネル
>のお仕事のような気もするんですが…。

  はい、ここで僕の登場です。

  OSASKのカーネルってなんでしょう?・・・実は、深く考えると謎で
す。シェルっていうのも、実は謎です。

  OSの本とかによると、そのOSのためのサービスルーチンが集まったも
のがカーネルで、それを包むようなイメージがシェルなのですが、OSAS
Kのカーネルやシェルをそのように捉えると、僕のイメージとはかなり
異なることになります。

  OSASKでは、OS全体を管理し、システムがおかしくならないように保
証するのは、カーネルではなく、シェルです。つまり、シェルは何も「
包んでは」いません。ど真ん中にいて、一番えらくて、誰も彼には逆ら
えないような存在です。カーネルでさえも、シェルに逆らうことはでき
ないのです。

  シェルは、何もかも自分で処理するのは疲れるので、仕事を他の外部
ルーチンに分配します(もし疲れないなら、自前でやっていただいても
結構です)。この、外部ルーチンこそが、カーネルです。シェルから見
れば、カーネルなんか、ただのDLLです。ハードウェアを制御しないド
ライバーみたいなものです。サービスの悪いカーネルでしたら、そんな
カーネルは捨てていいです。

  カーネルはひ弱な存在で、ちょっとでも自分の管理している仕事の範
囲で変化が起きると、シェルにお伺いを立てます。自分じゃ、何も決め
られないんです。

  ・・・ということで、カーネルに仕事を振るということは、「外部」
に任せることと同義であるとお考えください。つまり、今回の場合は、
ファイルシステムを熟知したルーチン群を生成し、そいつらが仕事をす
るわけです。より内部的な処理に近いかどうかでカーネルの仕事にする
のかどうかを考えるのではなく、外部に委託した方が拡張性や一貫性を
維持しやすいと思える場合にのみ、カーネルに任せるという方針を採っ
てください。

  仕事の質には多少の差があるのかもしれませんが、シェルが仕事を委
託しているという点においては、フォーマットコンバーターもカーネル
も同じです。・・・我々は、これらとシェルをまとめて、システムルー
チンと呼んでいます。カーネルという言い方はあまり使いません。あま
りにもカーネルらしくないので。


  それでは。

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