NixOctet
  • Home
  • SASOSについて

NixOctet Blog

Featured

ソフトウェア隔離からJITコンパイルへ。PangeaOSが実現した「ゼロコストの絶対防壁」とは

kayo PangeaOS 2026年06月28日 参照数: 2

先日、このPangeaOSがバージョン「v0.0.1-5」から「v0.0.1-6」へと進化を遂げました。専門用語が飛び交う世界ですが、このアップデートがどれほどワクワクする革新的なものなのか、文系の方やプログラミング初心者の方にも伝わるように、やさしく紐解いていきますね!

そもそも PangeaOS ってどんなOS?

私たちが普段使っているWindowsやmacOSなどは、とても便利ですが、実は長年の歴史の中で「継ぎ足し」で作られてきた部分も多く、セキュリティの弱点(脆弱性)が生まれやすい構造を持っています。

PangeaOSは、「最初からハッカーの攻撃を無効化するような、絶対に壊れないOSを作ろう!」というコンセプトで、Rust(ラスト)という最新のプログラミング言語を使ってゼロから開発されているOSです。OSの心臓部(Ring 0と呼ばれる、コンピューターの全権限を持つ神聖な場所)で、究極のスピードと安全性を両立させることを目指しています。

それでは、今回の目玉であるアップデートの内容を見ていきましょう!

振り返り:v0.0.1-5 の革新「ゼロコピーと魔法の壁」

v0.0.1-6のお話をする前に、その土台となった v0.0.1-5 の素晴らしい達成を2つだけ、簡単におさらいします。

1. ソフトウェアの力だけで仕切る「SIPs」
これまでのOSは、アプリ同士が勝手に他人のメモリを覗き見ないように、ハードウェア(CPU)の機能を使って「見えない壁」を作っていました。でも、これって切り替えに結構な時間がかかるんです。 PangeaOSは、Rust言語が持つ「ルール違反のコードは絶対にコンパイルさせない」という超厳格なシステムを利用して、ハードウェアの壁に頼らず、ソフトウェアの証明だけで安全な独立空間(SIPs)を作り出しました。 壁がないから、ものすごく速いんです!

2. 光の速さのバケツリレー「ゼロコピーIPC」
アプリ同士でデータをやり取りするとき、今までは「データをコピーして相手に渡す」のが普通でした。でも、大きなデータだとコピーに時間がかかりますよね。 PangeaOSでは、データのコピーを一切しません。「はい、このデータの所有権は今から君のものね!」と、データそのものの「権利」だけをポンッと相手に移動(Move)させるのです。コピー作業(memcpy)がゼロになったので、通信速度が劇的に向上しました。

最新版 v0.0.1-6 がもたらした「2つの究極防壁」

さて、いよいよ本題の v0.0.1-6 です! v0.0.1-5で超高速な環境はできましたが、「もし外部から変なプログラム(悪意のあるコード)がOSの心臓部に入り込んできたらどうするの?」という課題がありました。これを解決したのが今回のアップデートです。

① 実行しながら安全に翻訳する「ASH JIT コンパイラ」
外部から来たプログラムをそのまま実行するのは危険すぎます。そこでPangeaOSは、「ASH(アッシュ)」という安全な小さな箱(サンドボックス)を用意しました。

すごいのはここからです。安全にチェックしながらプログラムを動かすと普通は動作が遅くなるのですが、今回のアップデートで「実行する瞬間に、コンピューターが直接理解できる言葉(マシン語)に光の速さで翻訳(JITコンパイル)する」機能が搭載されました。

さらに魔法のような仕組みがあります。もし悪意のあるプログラムが「立ち入り禁止のメモリ領域」を覗こうとしたら、翻訳の段階でその命令をサッと「安全なゼロ(何もしない無害な命令)」にすり替えてしまうのです! 「もし〜なら」という確認作業すら省いているため、スピードを全く落とさずに脅威を無力化できます。

② 究極の盾「W^X (Write XOR Execute) メモリ防壁」
もう一つの目玉が、このカッコいい名前の機能です。 ハッカーがよく使う手口に「データとして悪いプログラムを送り込み、それを無理やり実行させる」というものがあります。

これを防ぐための絶対ルールが「書けるなら、実行できない(Write)」「実行できるなら、書けない(Execute)」です(これを W^X と呼びます)。

