K42

K42
開発者IBMトーマス・J・ワトソン研究所トロント大学ニューメキシコ大学
作業状態製造中止
ソースモデルオープンソース
初回リリース2006年10月 (2006年10月
マーケティングターゲット研究
入手可能な英語
サポートされているプラ​​ットフォームPowerPC 64、32
カーネルタイプマイクロカーネル
公式サイトwww.research.ibm.com/K42

K42は、キャッシュコヒーレントな64ビットマルチプロセッサシステム向けのオープンソース研究用オペレーティングシステム(OS)です。IBMトーマス・J・ワトソン研究所を中心に、トロント大学およびニューメキシコ大学と共同で開発されました。このOSの主な目的は、大規模な共有メモリ非均一メモリアクセス(NUMA)マルチプロセッシングコンピュータにおけるシステムソフトウェアのパフォーマンスとスケーラビリティの問題に対処することです。[ 1 ]

K42は、従来のモノリシックカーネル設計ではなく、マイクロカーネルアーキテクチャを採用しています。K42は、マイクロカーネルとして機能する小さな例外処理コンポーネント、保護プロシージャ呼び出し(PPC)と呼ばれる高速プロセス間通信(IPC)メカニズム、そしてオペレーティングシステムの他のほとんどのコンポーネントのためのサーバーで構成されています。これらのサーバーは別々のアドレス空間に存在し、マイクロカーネルや他のサーバーとの通信は高速IPCメカニズムに依存しています。

歴史

K42の中核はトロント大学のオペレーティングシステムTornado [ 2 ]をベースにしている。K42は同大学のスケーラブルオペレーティングシステム研究の第3世代である。nuMachineマルチプロセッサ[ 3 ]上のTornado OSが第2世代、Hectorマルチプロセッサ[ 5 ]上のHurricane OS [ 4 ]が第1世代であった。

特徴

K42はLinux PowerPC 64および32アプリケーションバイナリインターフェース(ABI)をサポートしているため、リレーショナルデータベースDB2を含むほとんどのPowerPC Linuxバイナリファイルは変更なしでK42上で実行できます。K42には専用に実装されたデバイスドライバーがいくつかありますが、ハードウェアサポートの大部分はLinuxデバイスドライバーを専用サーバーに直接リンクすることで実現されています。

K42設計のもう一つの目標は、カスタマイズ性と保守性に優れたシステムを実現することです。オブジェクト指向プログラミング設計に基づいて構築されているため、アプリケーションはOSの必要なサービスをカスタマイズして最適化し、カーネルオブジェクトの実装をオンザフライでホットスワップできます。これは、データベースやWebサーバーなど、物理リソースの制御によってパフォーマンスを向上できるアプリケーションにとって特に重要です。

オープンソース

K42 ソースは git 経由です:

https://github.com/jimix/k42

参考文献

  1. ^ Krieger, Orran; Auslander, Marc; Rosenburg, Bryan; Wisniewski, Robert W.; Xenidis, Jimi; Da Silva, Dilma; Ostrowski, Michal; Appavoo, Jonathan; Butrico, Maria; Mergen, Mark; Waterland, Amos; Uhlig, Volkmar (2006年10月). 「K42: 完全なオペレーティングシステムの構築」. ACM SIGOPS オペレーティングシステムレビュー. 40 (4). Association for Computing Machinery (ACM): 133– 145. doi : 10.1145/1218063.1217949 .
  2. ^ 「Tornadoオペレーティングシステム:概要」 Eecg.toronto.edu。2015年12月11日時点のオリジナルよりアーカイブ2015年6月13日閲覧。
  3. ^ 「NUMAchineマルチプロセッサプロジェクト」 Eecg.toronto.edu. 2015年9月23日時点のオリジナルよりアーカイブ2015年6月13日閲覧。
  4. ^ "Hurricane" . Eecg.toronto.edu. 2007年5月13日時点のオリジナルよりアーカイブ。 2015年6月13日閲覧
  5. ^ "Hector" . Eecg.toronto.edu. 2007年2月7日時点のオリジナルよりアーカイブ。 2015年6月13日閲覧