NixOctet
  • Home

NixOctet Blog

Featured

PangeaOS 開発ロードマップ:Ring 0におけるWebAssembly統合と究極のSASOSへの道

kayo Application 2026年06月21日 参照数: 4

次世代のオペレーティングシステムアーキテクチャ「SASOS(単一アドレス空間OS)」をRustでゼロから構築するプロジェクト、PangeaOS。

従来のOS(LinuxやWindows)が抱える、MMU(メモリ管理ユニット)による重いコンテキストスイッチのオーバーヘッドを完全に排除し、すべてのタスクをRing 0の特権レベルで動作させるという野心的なアプローチを取っています。我々はすでに、UEFIブートローダの境界を越え、ベアメタル環境における物理メモリの完全な支配、動的メモリ(ヒープ)の復活、そして独自のGUIフレームバッファ描画基盤を確立しました。

しかし、SASOSが直面する最大の壁は「セキュリティ」にあります。すべてのコードがRing 0で動く環境下において、出所不明のサードパーティ製アプリケーションをいかにして安全に実行するのか。Rustコンパイラの型システムだけに依存するのではなく、より絶対的な防壁が必要です。

その究極の解が、WebAssembly(Wasm)を用いたSoftware Fault Isolation(SFI)のカーネルへの統合です。

OS内にWebAssemblyのコンパイラをゼロから実装するという作業は、「OS開発そのものと同じか、それ以上の規模を持つ別の巨大プロジェクトを同時に走らせる」ことを意味します。コード行数にして、最低でも数万行〜10万行クラスの極めて複雑なコンパイラ・エンジニアリングが必要です。

今回は、PangeaOSが挑むこの「巨大な作業」の正体を4つの技術的障壁として具体的に分解し、SASOS完成に至るまでの現実的な開発ロードマップを公開します。

 

1. 仮想マシン命令からx86_64機械語への変換(バックエンド生成)


Wasmのスタックマシンアーキテクチャから、実機のx86_64レジスタマシンへ変換する完全なAOTコンパイラエンジンを自作するフェーズです。

具体的に実装すべきタスク(数十のモジュール開発):

Wasmバイナリパーサーの実装: .wasm ファイルの仕様(マジックナンバー、セクション構造、型シグネチャ、インポート/エクスポート定義)をバイト単位でデコードする処理。
中間表現(IR)の構築: Wasmの命令を、最適化しやすいSSA(静的単一代入)形式の内部グラフに変換するモジュール。
レジスタ割り当てアルゴリズム(Register Allocator): 無限にあるWasmのローカル変数を、限られた16個のx86_64汎用レジスタ(RAX, RBXなど)にどう割り当てるか、あるいはスタックに退避(Spill)させるかを計算するグラフ彩色アルゴリズムの実装。
命令ロワリング(Instruction Lowering): Wasmの i32.add などの抽象命令を、x86_64の add eax, ebx にマッピングする変換テーブルの作成。
x86_64アセンブラ(Emitter)の自作: アセンブリ言語を最終的な16進数の機械語(マシンコード)に変換するエンコーダ。ModR/Mバイト、SIBバイト、REXプレフィックスのビット演算をすべて手書きで実装。
関数プロローグ/エピローグの生成: System V AMD64 ABIに従い、関数呼び出し時にスタックポインタ(RSP)やベースポインタ(RBP)を退避・復元する機械語の自動挿入。
リロケーション(Relocation)処理: 事前には分からない関数やグローバル変数のメモリアドレスを、バイナリ生成後に機械語の中に書き戻す(リンクする)処理。


2. ソフトウェア境界チェックの強制(Sandboxing)


ユーザーが書いたWasmコードが、PangeaOSのカーネル領域(ページテーブルやIDT)を破壊しないための「絶対的な檻」を機械語レベルで構築するフェーズです。

具体的に実装すべきタスク(極度の最適化とセキュリティ機構):

