Skip to content
oraccha edited this page Jan 14, 2013 · 1 revision

コンポーネントシステムアーキテクチャ.

現在,MSから手に入る情報は1998年,SIGOPS European Workshopにおける論文だけ. 同社のMillenniumProjectと関係ありそうな気もする.

  • J.Helander, A. Forin: MMLite: A Highly Componentized System Architecture. In Proc. of the 8th ACM SIGOPS European Workshop, pp.96-103, Sept. 1998. ([http://citeseer.nj.nec.com/context/1032900/395614 ResearchIndex] | [http://research.microsoft.com/pubs/68390/mmlite-sigops.pdf PDF])
  • Alessandro Forin, Johannes Helander, Paul Pham, and Jagadeeswaran Rajendiran: Component Based Invisible Computing, IEEE/IEE Real-Time Embedded Systems Workshop, Dec. 2001. ([http://rtds.cs.tamu.edu/helander.pdf PDF])

コンポーネントはコンパイル時,リンク時,実行時に選択でき,mutationというコンポーネント入換えの機構を提供している.

  • コンポーネントはCOMインタフェースを提供する.
  • 一般的なCOMアーキテクチャではメソッドテーブルの内容やメソッドの実装は不変である.MMLiteのmutationはこのメソッド実装を入換える機構である.mutationの際に,オブジェクトが必要とするデータが異なる場合があるので,動的かつアトミックにオブジェクトの表現形式を変換する.(mutatorスレッド)
  • 同期機構として,相互排他,トランザクショナル,swizzling があるみたい.
  • 例としてデバイスドライバの入換えが挙げられている.

nested virtual machine

  • MMLiteが提供する環境はある言語で記述されたプログラムからは仮想マシンとして見える.
  • 言語ごとにVMが存在し,MMLiteはそれら複数のVMを調停役として機能する.
  • Flukeも似たコンセプトの拡張方法を採っている.

仮想記憶

  • MMLiteは仮想記憶を要求しないモジュラシステムである.

MMLiteはTalismanというマルチメディアカードのプロトタイプ(VLIWプロセッサ搭載)で使われているらしい.

  • [http://citeseer.nj.nec.com/context/71804/0 Talisman: Commodity Realtime 3D Graphics for the PC] (ResearchIndex)

関連プロジェクトとして Railto ってのがある.


OSKitが既存のOS[脱構築]して,コンポーネントとして再利用できるようにするアプローチなのに対して,MMLiteはベースとなるコアを用意し,コンポーネントを使って(システムとして単一のイメージを提供しつつ)拡張していくというtraditionalなアプローチではある.

Clone this wiki locally