Singularity
Singularity は マイクロソフトリサーチ が2003年から実験的に開発しているオペレーティングシステム (OS)。高度なディペンダブルOSとすることを目標とし、カーネルやデバイスドライバ、アプリケーションも全てマネージコードで書かれている。
開発者 | マイクロソフト |
---|---|
OSの系統 | 言語ベース |
開発状況 | Microsoft Research により開発中 |
ソースモデル | シェアードソース |
最新安定版 | 2.0 / 2008年11月14日 |
アップデート方式 | N/A |
パッケージ管理 | N/A |
プラットフォーム | x86 |
カーネル種別 | マイクロカーネル、言語ベース |
既定のUI | コマンド行インタフェース |
ライセンス | Microsoft Research License |
ウェブサイト | Microsoft Research Singularity Project |
仕組み
編集セキュリティ
編集
Singularity はマイクロカーネル型のOSである。それまでのマイクロカーネルとは異なり、各コンポーネントは同じアドレス空間︵プロセス︶内で、"software-isolated process" (SIP) として動作する。SIPにはそれぞれ自前のデータとコードがあり、他のSIPとは独立している。SIPはプロセスのように振舞うが、仮想記憶の切り替えが不要でコンテキストスイッチのコストが低い。
システムの保護は、不変条件と呼ばれる一連の規則が提供し、それらは静的コード解析で検証される。例えば、メモリ不変条件は2つのSIP間で相互参照︵ポインタの受け渡し︶はしない、としている。SIP間の通信は高度に抽象化された通信路経由で行われ、OSの管理下にある。不変条件はアプリケーションのインストール時にもチェックされる。Singularityでは、インストールはOSが管理している。
不変条件の多くは、より安全にメモリを管理する言語に依存している。例えば、Sing#にはガベージコレクション機能があり、ポインタを自由に使えない。また、コードが特定のコンピュータセキュリティポリシーに適合するか検証できる。
プロジェクトの状況
編集関連項目
編集- Inferno
- JavaOS
- JNode
- Midori (オペレーティングシステム) - Singularity と関連するマイクロソフトのプロジェクト。
脚注・出典
編集- ^ “Singularity RDK Releases: Singularity RDK 2.0 Initial Release (17067)”. 2008年11月14日閲覧。
外部リンク
編集- 公式サイト
- Singularity Design Motivation (PDF) と overview of the Singularity Project (PDF)
- Singularity RDK ソースコード
- Singularity: A research OS written in C# 開発者 Jim Larus とGalen Hunt へのインタビュー映像
- Singularity III: Revenge of the SIP 3人の開発者へのインタビュー映像
- Singularity IV: Return of the UI デモ映像
- Singularity Revisited 4人の開発者へのインタビュー映像