線形メモリ(Linear Memory)の確保: Wasmモジュールごとに、専用の仮想アドレス空間(例: 4GBの連続領域)をページテーブル上で割り当てるメモリアロケータの実装。
インライン境界チェック(Inline Bounds Checking): AOTコンパイル時、すべての load / store 命令の直前に、対象アドレスが線形メモリの上限を超えていないかを判定する cmp と jl(ジャンプ)命令を自動挿入する機構。
ハードウェア支援ページフォールトの統合: インラインチェックによる速度低下を防ぐため、線形メモリの末尾にアクセス不可能な「ガードページ(Guard Pages)」を配置し、不正アクセスをIDT(割り込みハンドラ)の PageFault でキャッチしてWasmトラップに変換する高度なMMU連携。
制御フロー完全性(CFI: Control Flow Integrity)の強制: call_indirect(関数ポインタ呼び出し)が実行される際、ジャンプ先のアドレスが正しい型の関数であるかを、実行時に機械語レベルで検証する安全機構の埋め込み。
実行スタックの分離: Wasmのコールスタック(関数呼び出しの履歴)と、x86_64のネイティブスタック(ハードウェアが使うスタック)を物理的に分離し、スタックオーバーフローによるカーネルパニックを防ぐ機構。


3. no_std 環境の罠(OSエコシステムからの孤立)


既存のWasmランタイム(Wasmtimeなど)が依存している「当たり前の機能」を、ベアメタル環境で自前で提供するフェーズです。

具体的に実装すべきタスク(標準ライブラリの再発明):

カスタム mmap 代替アーキテクチャ: 既存エンジンのメモリ確保(OSへの mmap システムコール)を剥がし、PangeaOSの FrameAllocator と PageTable を直接操作して仮想メモリを割り当てるバックエンドに差し替え。
例外処理(シグナル)のカーネルレベル実装: ゼロ除算や不正メモリアクセスが発生した際、Linuxの SIGSEGV や SIGFPE の代わりに、PangeaOSの割り込みハンドラ(IDT)から直接Wasmの実行コンテキストを安全に終了させる状態回復処理(Unwinding)の実装。
浮動小数点演算(FPU/SSE/AVX)のコンテキスト管理: Wasm内で小数を計算させる場合、Ring 0内でハードウェアのFPU状態をタスクごとに安全に退避・復元する機構(fxsave / fxrstor)の実装。


4. ABIとホスト関数のバインディング(越境通信)


隔離されたWasmの世界から、PangeaOSのネイティブ機能(画面描画など)を安全に呼び出すための「検問所」を構築するフェーズです。

具体的に実装すべきタスク(セキュアなシステムコールの設計):

WASI (WebAssembly System Interface) のサブセット実装: WasmがOSの機能を呼ぶための標準インターフェース(画面出力、時刻取得など)のPangeaOS版実装。
ポインタの安全な翻訳機構: Wasmから渡される「メモリオフセット(例: 0x100)」を、カーネルの実際の仮想アドレス(例: 0x4444_4444_0100)に加算して変換するブリッジ機能。
越境メモリアクセスの完全なサニタイズ: Wasmが「長さ 0xFFFF_FFFF の文字列を描画して」と要求してきた場合、カーネル領域へのバッファオーバーリードを防ぐための厳格な引数検証(サニタイズ)ロジック。
ケイパビリティの動的検証: ホスト関数(カーネルAPI)が呼び出された際、そのWasmモジュールが「画面描画の許可トークン(Capability)」を持っているかを検証するアクセスコントロールマネージャ。
現実的な段階的アプローチの詳細
これらを一度に作ろうとすると、OSが完成する前に確実に息絶えます。以下が、Ring 0でWasmを動かすための現実的なロードマップです。