PangeaOSの心臓部では、プログラムをメモリに書き込んでいる最中は「絶対に実行できない」ようにロックをかけます。そして、書き込みが終わって実行する瞬間には「もう誰にも書き換えられない」ようにロックを切り替えます。 用が終わってメモリを捨てる時も、元の安全な状態にしっかり戻してからお片付けをする徹底ぶり。これにより、ハッカーの付け入る隙を物理的に(アーキテクチャのレベルで)完全に塞いでしまったのです!

おわりに

いかがだったでしょうか? 「v0.0.1-6」と聞くとまだ初期のバージョンのように思えるかもしれませんが、OSの心臓部(Ring 0)において、「ハードウェアに頼らず、ソフトウェアの賢さだけで、圧倒的なスピードとセキュリティを実現する」というPangeaOSのコンセプトが、ついに実証された歴史的なマイルストーンなんです。

今後は、さらにレガシーなシステムとの互換性を持たせたり、ファイルシステムの常識を覆すようなフェーズ(Phase 5, 6)へと進んでいくそうです。 次世代のOSがどのように進化していくのか、これからも本当に目が離せませんね!

それでは、また次回のテックブログでお会いしましょう💻✨

https://github.com/forestnote/pangea-ring0-os

Featured

【RustでOS開発】PangeaOS v0.0.1-3 リリース!〜非同期(Async)とモダン割り込みがもたらす「特異点」の目覚め〜 

kayo PangeaOS 2026年06月28日 参照数: 3

今日は、Rust言語の限界を押し広げ、ハードウェアの最も深い部分(Ring 0)で動作する次世代OSプロジェクト「PangeaOS」の最新アップデート、v0.0.1-3 (Async Singularity Awakened) について解説したいと思います。 

OS開発というと「C言語で書かれた難解なポインタの海」を想像するかもしれません。 しかし、PangeaOSはRustの「所有権」や「ゼロコスト抽象化」といったモダンな言語機能をフル活用し、信じられないほど安全で、かつアグレッシブなアーキテクチャを採用しています。 

今回の v0.0.1-3 は、まさにOSとしての「心臓」と「脳」が完成した、非常にエキサイティングなマイルストーンです。 チュートリアルや作り方の話は置いておいて、今回は「PangeaOSが一体どんな魔法を使ったのか」というアーキテクチャの面白さを、わかりやすく紐解いていきましょう! 

🚀 1. レガシーとの決別:Local APICへの進化 

PCの歴史は古く、現代の最新鋭のパソコンの中にも「1980年代に設計された古いチップの互換機能」がこっそり生き残っています。 その代表格が 8259 PIC(プログラマブル割り込みコントローラ) です。 

これまで多くの自作OSは、キーボード入力やタイマーを処理するために、この古い PIC に頼ってきました。 しかし、現代のハードウェア(特にUEFI環境)では、この古いシステムは非常に不安定で、割り込みが途切れたり、そもそも動かなかったりする「厄介者」になりつつあります。 

そこでPangeaOSは、この古いPICを物理的に「完全シャットアウト(無効化)」するという大胆な決断を下しました。 

代わりに呼び覚ましたのが、「Local APIC」 です。 これは現代のマルチコアCPUに標準搭載されている、非常に強力で洗練された割り込みコントローラです。 

外部のライブラリに一切頼らず、CPUの特殊なレジスタ(MSR)を直接読み書きし、物理メモリを直接マッピングして Local APIC を手なずけることに成功しました。 これにより、1ミリ秒の狂いもない正確なハードウェアタイマーが、PangeaOSの心臓として力強く鼓動し始めたのです。 

⚡ 2. カーネル空間に降り立った「Async-Await」 

皆さんはRustでWebアプリを作るとき、async fn や await を使って、ネットワークの待ち時間を効率よく処理した経験があるかもしれません。 

PangeaOS v0.0.1-3 の最もクレイジーで美しい点は、この「Webサーバーのための非同期処理(Async-Await)」を、OSの一番下っ端である Ring 0(カーネル空間)に持ち込んだことです。 

普通のOSは、キーボードの入力を待つときや、タイマーを待つとき、処理をブロック(停止)したり、複雑なスレッド管理を行ったりします。 

しかしPangeaOSでは、ハードウェアからの割り込み(キー入力やAPICタイマー)を、まるで「Web APIからの非同期レスポンス」のように扱います。 

「タイマー割り込みが来るまで await して、その間は空いたCPUパワーをキーボードのポーリングタスクに回す」 

