Architecture Research Report

次世代コンピューティングの礎
単一アドレス空間OS

64ビットアーキテクチャの登場により、仮想アドレスは「希少資源」から「無限の空間」へと変貌しました。すべてのプロセスが同じ空間を共有するSASOSの設計思想は、現代のパフォーマンスボトルネックを打破する可能性を秘めています。

アーキテクチャの根本的変革

翻訳(Translation)と保護(Protection)の分離

01 従来型: マルチアドレス空間

空間A
(App 1)
空間B
(App 2)
空間C
(Kernel)

アドレス 0x1000 は各空間で異なるデータを指す

  • • プロセスごとに仮想空間が隔離されている
  • • データの共有にはシリアライズ/コピーが必要
  • • 切り替え時にTLBのフラッシュが発生し低速

02 SASOS: 単一アドレス空間

App 1 Area
App 2 Area
Kernel Area

システム全体で 0x1000 は常に一意のデータを指す

  • • 全プロセスが広大な単一仮想空間を共有
  • • ポインタの直接受け渡し(ゼロコピー共有)が可能
  • • コンテキストスイッチが関数呼び出し並みに高速

圧倒的なパフォーマンス実証

Singularity (SASOS) vs 汎用OS 実行サイクル比較

※ AMD Athlon 64 3000+ (1.8GHz) 環境での測定データに基づく

SASOSの系譜:主要プロジェクト

理論を具現化したシステムたち

IBM i (OS/400)

商用での最大成功例

単一レベルストア(SLS)を採用し、オブジェクトベースの管理を実現。驚異的な後方互換性を誇る。

Status: Active

Mungi

分散SASOSの頂点

パスワード・ケーパビリティにより、明示的なI/Oなしでネットワーク全体のデータにアクセス可能。

Status: Research Prototype

Nemesis

QoS特化型

マルチメディア処理に特化。コンテキストスイッチのペナルティを排除し、低遅延を実現。

Status: Research Prototype

Singularity

Microsoftの挑戦

型安全な言語(C#)によるソフトウェア分離プロセス(SIP)を導入。ハードウェア保護すら不要にした。

Status: Research Project

利点と致命的な欠点

決定的な利点

ゼロコピーデータ共有

ポインタがシステム全体で共通の意味を持つため、巨大なグラフ構造などを一瞬で共有可能。

超高速なIPC

通常の関数呼び出しと同等のコストでプロセス間通信が可能。マイクロサービスに最適。

!

普及を阻んだ壁

fork() の不整合

POSIXの「空間コピー」という概念と、SASOSの「単一空間」という前提が根本から矛盾する。

静的データの管理

グローバル変数が全プロセスで衝突するため、複雑なオフセットテーブルが必要になる。

現代におけるルネサンス(再評価)

FaaS、エッジ、そしてハードウェア保護の進化

W

WebAssembly

モジュール間の線形メモリによるソフトウェア分離。現代版Singularityとしての可能性。

C

CHERI

ハードウェアレベルのタグ付きポインタにより、単一空間内での厳格かつ高速なメモリ保護を実現。

μ

μFork

CHERIを利用したポインタの動的再配置により、SASOS上でのPOSIX互換性を解決する新技術。