パスワードを忘れた? アカウント作成
14004 story

研究用OSの新顔、es 50

ストーリー by mhatta
sf.jpでやってるのか 部門より

Average 曰く、

オペレーティング・システム研究用のOS、esというのが開発されています。
概要によりますと、「ソフトウェアコンポーネントによって拡張可能なオペレーティングシステムを開発しています。すべてのシステムコールがC++言語の抽象クラス(インターフェイス)の純粋仮想関数呼び出しとして実現されています。」だそうです。
今どきOSを作っている、というのはネタにもならないような気もしますが、開発主体が任天堂ってのはWiiの次の姿に関係してたりして、等と勝手に想像できてそそるものがあります。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2006年11月24日 14時09分 (#1063909)
    > オペレーティング・システム研究用のOS

    前と後ろが同じモノならそれがわかるように書くべきです。
    「オペレーティング・システム研究用のオペレーティング・システム」なんでしょうか?
    それとも後者のOSってなに?

    ちなみに http://nes.osdn.jp/about.html [osdn.jp]
    esオペレーティングシステムは研究用のオペレーティングシステムです。
    と書いてありますが、「オペレーティング・システム研究用」とは書かれていません。
    • by Anonymous Coward on 2006年11月24日 16時31分 (#1063965)
      おおかたOSとはどんなものなのか
      作りながら確かめようと思って作られたOSなんじゃないでしょうか

      で、せっかくだからオープンソースにしてみようみたいな。
      親コメント
      • それでは任天堂の一連の製品はOSとはどんなものかわかってない人達がつくってたわけですか?
        • > OSとはどんなものか

          最近の研究とかは知らないので何ですが,なかなか難しい定義だと思います。
          --
          "Patriotism is the last refuge of a scoundrel." - Samuel Johnson
          親コメント
          • > OSとはどんなものか
            境界線が専門家と技術者とマーケッティング担当者と一般人で皆違っちゃうからなぁ。

            ところでC++のインターフェースでかかれちゃうとコンパイラのバージョンが変わったら
            全部ビルドしなおしとかになっちゃったりしないのか?
            • > ところでC++のインターフェースでかかれちゃうとコンパイラのバージョンが変わったら
              > 全部ビルドしなおしとかになっちゃったりしないのか?

              えっ、C++ってバージョンによって呼出しの形式とか違う事があるの?
              今まで考えたことなかったよ。

              リンクのエントリ名の変換規則のあたりか、
              バイナリの形式には決まりがあるだろうけど、
              他になにかあるんかしらん。

              教えて、詳しい人。
              • まさに
                > リンクのエントリ名の変換規則のあたりか、
                あたりの話だと思いますよ。

                gcc なんかは、2→3でmangling規則が変わりました。
                そのため、gcc2でコンパイルしたオブジェクトはgcc3で作られたライブラリとリンクできません。
                gcc3でコンパイルし直す必要があります。

                逆(gcc3でコンパイルしたオブジェクトをgcc2用のライブラリとのリンク)は
                gcc3に互換性オプションがあるので可能なのですが…

                そのせいで、システムコールがC++ベースである BeOS が gcc2から gcc3 に移行できなかったと聞いてます。
  • 情報なし (スコア:2, 参考になる)

    by saitoh (10803) on 2006年11月24日 13時35分 (#1063889)
    リンク先の「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の追加)もユーザープロセスのそれと同程度の簡単さでできるなら組み込み向けにはいいかもしれません。もちろん、モジュールの動的ロードやカーネル関数の充実が前提でしょうが。

      親コメント
    • Re:情報なし (スコア:2, 参考になる)

      by Anonymous Coward on 2006年11月24日 19時15分 (#1064042)
      ドキュメントをざっと眺めての適当なまとめ

      1. デバドラ、ファイルアクセスから通常のOSでいうシステムコール、デーモン的なサービスまでそれぞれがインターフェイスとして定義され実装されている。
      2. それによって提供される機能は他のプロセスで実行されているサービスであっても、ローカルでのオブジェクト操作と同様に実行できる。
      3. 早くもネタ切れ

      親コメント
    • by wd-nara (25864) on 2006年11月24日 17時11分 (#1063990) 日記
      「esのカーネルの実装において、システムコールはC++言語の抽象クラス(インターフェイス)の純粋仮想関数呼び出しです」とも「ユーザプロセスからC++言語の抽象クラス(インターフェイス)の純粋仮想関数呼び出しによって、esのシステムコールが発行できます」とも「従来システムのシステムコールに対応するものは、esではC++言語の抽象クラス(インターフェイス)の純粋仮想関数呼び出しとして実現されたインターフェースです」とも解釈できますね。

      気になるけど、今、ソースを読む暇が作れない。

      親コメント
    • by Anonymous Coward
      IInterface が Microsoft の言うところの IUnknown に似ていそうな事はわかった(それ以上は調べていない)。
  • エス (スコア:2, 興味深い)

    by Anonymous Coward on 2006年11月24日 13時38分 (#1063891)
    es
    それが〈は〉;それを
    〔2格seiner3格ihm;所有冠詞sein〕

    ドイツ語です。心理学で「エス」もこの事を差しています。

    だからそれなんですよ。
  • この辺りの業界知識がぜんぜんないので、以下は根拠を示せない妄想です。

    ・昨今はハードウェアの進化に合わせて、開発者の柔軟な対応が必要になっている
    ・どこのソフトウェアハウスも似たようなコンポーネントセットを開発している
    という背景があって、開発者のナレッジコミュニティ構築にコストがかさむような背景があるのではないかと思います。
    MicrosoftはWindowsのアーキテクチャを武器にその辺うまくやってるよね、というところもあって、「みんなが触れられるOS」が色よく見えているのかも知れません。
    そしてオープンな開発スタイルによって、コンポーネントの共有が可能になる場が出来れば、趣味で学んでいる一般人と既存するソフトウェアハウスが相互にその場にフィードバックをするようになる。
    ソフトウェアハウスも再利用ができてコストダウンが図れれば嬉しいだろうし、そのまた次世代とかハードの刷新は今後もあるだろうけれど、このコンポーネントのレベルで逐次対応していくことも検討できるんじゃないでしょうか。

    一般人がシームレスにビジネスの場へ参加できるようになれば、現時点では「Windowsでゲームを作ったことがある」程度の新入社員でも、バリバリ書けるプログラマであっても、ある程度新プラットフォームに直面するインパクトを軽減できるかもしれませんよね。
    Nintendoはそんなエコシステムを考えていて、アマチュアプログラマから見ればWiiのような新ハードが「プロのステージ」として用意できるようになる。
    「中身は例のヤツと一緒だ。違うのはコントローラだけだ。客もいる。販路もある。プロモーションもできる。やってみないか?」

    …なわけないか。
    --
    - Sparklegate, Yam.
  • NES? (スコア:1, おもしろおかしい)

    by Anonymous Coward on 2006年11月24日 13時36分 (#1063890)
    何か、「es」なのにプロジェクト名はNES・・・・
    Nintendo "es" ....

    バージョン2は、スーパーes になりそうな予感が今からします。

    # Javadocそのままか、と思ったらCppDocなんてあったんですね、知らなかった・・・
    • by Anonymous Coward
      バージョン2は、スーパーes になりそうな予感が今からします。
      それをいうならSuper Nintendo "es" ではないのでしょうか?

      #えっ? スーパー任天堂!?
    • by Anonymous Coward
      じゃあその次はUltraesですな(笑
  • OS作りと未踏 (スコア:1, 興味深い)

    by Anonymous Coward on 2006年11月24日 18時58分 (#1064033)
    OS作ったって意味ねーよと思うかもしれない。しかし、OSASK [osask.jp]の川合氏、CooS [www.coos.jp]の高橋氏、Mona [monaos.org]の蓑輪氏と、OSを自作している面々が続々と未踏で認められているという事実がある。この手の人たちが第三の勢力を築きつつあるのかもしれない。
  • by Anonymous Coward on 2006年11月24日 13時41分 (#1063894)
    esを避けたのは同名のWILLCOM端末に配慮したのでしょうけど。エミュレータに引っかけた?

    こんな時にもNintendoトピック [srad.jp]を!!>編集子

  • by Elbereth (17793) on 2006年11月24日 15時25分 (#1063931)
    悪いとかダメとか言うわけではないんですが、
    何でライセンス文が英語なんでしょう。
    ほとんどのドキュメントが日本語なのに。

    ※このesのサイトの中では他に
    「es インターフェイス仕様書」だけが
    英語で記述されているっぽいです。

    何かの参考になるかと思ってよく読んでみたり、
    ついでに訳してみたけども、よくあるライセンス文の
    抜き出しみたいな感じなので、余計に疑問が。

    • by Anonymous Coward on 2006年11月24日 15時38分 (#1063936)
      >悪いとかダメとか言うわけではないんですが、
      >何でライセンス文が英語なんでしょう。

      議論の下地にしたいならそのライセンスへのリンク張ってよ。

      sf.jp es オペレーティングシステム [osdn.jp]
      > License: Historical Permission Notice and Disclaimer

      OSI [apachenews.org]のうちのひとつだから英語そのままなんじゃないの?

      GPLのライセンスだけ英語な日本語ソフト見つけたら文句言う?
      #その場合、GPL和訳したのだけ添付しているほうがむしろ問題だよね。
      親コメント
      • by Elbereth (17793) on 2006年11月24日 17時51分 (#1064004)
        >議論の下地にしたいならそのライセンスへのリンク張ってよ。
        esのサイトのトップページの一番下の部分にのっていますから
        わざわざリンクを張らなかったんですが。

        まぁ、Historical Permission Notice and Disclaimerと
        書いてあるのを見逃したのは非常にうかつではあります。

        #最近こんなの多いな>自分
        親コメント
      • #その場合、GPL和訳したのだけ添付しているほうがむしろ問題だよね。

        でしょ?

        だから何もつけなかった [srad.jp]のに、それでも文句を言う人はいるんですよ。

  • by Anonymous Coward on 2006年11月24日 16時20分 (#1063958)
    VMの移植がしやすかったからでしょうか。
typodupeerror

普通のやつらの下を行け -- バッドノウハウ専門家

読み込み中...