フェーズ 1(現在の目標): 静的リンクによる純粋なSASOS
Wasmはまだ使いません。OSの全機能とアプリケーションを、Rustのコンパイラで一つの巨大なバイナリとしてコンパイルします。画面描画、キーボード入力、タスク管理といった「OSとしての基本機能」と「ケイパビリティを用いた型安全なAPI」の基礎をここで完成させます。

フェーズ 2: Wasmインタープリタの移植(AOTの回避)
AOTコンパイラを作るのは後回しにします。wasmi のような no_std で動く軽量な「インタープリタ(実行時に1命令ずつ解釈するエンジン)」をカーネルに組み込みます。実行速度は劇的に遅いですが、SFI(ソフトウェア境界)の概念と、ホスト関数(ABI)の連携テストを安全に行うことができます。

フェーズ 3: JIT / AOTコンパイラの自作
フェーズ2でインターフェースが固まった後、満を持して「1.」の機械語生成バックエンドの開発に取り掛かり、実行速度をネイティブレベルまで引き上げます。

PangeaOSの現在のフェーズでは、強固な基礎を作ることが最優先です。Wasmの巨大な壁に挑む前に、まずは「ケイパビリティ(権限の型安全化)」を用いた美しいアーキテクチャで、入出力を制御する強固なRing 0環境の構築を進めていきます。

https://github.com/forestnote/pangeaos

Featured

次世代の基盤をゼロから構築する:研究用OS「PangeaOS 0.0.1-1」が示す新たな可能性

kayo Application 2026年06月21日 参照数: 1


OS開発という果てしないフロンティアにおいて、また一つ興味深いプロジェクトが産声を上げました。それが「PangeaOS」です。今回、その初期マイルストーンとなるバージョン 0.0.1-1 をリリースしました。

本記事では、このPangeaOSがどのような視点をもたらすのか、そして今後の開発がどのように進んでいくのか、その魅力と底知れぬ可能性について深掘りしていきます。

 

探求のためのプラットフォーム:研究用OSとしての位置づけ

 

まず前提として、PangeaOSは日常的なデスクトップ用途や汎用サーバーとしての稼働を即座に目的としたものではなく、「研究用OS」として明確に位置づけられています。

これは、既存の巨大なOSの仕様やレガシーな制約に縛られることなく、OSのコアとなる概念(メモリ管理、プロセススケジューリング、ハードウェア制御など)を根本から見直し、再構築するための純粋な実験場です。特に、Rustプログラミング言語の持つ堅牢なメモリ安全性とモダンなエコシステムを開発の基盤に据えている点は、このプロジェクトの根幹をなす極めて重要な要素です。

 

レガシーからの脱却:PangeaOSの斬新な視点


これまでのOS開発は、C言語やアセンブリを主体とした伝統的な手法が主流でした。しかし、PangeaOSは以下のような新しいアプローチと視点を提示しています。

  • 安全性の設計段階からの組み込み: Rustの所有権モデルをカーネルレベルで活用することで、従来のOS開発で頻発していたメモリリークやデータ競合といった致命的なバグを、コンパイル時に原理的に排除する設計思想を持っています。

  • モダンな開発パラダイムの導入: 巨大で複雑なモノリシック構造に陥ることを避け、コンポーネントごとに独立して検証・拡張が可能なアーキテクチャを志向しています。これにより、新しい技術スタックを容易に統合できる柔軟性を確保しています。


ゼロからの拡張:今後の開発ロードマップ


バージョン 0.0.1-1 は、アーキテクチャの土台が構築された第一歩となるリリースです。ここからの開発プロセスは、技術的にも非常にエキサイティングなフェーズに突入します。

  • コア機能の拡充: 現在の最小限のブートおよびカーネル実装から、堅牢なファイルシステムの実装やデバイスドライバの拡充など、OSとしての基礎体力を強化していく段階に入ります。

  • 高度なユーザースペースへの布石: 将来的には、Qt6などのモダンなGUIフレームワークをネイティブに動作させるための描画サブシステムや、マルチタスク環境の基盤作りが進められることが期待されます。洗練されたLinux環境での開発思想が、こういったユーザースペースの設計にも色濃く反映されてくるはずです。