このような協調的なマルチタスクが、単一のCPUコア上で、ロックやコンテキストスイッチのオーバーヘッドを極限まで減らした状態で美しく動作しています。 まさに「非同期の特異点(Async Singularity)」が目覚めた瞬間です。 

🧩 3. 永遠に枯渇しないメモリ:True Mesh Allocator 

最後に紹介するのはメモリ管理です。 

これまでのPangeaOSは「Bump Allocator」という仕組みを使っていました。 これは例えるなら「トイレットペーパー」です。 一度引き出したメモリ(紙)は、使い終わっても元に戻せず、ただひたすら前に進むだけでした。 これでは、OSを長時間起動しているといつかメモリが尽きて(紙が切れて)しまいます。 

今回のアップデートで搭載された 「True Mesh Allocator」 は、この問題をエレガントに解決しました。 

このアロケータは、メモリを「8バイト」「16バイト」「32バイト」…といった具合に、決まったサイズ(Size-Class)の小さな箱に細かく分類して管理します。 

そして、アプリケーションが Box や String, Vec などの可変長データを使い終わって「ポイっ」と捨てた瞬間、そのメモリの箱を即座に「フリーリスト(空き箱置き場)」の先頭に繋ぎ直します。 

次に同じサイズのデータが必要になったら、新品のトイレットペーパーを引き出すのではなく、先ほど返却された「空き箱」を再利用するのです。 

このアルゴリズムを一切の外部ライブラリを使わず、ゼロから実装しました。 実際にOS内で「メモリを確保 → 捨てる → もう一度確保」というストレステストを行ったところ、寸分違わず同じメモリアドレスが再利用されることが証明されました。 これにより、PangeaOSは理論上、永遠に動き続けることができる不老不死の体を手に入れたことになります。 

🌟 まとめ:ソフトウェアがハードウェアを支配する快感 

PangeaOS v0.0.1-3 では、以下の3つのピースが完璧に噛み合いました。 

Local APIC が正確なリズムを刻み、 
Async-Await 実行エンジン がそのリズムに合わせてタスクを華麗に切り替え、 
True Mesh Allocator が、それらのタスクに必要なメモリを無限に供給・再利用し続ける。 
これまで「ただ画面に文字を出すだけ」だったOSが、現代的なソフトウェア工学の粋を集めた「自律するシステム」へと劇的な進化を遂げたのです。 

次なる「Phase 4」では、ついに眠れる他のCPUコアを叩き起こす「マルチコア対応(SMP)」や、安全なアプリケーション実行空間(Ring 3)への分離が計画されています。 

純粋なソフトウェアの力で、冷たいシリコンの塊であるハードウェアを完全に支配していく――。 このゾクゾクするようなOS開発の旅を、これからも一緒に見守っていただければ嬉しいです。 

それでは、次回のアップデートでお会いしましょう! Happy Hacking! 💻✨

https://github.com/forestnote/pangea-ring0-os

Featured

🚀 これまでの軌跡:v0.0.1 から v0.0.1-2-1 への進化

kayo PangeaOS 2026年06月27日 参照数: 10

プロジェクトの初期段階である v0.0.1 から、先日到達した特異点とも言えるアップデート v0.0.1-2-1 まで、このOSがどのような進化を遂げてきたのか。そして、これからどのような未来を描こうとしているのか。

コードの書き方や難しい構築手順は一旦脇に置いて、技術の「面白さ」と「凄さ」にフォーカスして、やさしく丁寧に解説していきます!

🚀 これまでの軌跡:v0.0.1 から v0.0.1-2-1 への進化

PangeaOSは、単に古いOSを作り直すプロジェクトではありません。「現代のハードウェアとセキュリティの視点から、OSの根幹をどう再定義するか」という壮大なテーマに挑んでいます。これまでの歩みを2つの大きなマイルストーンに分けて振り返りましょう。 

1. ハードウェアへの依存を断ち切る(v0.0.1-2 の世界)

OS開発の初期段階では、キーボードの入力を受け取ったり、画面に文字を出したりする「基礎工事」が行われます。通常のOSはここで、マザーボード(ファームウェア)が提供する「割り込み(Interrupt)」という仕組みに頼ります。

しかし、PangeaOS(v0.0.1-2 "Zero-Interrupt Polling Engine")は、あえてこのセオリーを完全に破壊しました。 

