パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

研究用OSの新顔、es」記事へのコメント

  • 情報なし (スコア:2, 参考になる)

    リンク先の「esオペレーティングシステムの概要」などをみたが、結局どのような技術的特長を持ったOSなのかぜんぜんかかれてない。 ソース読めってか?

    「システムコールがC++言語の抽象クラス」ということは、システムコールを持つわけで、マイクロカーネルではなくてモノリシックカーネルなのかなぁ?

    • Re:情報なし (スコア:4, 参考になる)

      by Nekomimi k2h (32117) on 2006年11月24日 23時59分 (#1064169) ホームページ 日記

      概要とリファレンスマニュアルに軽く目を通しただけなので実際のところは不明ですが要約すると、

      1. カーネルはAPIとして幾つかのクラスのクラスファクトリを登録している。ユーザープロセスはこれらクラスのインスタンス生成・操作(インターフェイスとして)をさせることができる。
      2. 各ユーザープロセスもプロセスが生きていて、クラスファクトリを登録している間、自分を含むすべてのユーザープロセスから登録したクラスのインスタンス生成・操作(インターフェイスとして)をさせることができる。呼び出し元ユーザープロセスから見ればAPI呼び出しも他プロセスのインスタンス操作も同等。
      3. インターフェイスはCOM風にC++クラスの仮想関数呼び出しとして行われる。
      4. 引数・戻り値のマーシャリングはCOMアウトプロセスサーバのようにまる見せにしない
      といったところでしょうか。

      ただ、感想としてはプラトニックすぎる気がしますね。COM実運用上の最大の問題、dll hellをそのまま再燃させているし、COMでいうインプロセスサーバやサーバプロセスの動的Invokeがなければ柔軟性が乏しい気がします(あったらすいません)。あと、研究用ということで割り切っているのだと思いますが、システムのプリミティブの操作やインターフェイスポインタ生成にセキュリティ関係の引数が無いのは気になります。

      しかし、もし、カーネルモジュールでのオブジェクト公開(つまりはAPIの追加)もユーザープロセスのそれと同程度の簡単さでできるなら組み込み向けにはいいかもしれません。もちろん、モジュールの動的ロードやカーネル関数の充実が前提でしょうが。

      親コメント

計算機科学者とは、壊れていないものを修理する人々のことである

処理中...