PangeaOSが秘める真の魅力と可能性


PangeaOSの最大の魅力は、「すべてがブラックボックス化されていない」という究極の透明性と、ハードウェアの制御をゼロから自らの手で組み上げるという、ソフトウェア開発本来のロマンにあります。

既存のシステムでは当たり前とされている動作を一つ一つコードで定義し直す作業は、計算機科学の真髄に触れる体験です。この研究用OSから得られた知見は、単に一つのOSを完成させるに留まらず、将来的に他のソフトウェアアーキテクチャの設計や、クロスプラットフォームなシステム開発など、幅広い分野に大きな影響とインスピレーションを与える可能性を秘めています。

PangeaOSはまだその歴史を歩み始めたばかりですが、込められた技術的な野心は非常に先鋭的です。今後のバージョンアップを通じてどのようなシステムへと進化していくのか、引き続きその動向に注目してください。

https://github.com/forestnote/pangeaos

Featured

KDE Plasma環境に完全に調和する。PythonとQt6で開発したLinux向けISO書き込みツール「IsoKast」を公開しました

kayo Application 2026年06月19日 参照数: 12

開発の背景とLinuxにおけるストレージ操作のジレンマ

Linuxデスクトップ環境を日常的に利用している皆様、とりわけKDE Plasma環境を愛用している皆様にとって、システムツールの選択は常に悩ましい問題ではないでしょうか。USBメモリを初期化して新しいファイルシステムを構築したり、新しいOSを試すためにインストール用ISOメディアを作成したりする作業は、Linuxユーザーであれば誰もが定期的に行うタスクです。

これまで、多くのユーザーはターミナルを開いて dd コマンドや mkfs コマンドを直接入力してきました。確かにコマンドラインは強力ですが、デバイス名を一つ間違えるだけでシステム全体を破壊してしまう危険性を常に孕んでおり、実行時に毎回神経をすり減らす作業でもあります。

一方で、安全のために既存のGUIツールを使おうとすると、今度は別の不満が生まれます。機能が多すぎて操作が複雑であったり、Web技術をベースにしたElectron製で動作が重かったりします。何より、普段美しくカスタマイズしているKDEデスクトップのテーマから、そのツールだけが不自然に浮いてしまうという視覚的な違和感は、多くのLinux愛好家が感じてきたことでしょう。

IsoKastとは何か:直感的な操作とKDE環境への完全な調和

IsoKast


このような長年の課題を解決し、日常的なストレージ操作をより安全で、直感的で、そして美しい体験に変えるために開発したのが、新しいネイティブアプリケーション 「IsoKast」 です。

IsoKastは、USBドライブの多機能フォーマッターとISOイメージの書き込みツールを一つに統合したソフトウェアです。開発言語にはPython(バージョン3.11以上)を採用し、ユーザーインターフェースの構築にはPyQt6を用いています。バージョン1.0.4として、MITライセンスのもとGitHubで公開しました。

本ツールの最大のコンセプトであり、最もこだわった部分は、KDE環境への完全な調和です。IsoKastは独自の奇抜なデザインを持たず、システムのカラーパレットやBreezeテーマ、標準のアイコンセットを自動的に引き継ぎます。これにより、まるで最初からKDEに組み込まれていた公式システムツールであるかのような、自然で洗練された操作感を提供します。

ユーザー体験を損なわないスマートな挙動と主要機能


ユーザー体験を損なわないための工夫は、見た目だけにとどまりません。例えば、USBメモリをパソコンに接続したり取り外したりした際の挙動です。IsoKastは、pyudev というライブラリを利用してバックグラウンドでデバイスの状態を常に監視しています。そのため、USBを挿し込んだ瞬間にアプリケーションの画面がフリーズすることなく、対象ドライブのドロップダウンリストがリアルタイムで更新されます。手動で更新ボタンを探して押す手間はもう必要ありません。