割り込みの完全破棄(Zero-Interrupt Polling): ファームウェアの挙動を「信用できないもの」と見なし、OS側から超高速でハードウェアに「入力はないか?」と直接監視(ポーリング)し続ける強硬手段を採用しました。これにより、環境に依存しないレイテンシ・ゼロの確実な入力網を確立したのです。 
チラつきのない描画エンジン(O(1) Batch Rendering): 画面描画においても、OSのスタックメモリを消費しない安全な設計(裏画面へのバッファリング)を行い、物理的な画面のチラつきを完全に消滅させました。 
この時点で、PangeaOSは「ハードウェアの理不尽に振り回されない、堅牢な独立国家」としての基盤を築き上げました。

2. メモリの完全掌握と覚醒(v0.0.1-2-1 の世界)

そして直近のアップデートである v0.0.1-2-1 では、OSの最も重要な資源である「メモリ」に関する歴史的ブレイクスルーが起きました。 

絶対防壁の構築(GDT & True IDT): 万が一OSの中枢で致命的なエラーが起きても、システム全体が道連れになってクラッシュしないよう、安全な「避難所(専用スタック)」を備えた例外処理の防壁を完成させました。 
物理メモリの制圧(Physical Memory Mastery): UEFI(ブートローダ)から数GBに及ぶ全RAMの管理権限を奪い取り、OS自身で一元管理するシステム(PMM)を構築しました。 
Rustエコシステムの解禁(Global Allocator): これまで制限されていた、Rust言語の強力な動的メモリ機能(Box や Vec など)が、OSの最深部(Ring 0)でついに使えるようになりました。 
魔法の「Meshプリミティブ」: 最新の学術研究に基づく、仮想メモリ空間の「折り畳み」機能の基礎が実装されました。これは、バラバラになったメモリの空き地を、物理的に1つにガッチャンコして再利用するための超高度な技術です。 
これにより、PangeaOSは「計算と描画ができるだけのシステム」から、「自在にメモリを操り、複雑なデータ構造をノーコストで扱える近代的なOS」へと劇的な進化を遂げたのです。

https://github.com/forestnote/pangea-ring0-os

Featured

仮想メモリを「折り畳む」次世代技術。PangeaOSに実装された『Meshプリミティブ』の仕組みを徹底解説!

kayo PangeaOS 2026年06月27日 参照数: 9

「PangeaOS」が、待望のアップデート v0.0.1-2-1 "Memory Defense & Allocator Awakened" をリリースしました! 

今回のアップデートでは、OSがコンピュータの「物理メモリ(RAM)」を完全に掌握し、さらにRust言語の強力な動的メモリ機能(Box や Vec など)が解放されました。しかし、今回最も注目すべき技術的ブレイクスルーは、「Meshアロケータ」を見据えた「仮想空間の折り畳み(Mesh Primitive)」の実装です。 

今日は、作り方やコードの羅列は少しお休みして、この「Meshアロケータ」という現代コンピュータサイエンスの魔法が、PangeaOSの心臓部でどのように実装されたのか、その仕組みを超詳細に、そして世界一わかりやすく解説していきたいと思います!

そもそも「メモリの断片化(フラグメンテーション)」ってなに?

Meshアロケータの凄さを知るためには、まずOSが長年抱えてきた「不治の病」について知る必要があります。それがフラグメンテーション(断片化)です。

OSは、アプリケーションから「メモリを貸して!」と言われると、大きなメモリの塊から必要な分だけ切り取って貸し出します。そして使い終わったら返してもらいます。

これを繰り返していると、どうなるでしょうか?

貸したり返したりをバラバラなタイミングで行うため、メモリ空間が「虫食い状態」になってしまうのです。全体の空き容量としては十分にあるのに、「連続した大きな空きスペース」が存在しないため、新しいデータが配置できなくなってしまう……。これがメモリの断片化です。

昔から、この虫食いを防ぐために様々なアルゴリズム(BuddyシステムやSlabアロケータなど)が考案されてきましたが、数学的に「どうしても防ぎきれない限界」があることがわかっていました。

マサチューセッツ大学が生んだ魔法「Mesh」

そこで登場したのが、2019年頃にマサチューセッツ大学アマースト校の研究チームが発表した「Mesh」という全く新しいアロケータ(メモリ管理システム)の概念です。

彼らはこう考えました。

「虫食いになったページ(メモリの区画)同士を見比べて、お互いの空きスペースがピッタリ噛み合うなら、2つのページを1つにガッチャンコしてしまえばいいじゃないか!」