実用性の面でも、プロフェッショナルな要求に応える機能を備えています。

  • 用途に合わせて選べる9種類のファイルシステム WindowsやMacとのデータ受け渡しに必須となるFAT32、exFAT、NTFSはもちろんのこと、Linuxネイティブの安定した標準フォーマットであるext4、さらにはスナップショット機能などで注目されるBtrfsやXFS、フラッシュメモリに最適化されたF2FSなど、合計9種類の幅広いファイルシステムを簡単なメニューから選択してフォーマットできます。

  • 容量不足を未然に防ぐ安全なISO書き込み設計 OSのイメージファイルを書き込む際にも安全面を深く考慮しました。選択したISOファイルのサイズと、対象となるUSBドライブの物理的な容量をプログラムが事前に比較します。これにより、数十分かけて書き込みを行った後に容量不足で失敗するという悲劇や、誤ったドライブを選択してしまうリスクを大幅に軽減しています。

  • 技術的工夫:特権昇格パスワードの要求を1回に抑えるアーキテクチャ
    LinuxでのGUIシステムツール開発において、root権限の扱いは非常に難しい問題です。通常、マウント解除、パーティションテーブルの作成、フォーマット処理といったコマンドを順番に実行すると、その都度パスワードを求められてしまい、ユーザーの作業を著しく阻害します。

IsoKastでは、これら一連のコマンドをバックグラウンドで単一のBashスクリプトとして動的に生成し、一括で実行する独自のアーキテクチャを採用しました。これにより、pkexec によるパスワード入力画面の表示を最初の1回のみに抑え、非常にスムーズな作業フローを実現しました。さらに、重い処理中も非同期のワーカースレッドを使用しているため、進捗を示すプログレスバーが滑らかに動き続けます。

導入方法とNixOS環境へのネイティブなサポート


IsoKastの導入は非常に簡単です。Python環境と、バックグラウンドで処理を行うための一般的なシステムツール(parted や各種 mkfs コマンド群)がインストールされていれば、UbuntuやArch Linux、Fedoraなどの主要なLinuxディストリビューションですぐに実行可能です。

Bash

git clone https://github.com/forestnote/IsoKast.git
cd IsoKast
python IsoKast.py

 

また、システム環境を汚さずに隔離された状態でテストを行いたい開発者のために、依存パッケージやQt6のWayland環境変数を完璧に設定した shell.nix ファイルも同梱しています。これにより、再現性の高いクリーンな環境で即座にアプリケーションを試すことができます。

おわりに


コマンドラインの強力さと、ネイティブGUIの親しみやすさを両立させたIsoKastが、皆様のLinuxデスクトップでの作業をよりスマートで快適なものにすることを願っています。ぜひ一度お手元の環境で動作を試し、その使い心地を体感してみてください。

もし気に入っていただけましたら、GitHubのスターを押していただけると、今後の機能追加や改善に向けた大きな開発のモチベーションになります。皆様からのフィードバックをお待ちしております。

https://github.com/forestnote/IsoKast

 
Featured

MMUを捨てよ、コンパイラを信じよ:Rustが切り拓く次世代SASOS『PangeaOS』の全貌

kayo PangeaOS 2026年06月20日 参照数: 5

私はこれまで、Python、C、C++と様々な言語の深淵を覗き、世界規模のプロジェクトでコードを書き続けてきました。そして現在、私がエンジニアとしての全精力を注ぎ込んでいるライフワークとも呼べるビッグプロジェクトがあります。それが、RustプログラミングによるOSのフルスクラッチ開発です。

本日、その集大成であり、既存のOSアーキテクチャの常識に対する挑戦状でもある「PangeaOS」の全貌を皆さんに公開します。PangeaOSは、Rustの言語仕様を極限まで活用し、完全にゼロから構築された極めて実験的なベアメタルオペレーティングシステムです。

レガシーなハードウェア抽象化を排除し、Rustのゼロコスト抽象化、厳格な所有権ルール、そしてコンパイル時のメモリ安全性を武器に、桁違いの速度と数学的なセキュリティを両立する新世界へご案内しましょう。

既存アーキテクチャへのアンチテーゼ:なぜ我々は遅く、脆いOSを使い続けるのか?

Linux、Windows、BSDといった現在主流のオペレーティングシステムは、その基盤を「ハードウェアレベルのアイソレーション(分離)」に依存しています。具体的には、MMU(メモリ管理ユニット)を駆使してプロセスごとに独立した仮想アドレス空間を割り当てています。

確かにこの手法はプロセス間のメモリ干渉を防ぎます。しかし、その代償として深刻なパフォーマンスのボトルネックを抱え込んでいるのです。

プロセス間でコンテキストスイッチが発生するたび、CPUはTLB(Translation Lookaside Buffer)をフラッシュし、ページテーブルを書き換えなければなりません。これは現代のプロセッサにとって、目を覆いたくなるほどの膨大な計算オーバーヘッドです。さらに、これらのカーネルの大部分はCやC++で記述されており、バッファオーバーフロー、Use-After-Free、ヌルポインタデリファレンスといったメモリ安全性の脆弱性を構造的に抱え続けています。

私はこの現状に満足できませんでした。ハードウェアの進化にソフトウェアのアーキテクチャが追いついていないのです。

PangeaOSを支える4つのパラダイムシフト

この旧態依然としたモデルを根本から破壊し、再構築するために、PangeaOSは以下の4つの強固な柱(パラダイム)を採用しています。

1. SASOS (Single Address Space OS):プロセス空間という幻想の廃止
PangeaOSにおいて、従来の「隔離されたプロセス空間」という概念は完全に撤廃されています。カーネル、デバイスドライバ、そしてすべてのユーザーアプリケーションは、最高特権レベルである「Ring 0」で動作し、単一の巨大な統合仮想アドレス空間を共有します。

すべてのタスクが同じメモリ空間に存在するため、複雑で遅いハードウェアのコンテキストスイッチは不要になります。もはやプロセス間通信(IPC)のためにカーネルへトラップ(割り込み)する必要はありません。PangeaOSのIPCは、単なる標準的な関数呼び出しと同じ速度で実行されます。TLBフラッシュの呪縛から解放され、CPUキャッシュの利用効率が最大化されることで、かつてないパフォーマンスを発揮します。

2. 言語ベースのアイソレーション:コンパイラによる数学的証明
「すべてがRing 0の同一アドレス空間で動くなら、悪意のあるアプリがカーネルを破壊するのではないか?」

鋭いエンジニアなら誰もが抱くこのセキュリティ上の懸念に対するPangeaOSの回答が、「言語ベースのアイソレーション」です。我々はハードウェア(MMU)による強制的な分離を捨て、Rustコンパイラによるソフトウェア的な分離を採用しました。

Rustの所有権モデル、借用チェッカー、そして強力な型システムは、コンパイルの時点でメモリ安全性とスレッド安全性を完璧に保証します。PangeaOSでは、自身が所有していないメモリにアクセスしようとするアプリケーションは、そもそもコンパイルを通ることすらできません。コードが実行される前に、コンパイラがシステムの安全性を「数学的に証明」するのです。これにより、ハードウェア分離のランタイムコストをゼロに抑えつつ、絶対的なセキュリティを実現しています。

3. UEFI セキュアブート境界:絶対的な信頼の起点
言語ベースのアイソレーションは、「実行されるバイナリが、Rustコンパイラが出力したそのままのものである」という前提に立っています。ディスク上でバイナリが改ざんされれば、コンパイラの保証は崩壊し、SASOSモデルは致命傷を負います。