パズルピースのように、穴と出っ張りが補完しあう2つのページを「圧縮」してしまうのです。しかし、普通にデータを移動させると、アプリケーションが覚えている「メモリアドレス(ポインタ)」が変わってしまい、プログラムがクラッシュしてしまいます。

そこでMeshが使った魔法が、「仮想メモリ(ページテーブル)のハッキング」です。

PangeaOSに実装された「Meshプリミティブ」の超詳細解説

今回、PangeaOS v0.0.1-2-1では、このMeshの魔法を実現するための土台である「Meshプリミティブ(仮想空間の折り畳み基盤)」が特権レベル(Ring 0)に実装されました。 

これがOSの内部でどのように動いているのか、CPUの仕組みと合わせて詳しく見ていきましょう。

1. 物理メモリと仮想メモリの「分離」
私たちが普段プログラムを書くときに見ている「メモリアドレス」は、実は本物の物理的なRAMのアドレスではありません。OSが見せている「仮想アドレス」という幻です。

CPUの中には「MMU(メモリ管理ユニット)」という翻訳機があり、OSが管理する「ページテーブル」という辞書を使って、仮想アドレスを物理アドレスに瞬時に変換しています。

2. PMMによる「本物の物理メモリ」の確保
PangeaOSはまず、「PMM(Physical Memory Manager)」というシステムを使って、まっさらな本物の物理メモリ(物理フレーム)を1枚(4KB分)確保します。これは、ハードウェア上に実在する「ただ1つの箱」です。 

3. CR3レジスタとページテーブルの掌握
ここからがOSカーネルの真骨頂です。PangeaOSは、CPUの「CR3」という特別なレジスタから、現在使われているページテーブル(翻訳辞書)を直接奪い取り、OSの完全な支配下に置きます。 

4. 禁忌の「折り畳み」マッピング(Mesh Mapping)
そして、PangeaOSはページテーブルを直接書き換えて、次のような設定を行います。

仮想アドレス A(例: 0xdeadbeef000)の翻訳先を、先ほど確保した物理フレームに設定する。 
全く無関係な仮想アドレス B(例: 0xcafebabe000)の翻訳先も、同じ物理フレームに設定する。 
おわかりでしょうか? プログラムからは「アドレスA」と「アドレスB」という、遠く離れた全く別のメモリ領域に見えています。しかし、OSがページテーブルをハッキングしているため、どちらにアクセスしても、最終的にはハードウェア上の「同じ1つの箱(物理フレーム)」にたどり着くのです。 

5. 実証された「重なり合い」
今回のv0.0.1-2-1のテストコードでは、仮想アドレスAに対してデータを書き込み、それを仮想アドレスBから読み取れるか、という実証実験が行われました。結果は見事成功。異なる2つの仮想ページが、物理的な1点に折り畳まれた瞬間です。 

これが意味する未来:究極のメモリ圧縮

今回PangeaOSに実装されたこの「Meshプリミティブ」は、単なる面白い実験ではありません。 

今後、システムが長時間稼働し、メモリが虫食い状態になってきたとします。

その時PangeaOSは、裏側でこっそりと「噛み合う虫食いページ(仮想ページAと仮想ページB)」を探し出します。そして、データをうまくマージした後、このMeshプリミティブを使ってページテーブルを書き換えます。

すると、プログラム側は「今まで通り仮想アドレスAとBを使っている」つもりなのに、物理的なRAMの消費量は半分に減っていることになります。ポインタを一切壊すことなく、OSの最も深い特権レベル(Ring 0)で、ノーコストで物理メモリが回収されるのです。 

これこそが、次世代のベアメタルOSが目指す「特異点アーキテクチャ」の一端です。 

おわりに

いかがでしたでしょうか? PangeaOS v0.0.1-2-1が成し遂げたのは、単にメモリが使えるようになったということではありません。ハードウェアの翻訳機能(MMU)をソフトウェアから完全にねじ伏せ、メモリの断片化という永遠の課題を「空間の折り畳み」によって解決するための、とてつもなく強力な基盤を手に入れたということなのです。 

OS開発の歴史と、最新の学術研究が見事に融合していくこのプロジェクト。今後の進化(次はいよいよタイマー割り込みと非同期タスクの実装でしょうか?)からも、絶対に目が離せませんね!

それでは、また次回の記事でお会いしましょう!

https://github.com/forestnote/pangea-ring0-os

 
  • 1
  • 2
1 / 2
© 2026 NixOctet
  • Home
  • SASOSについて