絶対的な「Root of Trust(信頼の起点)」を確立するため、PangeaOSはレガシーBIOSのサポートを完全に切り捨て、純粋なUEFIブートプロセスのみを採用しました。UEFIファームウェアを活用し、セキュアブートとメジャードブートアーキテクチャの基盤を構築しています。実行前にハードウェアファームウェアによってブートローダとカーネルバイナリが暗号学的に検証されることで、オフラインでの改ざんやルートキットからSASOS環境の完全性を守る強固な境界を作り出しています。

4. Ring 0での動的メモリ管理:ベアメタルに命を吹き込む
標準ライブラリを持たないno_stdのベアメタル環境であっても、高度なシステムには複雑な動的データ構造が不可欠です。

PangeaOSのカーネルには、UEFIメモリマップを安全に解析し、ハードウェア予約領域を完全に回避する独自の物理フレームアロケータが実装されています。アドレス 0x444444440000 から始まる専用の仮想ヒープ領域をマッピングし、スレッドセーフな連結リストアロケータ(Linked List Allocator)を初期化します。この洗練されたメカニズムにより、カーネルはRustの組み込み alloc クレートを安全に利用でき、統合アドレス空間全体で Box、Vec、String といった動的コレクションを完全な所有権セマンティクスとともに活用できるのです。

妥協なき開発環境:NixOSとデュアルエンジンアーキテクチャ

世界最高峰のソフトウェアを作るためには、世界最高峰の環境が必要です。私は日頃からKDE環境のNixOSを愛用していますが、このプロジェクトにおいても環境の再現性には一切の妥協を許していません。

ベアメタルOSの開発には複雑なビルドパイプラインが要求されます。PangeaOSでは、「デュアルエンジン・ワークスペースアーキテクチャ」を採用し、ホストのビルド環境とターゲットのカーネル環境を美しく分離しています。

ルートディレクトリ(The Runner): NixOS(Linux)上で動くホスト側のランナーアプリケーションです。QEMUエミュレータを起動し、OVMF(UEFI)ファームウェアをロードしてカーネルのディスクイメージをマウントします。さらに、仮想マシンからのCOM1シリアル出力をローカルの serial.log にリダイレクトし、極めて信頼性の高いデバッグを実現しています。
kernel/ ディレクトリ(The OS Core): ここがPangeaOSの心臓部です。x86_64-unknown-none ターゲットに向けてクロスコンパイルされます。bootloader_api に依存してC互換のエントリポイントを定義し、UEFIブートローダからシステム状態とメモリマップを安全に受け取ります。
そして何より重要なのは、ツールチェーンのバージョン衝突を避け、絶対的な再現性を保証するために、開発環境の構築にNixパッケージマネージャを全面的に採用している点です。

プロジェクトのルートで以下のコマンドを叩くだけで、分離された正確なバージョンのRust Nightly、QEMU、OVMFが自動的に降臨します。

nix-shell

これこそが、私がNixOSを愛する理由であり、モダンなシステム開発におけるあるべき姿です。

結びと今後の展望

PangeaOSは単なる学習用OSではありません。既存の「常識」という名のボトルネックを打ち破り、ハードウェアの限界性能をソフトウェアの力(コンパイラの証明能力)で引き出すための壮大な実験場です。

MMUのオーバーヘッドに縛られ、C/C++のメモリバグに怯える時代は終わらせなければなりません。Rustという言語が持つポテンシャルは、我々が想像している以上に深く、そして強力です。

このプロジェクトは現在も猛烈なスピードで進行中です。低レイヤーの探求に飢えているエンジニア、コンパイラを信奉するハッカー、そして次世代のアーキテクチャに心躍るすべての人たちに、PangeaOSのコードを実際にクローンし、nix-shell から未知のRing 0へダイブしていただきたいと願っています。

我々と共に、OSの歴史の新しい1ページを開きましょう。

https://github.com/forestnote/pangeaos

© 2026 NixOctet
  • Home