- Published on
インディー & 趣味OS 2026 完全ガイド - SerenityOS · Ladybird · Haiku · ReactOS · RedoxOS · Theseus · Plan 9 · 9front · ArcaOS · MenuetOS 徹底解剖
- Authors

- Name
- Youngju Kim
- @fjvbn20031
プロローグ - なぜ2026年にも誰かが新しいOSを作り続けるのか
Linuxがデータセンターを、Windowsがデスクトップを、macOSとiOS・Androidがポケットを取った。OS市場は閉じたように見える。それでも毎週GitHubには新しいOSプロジェクトが登場する。
理由はシンプルだ。
- 理解したい - Linuxカーネルは大きすぎる。25万行の小さなOSは一人の頭に収まる。
- 別のパラダイムを見たい - マイクロカーネル、ユニカーネル、ケイパビリティベースのセキュリティ、形式検証、単一アドレス空間 - Linuxが採用しなかった道。
- 楽しい - TempleOSのTerry Davisがそうだったように、OS自作はそれ自体が芸術だ。
- 就職と学習 - 組込み、システム、セキュリティ、OS講義 - ほぼすべてのシステムエンジニア・トラックが「小さなOSを作ったことがある」を加点要素にする。
この記事はその風景全体を整理する。誰がどんなOSを、どんな哲学で、どんなライセンスで生かしているのかを一度に見る。
一行要約: 「インディーOSは、同時代の主流OSが捨てた道をわざと歩む実験室だ。」
第1章 · なぜ趣味OSが重要なのか - 学習・代替パラダイム・楽しさ
巨大なOSの一行を直す仕事と、小さなOSを一人で端から端まで作る経験はまったく違う学習体験だ。
- ブートローダからシェルまで端から端まで見える - メモリ初期化、ページテーブル、割り込みディスパッチ、システムコール、スケジューラ、ファイルシステム、ユーザ空間、シェル - すべてを一人が書く。
- 抽象化のコストを体感する -
mallocの中で何が起きているのか、コンテキストスイッチがなぜ高価なのかを手で見る。 - 主流が捨てた道 - マイクロカーネル、ケイパビリティ、単一アドレス空間、永続メモリ、分散シングルシステムイメージ - がまだ生きているかを見る。
- システムエンジニア就職の強力なポートフォリオ - 小さなOSを書いた応募者は、書いていない100人の中で即座に識別される。
最近は「楽しさ」という動機もぐっと強くなっている。SerenityOSはTwitchのライブコーディングから始まり、TempleOSは一人の信仰告白だった。9frontのマニュアルはジョークで溢れている。OS自作はもはやグレーな学術領域ではない。
第2章 · SerenityOS - Andreas Klingが始めた90年代UNIXグラフィカルOS
SerenityOS は、元Apple WebKit・NokiaエンジニアのAndreas Klingが2018年、リハビリ中に始めたプロジェクトだ。最初は自分のPCのための小さなグラフィカルシェルだったが、GitHub公開後、数百人の貢献者が加わった。
特徴:
- 90年代UNIXの美学 - Motif・CDE・BeOS・NeXTSTEP風のグラフィック
- C++23 - 標準ライブラリを自前で書き直した。AKライブラリ、JS・DOM実装、自前コンパイラまである。
- BSD 2-Clauseライセンス
- 垂直統合 - ブートローダ・カーネル・libc・ドライバ・シェル・ターミナル・テキストエディタ・画像ビューア・Webブラウザ・メールクライアント・メッセンジャー・カラオケアプリまでが一つのリポジトリにある。
- 自前ブラウザLadybird が2024-2025年に別プロジェクトとしてスピンアウト。
Klingのお気に入りの表現は「コードは楽しくあるべき(code should be fun)」だ。SerenityOSのほぼすべての決定は、外部依存をわざと避けて「自分で作ってみる楽しさ」を優先する。
参考: https://serenityos.org, https://github.com/SerenityOS/serenity.
第3章 · Ladybird - SerenityOSから独立したブラウザ
Ladybird は元々SerenityOSの内部ブラウザだったが、2024年にAndreas KlingがSerenityOS運営をコミュニティに任せ、本人はLadybirdだけにフルタイムで取り組む決断をしたことで独立プロジェクトとなった。
特徴:
- 第4のブラウザエンジンへの挑戦 - Chromium(Blink)、WebKit、Geckoの3家系に並ぶ第4家系を目指す。
- 自前のLibWeb・LibJS - DOM、CSS、JavaScript、WebAssemblyをすべて一から再実装。
- 2026年アルファ公開 - 2026年夏にアルファビルドが公開、2027年ベータが目標。
- 非営利Ladybird Browser Initiative - Shopify、Chris Wanstrath(GitHub共同創業者)、Andreas Kling本人の資金が入っている。
- Linux・macOS・Windows・SerenityOSのマルチプラットフォーム
Ladybirdはもはや「趣味OSのブラウザ」ではない。「趣味OSから出発したブラウザ産業の新しい挑戦」だ。同じ人が作ったOSが本当に産業的価値のあるブラウザに分岐していった非常に稀な事例だ。
参考: https://ladybird.org, https://github.com/LadybirdBrowser/ladybird.
第4章 · Haiku - BeOSの後継、マルチメディア重視OS
Haiku は2001年、Be Inc.の倒産後にBeOS R5を再現するために始まったプロジェクトだ。25年が経過した2024年9月に R1/beta5 が公開され、2026年もベータ段階だが非常に安定している。
特徴:
- BeAPI互換 - BeOS R5バイナリをそのまま実行できる。
- MITライセンス
- マルチメディア優先 - パルス符号オーディオ、MIDI、ビデオデコードにOSレベルで一等市民の地位を与えている。
- Pervasively multithreaded - すべてのGUIウィンドウが別スレッド、すべてのアプリケーションが本物のマルチスレッディング。
- BFSファイルシステム - 64ビットジャーナリングファイルシステム。拡張属性・ライブクエリ(Spotlight以前のSpotlight)対応。
- POSIX・gcc・LLVMすべて対応 - Mesa3D、Qt、GTKの移植もある。
HaikuはBeOSがそうだったように「他のデスクトップが追いつけなかった綺麗な応答性」を見せる。ライブクエリ、属性ベースのファイルシステム - 検索がOSの一級市民だ。
参考: https://www.haiku-os.org, https://www.haiku-os.org/docs/welcome/welcome_en.html.
第5章 · ReactOS 0.4.15 - Windows NT互換のオープンソースOS
ReactOS はWindows NT 5.x(Windows 2000/XP/Server 2003)のバイナリをそのまま実行することを目標に、1998年に始まったプロジェクトだ。2024年に 0.4.15 が安定版として公開され、2026年も同じシリーズが維持されている。
特徴:
- Wineとは違う - WineはLinux上でWindows APIを真似するライブラリだが、ReactOSはNT 5.xカーネル・HAL・ドライバ自体を再実装した。
- GPLv2 + LGPLユーザ空間
- NTFS・FAT32・ext の一部対応
- Win32k・USER32・GDI32 を自前実装
- Office 2007、Photoshop CS6、AutoCADなど旧Windowsアプリ の一部が実行可能
ReactOSは「終わらないマラソン」だ。Windows APIの広大な表面積と、NTカーネルの私的資料の不在のため、0.5.0は毎年「来年には出ます」状態。それでも0.4.xシリーズだけで「古いWindowsソフトウェア保存」の価値は十分だ。
参考: https://reactos.org, https://github.com/reactos/reactos.
第6章 · Redox OS - Rustで書き直したマイクロカーネルUNIX
Redox OS はJeremy Sollerが2015年に始めた Rustマイクロカーネル OS だ。2026年は0.10.xシリーズが活発で、自前ブート・自前コンパイル・自前GUI(Orbital)を備える。
特徴:
- マイクロカーネル - ドライバ・ファイルシステム・ネットワークスタックがユーザ空間で動く。
- 純粋Rust -
unsafeを最小化したメモリ安全システム。 - MITライセンス
- POSIXフレンドリーなシェル ion、自前パッケージマネージャ pkgar
- RedoxFS - トランザクション型ファイルシステム
- Cookbookビルドシステム - 一コマンドでライブUSBをビルド
Redoxは「RustでUNIXを書き直したらどんな姿になるか」を最も真剣に答える。マイクロカーネル + メモリ安全 + モダンなパッケージング - 三つが一つのOSの中にある。システムコールがLinux・POSIXと非常に似ており、移植負担が小さい。
参考: https://redox-os.org, https://gitlab.redox-os.org/redox-os/redox.
第7章 · Theseus OS - 単一アドレス空間のRust OS
Theseus はKevin Boosの博士論文から出発した研究OSだ。 状態分散(state spill)を減らし、単一アドレス空間(single-address-space)で言語ベースの安全性(language-based safety) を使って隔離を実装する。
特徴:
- 純粋Rust - カーネル・ドライバ・アプリケーションが同じアドレス空間にあるが、コンパイラレベルで隔離される。
- MMUなしでも隔離可能 - Rust型システムとモジュール境界が隔離単位。
- MIT/Apache 2.0
- ライブ進化(live evolution) - 実行中にカーネルモジュールを差し替えられる。
- 2026年も研究段階 - 産業用ではないが、OS研究者には非常に人気。
Theseusは「伝統的OSの隔離モデルは本当に必要か」を問う。Rustのような安全な言語があれば、高価なページテーブルとコンテキストスイッチなしでも十分安全なOSを書けるのではないか?その答えをコードで示している。
参考: https://www.theseus-os.com, https://github.com/theseus-os/Theseus.
第8章 · Plan 9 from Bell Labs - UNIXの後継を自称した分散OS
Plan 9 は1980年代後半、Bell LabsでUNIXを作った人たち自身が「UNIXの次に我々は何を作るか」と答えながら作ったOSだ。Rob Pike、Ken Thompson、Dennis Ritchie、Dave Presottoらが作った。
特徴:
- すべてはファイルだ - 本気で - UNIXが「ほぼすべてはファイル」なら、Plan 9は「本当にすべてがファイル」だ。ネットワーク接続、グラフィカルウィンドウ、プロセス、CPUまですべてファイル。
- 9Pプロトコル - ネットワーク越しのリソースも同じファイルシステムインターフェースでアクセス。
- 分散シングルシステムイメージ - 複数マシンを一つのマシンのように扱う。
- UTF-8 - Plan 9で初めて作られた。
- per-process名前空間 - 同じマシンの2つのプロセスが別のファイルツリーを見る。
- MITライセンス - 2014年にBell Labsがコード公開。
Plan 9は産業的には成功しなかったが、その影響力はどこにでもある。Go言語はPlan 9の精神的後継であり、コンテナの名前空間隔離はPlan 9のper-process namespaceから直接影響を受けている。
参考: https://plan9.io, https://9p.io.
第9章 · 9front - Plan 9の生きているコミュニティフォーク
9front はBell LabsのPlan 9 第4版が事実上凍結された後、活発に維持されているコミュニティフォークだ。9Pプロトコル、ACMEエディタ、rioウィンドウマネージャ、plumbメッセージシステム - すべて動作する。
特徴:
- 現代ハードウェア対応 - USB、Wi-Fi、NVMe、UEFI
- MITライセンス
- 漫画・ジョーク満載のマニュアル - 9frontのマニュアルページはジョークと実際の使い方が混じった独特のスタイル
- Drawterm - 他のOSから9frontに接続するターミナル
- 2026年も活発 - Bell Labs Plan 9よりも9frontを使うのが事実上の標準
Plan 9を初めて触りたいなら、Bell Labs第4版ではなく9frontを入れよう。インストーラがすっきりしていて、現代のノートPCで起動する。
参考: http://9front.org, http://fqa.9front.org.
第10章 · 9PプロトコルとInferno - Plan 9の子供たち
9P はPlan 9でファイル操作をネットワーク越しに公開するプロトコルだ。単純なメッセージセット(Tversion、Tattach、Twalk、Topen、Tread、Twrite、Tclunkなど)でファイルシステムインターフェースを表現する。
影響:
- Linux v9fs - Linuxカーネルに9Pクライアントが入っている。仮想化ゲストがホストディレクトリを9Pでマウントする。
- QEMU virtio-9p - QEMUのファイル共有バックエンド
- WSL2 - マイクロソフトがWindows・Linux間のファイルシステムブリッジに9Pを使う。
- diod - Lawrence Livermoreの分散9Pサーバ
Inferno OS はPlan 9の精神を組込み・携帯デバイスに持ち込んだ後継だ。 Limbo という自前言語と Dis VMの上で動くOSだ。携帯デバイスを狙ったが市場には定着しなかった。しかしLimboはGo言語の直接の祖先だ - チャネル、ゴルーチンのような並行性モデルがLimbo由来。
参考: https://en.wikipedia.org/wiki/9P_(protocol), https://www.vitanuova.com/inferno/.
第11章 · MenuetOS·KolibriOS - アセンブリで書かれたフロッピーOS
MenuetOS は最初に32ビット(M32)、次に64ビット(M64)に分かれたフィンランド産OSだ。 純粋なアセンブリ で書かれており、64ビット版すら1.4MBフロッピー一枚に収まる。
KolibriOS は2004年にMenuetOSの32ビット版からフォークされたロシア・東欧コミュニティのOSだ。同じくアセンブリで書かれており、軽量ながらグラフィカルシェル・テキストエディタ・Webブラウザ・ゲームがすべて入っている。
特徴整理:
| 項目 | MenuetOS | KolibriOS |
|---|---|---|
| 言語 | FASMアセンブリ | FASMアセンブリ |
| サイズ | 1.4MB(M64) | 1.44MB |
| 起動 | 約5秒 | 約3秒 |
| ライセンス | 非公開・一部GPL | GPLv2 |
| デスクトップ | 自前GUI | 自前GUI + ゲーム |
フロッピー一枚にOS全体が収まるという事実自体が「OSは巨大でなくてはならないのか」を問う生きた反証だ。
参考: https://www.menuetos.net, https://kolibrios.org.
第12章 · ArcaOS - OS/2の現代化後継
ArcaOS はIBM OS/2 Warpの後継だ。IBMがOS/2を維持しなくなった中、eComStationを経てArca NoaeがIBMとライセンス契約を結んで作った商用後継だ。
特徴:
- OS/2 4.xバイナリ互換 - 1990年代のOS/2ビジネスアプリがそのまま動く。
- 現代ハードウェア対応 - UEFI、ACPI、USB、SSD、NVMe
- 有料ライセンス - 個人用が約130ドル、商用はさらに高い
- 2024-2026 5.1.xリリース
- ATM、キオスク、産業用コントローラ などでまだOS/2を使っている場所にとって事実上唯一のアップグレード経路
ArcaOSは「古い産業インフラの生き残り方」を示す。市場は小さいが、ライセンス料を払うユーザがはっきり存在する。
参考: https://www.arcanoae.com/arcaos/.
第13章 · HelenOS·Genode - マイクロカーネル研究の最前線
HelenOS はチェコのカレル大学から出発した 多重マイクロカーネル互換 研究OSだ。Spartanマイクロカーネル上に自前のユーザ空間を持ち、約25年生きている。
Genode はドイツのGenode Labsが作った マイクロカーネル・ハイパーバイザ上のコンポーネントOSフレームワーク だ。seL4、NOVA、Fiasco.OC、Linuxなど多様なカーネル上で動作し、同じユーザ空間コンポーネントが別のカーネルでも互換になる。
| 項目 | HelenOS | Genode |
|---|---|---|
| ライセンス | BSD | AGPLv3 + 商用 |
| 目的 | OS研究・教育 | セキュアデスクトップ・組込み |
| カーネル | 自前Spartan | seL4・NOVA・Fiascoなど |
| 商用利用 | ほぼなし | Sculpt OSなど一部 |
Genodeベースの Sculpt OS は2026年もセキュアノートPCデスクトップとして一部研究者がデイリードライバとして使う。マイクロカーネルの約束を最も一貫して見せる生きた事例だ。
参考: https://www.helenos.org, https://genode.org.
第14章 · Fuchsia·Hubris - 企業が作ったマイクロカーネル
Fuchsia はGoogleが始めた Zirconマイクロカーネルベース OS だ。2021年にNest Hubに搭載されて商用化されたが、2024年頃Googleがチームを縮小し、事実上メンテナンスモードに入った。
特徴:
- Zirconマイクロカーネル - 自前カーネル、Linux互換ではない
- Apache 2.0
- Component Framework v2 - すべてがケイパビリティ(capability)ベースで隔離されたコンポーネント
- FIDL IDL - コンポーネント間IPCインターフェース定義
- Flutter・Dart一等市民
Hubris は Oxide Computer が作ったRustマイクロカーネルRTOSだ。データセンターのベースボード管理(BMC)とSP(Service Processor)で実際に動いている。
特徴:
- すべてのタスクが別アドレス空間 - シンプルなマイクロカーネル構造
- 事前定義タスクセット - 動的タスク生成なし、セキュリティ・予測性を優先
- Mozilla Public License 2.0
- 組込みSTM32、NXP iMXなどARM Cortex-Mチップを優先対応
Fuchsiaが「巨大な計算プラットフォーム」野望の結果なら、Hubrisは「この一つの仕事を最もよくこなすマイクロカーネル」だ。両方とも会社の資本が入ったOSという点で、インディーOSとは違うが、「主流ではないOS」という同じ家族だ。
参考: https://fuchsia.dev, https://github.com/oxidecomputer/hubris.
第15章 · ユニカーネル - Hermit·Unikraft·OSv·MirageOS·Nanos
ユニカーネル(unikernel) はオペレーティングシステムとアプリケーションを一つのバイナリにまとめた形態だ。仮想マシンやベアメタル上で単一プロセスのみを実行する。
主要プレイヤー:
| ユニカーネル | 言語 | 用途 |
|---|---|---|
| Hermit OS | Rust | HPC・高性能計算 |
| Unikraft | C・標準ライブラリ | ビルド時にモジュール選択 |
| OSv | C++ | 単一アプリケーションのクラウドVM |
| MirageOS | OCaml | 型安全な分散システム |
| Nanos | C・MIT/Apache | クラウドワークロード、NanoVMs |
長所:
- 攻撃面が小さい - シェルもない、他のプロセスもない。
- 起動が速い - 数十ミリ秒。
- メモリ使用が少ない - 数MB単位。
短所:
- デバッグが難しい - 通常のOSツールがない。
- 単一プロセス - サイドカー・複数サービスができない。
- パブリッククラウド統合 - AWS・GCP・Azure上で標準ツールで扱うのが面倒。
2026年のユニカーネルは「すべてのコンテナを置き換える」までは行っていないが、 FaaS・エッジコンピューティング・5G UPF・CDNミドルボックス のような領域で一部の実運用ワークロードを占めている。
参考: https://unikraft.org, https://github.com/hermit-os/hermit-rs, https://mirage.io, https://nanovms.com.
第16章 · TempleOS - 一人の信仰とOS
TempleOS はTerry A. Davis(1969-2018)が約10年かけて一人で作ったOSだ。本人の宗教的ビジョンに従って作ったと宣言し、事実上すべてのコードを自分で書いた。
特徴:
- HolyC - 自前のC亜種、REPLシェル内でコンパイル・実行
- 固定640x480解像度、16色 - 意図的な単純化
- シングルユーザ、単一アドレス空間、リング0のみ - すべてのコードがカーネル権限
- パブリックドメイン
- 128KBのディスク内にOS全体 + コンパイラ
産業的価値はほぼ0だが、OS自作史で最もよく語られる作品だ。精神疾患と戦いながら一人で作ったOSという点、すべてのコードを本人が直接書いた点、「OSは宗教的ビジョンの表現でありうる」という極端な視野 - この三つがTempleOSを忘れさせない。
Terry Davis本人は2018年に亡くなったが、 ShrineOS、 Zeal Operating System といったフォークが生きている。
参考: https://templeos.org (非公式ミラー), https://github.com/Zeal-Operating-System/ZealOS.
第17章 · MorphOS·AROS - Amigaの生きた末裔
1980-90年代のコモドール Amiga は、かつてマルチメディア計算の最前線だった。会社は潰れたが、OSは二人の後継として生き残った。
MorphOS - Amiga OS 3.x互換、PowerPCマシンで動作。2024年に3.18リリース、2026年も活発。
AROS Research Operating System - Amiga OS APIをあらゆるプラットフォームに移植しようとするオープンソースプロジェクト。x86_64・ARM・PowerPC上で動作。
| 項目 | MorphOS | AROS |
|---|---|---|
| ライセンス | 非公開商用 | APL(Amiga Public License) |
| プラットフォーム | PowerPC中心 | マルチプラットフォーム |
| Amiga OS 4互換 | 部分 | 部分 |
Amigaデモシーン・ゲーム・DTPソフトウェアを保存したいなら、二つのOSのうちの一つが答えだ。小さなユーザベースだが、非常に献身的だ。
参考: https://www.morphos-team.net, https://aros.sourceforge.io.
第18章 · マイクロカーネル論争 - Mach·L4·seL4
OS自作の世界で終わらない議論が マイクロカーネル vs モノリシック だ。
主要なマイクロカーネル家系:
- Mach - CMUで1980年代に開発。NeXTSTEP・macOS・iOS・OSF/1・GNU Hurdの基盤。しかし「第1世代マイクロカーネルは遅すぎる」と批判された。
- L4 - Jochen Liedtkeが1990年代に作った第2世代マイクロカーネル。システムコールが極端に速い(数十サイクル)。
- L4Re·Fiasco.OC - TU Dresdenで作られたL4亜種
- seL4 - L4家系で 数学的に形式検証されたマイクロカーネル。約1万行のCコードがIsabelle/HOLで仕様と等価であると証明された。
seL4 は航空・防衛・自動車・暗号鍵管理など、安全・セキュリティ決定的な領域で実際に使われる。米国DARPAのHACMSプロジェクトがseL4上で自律ヘリコプターを動かし、Boeing 707の一部OFPをseL4に移植するデモも行われた。
参考: https://sel4.systems, https://l4re.org.
第19章 · ベアメタルRustとTock·Tonk·Vanadium
Rust がOS自作の一等市民言語に上がってから5年以上が経った。2026年にはLinuxカーネル内にもRustモジュールが一部マージされた。
主要なRust組込み・OSプロジェクト:
- Tock OS - 組込みデバイス用マイクロカーネル、Apache 2.0。Cortex-M・RISC-V対応。
- Tonk - Tockの一部後継プロトタイプ、IoTセキュリティ用
- Vanadium - Ledgerのセキュアチップ上で動くRust OS、ハードウェアウォレット用
- Hermit RS - Rustユニカーネル
- Embassy - Rust組込み非同期フレームワーク
- RTIC - Real-Time Interrupt-driven Concurrency、Rust組込みリアルタイム
学習資料:
- Phil Opp - Writing an OS in Rust -
https://os.phil-opp.com、x86_64 OSを一から書く。 - Rust Embedded Book -
https://docs.rust-embedded.org/book/ - Embedded HAL - Rust組込み標準抽象レイヤー
- probe-rs - 組込みデバッグツール
RustでOSを書くことはもはや実験ではない。seL4の一部、Theseus、Redox、Hubris、Tockはすべて実稼働運用レベルのRust製OSだ。
参考: https://os.phil-opp.com, https://www.tockos.org, https://github.com/LedgerHQ/vanadium.
第20章 · 韓国・日本のインディーOS - Minimix·KumihaOS·Mona
OS自作は英語圏だけの話ではない。韓国と日本にも一人で作ったOSがある。
韓国:
- Minimix - Minix亜種、教育用
- KumihaOS - 学部OS講義から出発した自作OS、x86上で動作
- Hanlife - 韓国語デスクトップ環境実験
- 多くの大学のOS講義の成果物がGitHubに公開されている
日本:
- Mona OS - M.HiyoXが作った日本の趣味OS。2000年代初頭に活発で、日本のOS自作文化を代表する。
- OSASK - 「30日でできる!OS自作入門」の著者・川合秀実が作ったOS
- Toaru OS - 日本人開発者K. Langeのアメリカ式学部OS自作、2026年も活発
特に日本は 「30日でできる!OS自作入門」 という本がOS自作文化の象徴になった。この本の英訳は部分的に存在するが、日本語原書を見てOSを書き始めた開発者数は英語圏よりも多いという統計がある。
参考: https://github.com/hiyohiyo/mona, https://book.mynavi.jp/ec/products/detail/id=22078.
第21章 · 教育・テンプレートOS - xv6·MIT·LFS·Buildroot·Yocto
自分のOSを書く前に、誰かの小さなOSを真似して作ってみる。
xv6 - MITの6.S081 OS講義が使う教育用UNIX。UNIX V6をANSI C・RISC-Vに書き直した約1万行のOS。毎年秋学期に数千人の学生がこのコードを読んで直す。
| 項目 | 値 |
|---|---|
| ライセンス | MIT |
| コード規模 | 約10,000行 |
| ターゲット | RISC-V・x86 |
| 機能 | マルチプロセス・シェル・ファイルシステム・ページテーブル |
| 教科書 | xv6: a simple Unix-like teaching OS |
Linux From Scratch(LFS) - Linuxディストリビューションを一から構築する。カーネルは自分で書かないが、ブートローダからinit・glibc・シェルまですべてのユーザ空間を手でコンパイルする。
Buildroot·Yocto - 組込みLinuxビルドシステム。自作OSを作るわけではないが、ルータ・セットトップボックスのような組込みデバイスがどう作られるかを見る。
参考: https://pdos.csail.mit.edu/6.828/2023/xv6.html, https://www.linuxfromscratch.org, https://buildroot.org, https://www.yoctoproject.org.
第22章 · OS自作資料 - OSDev.org·Three Easy Pieces·小さな本たち
自分のOSを書くとき、最も困るのは「どこから始めるか」だ。幸い2026年には資料が豊富だ。
OSDev.org - https://wiki.osdev.org。OS自作者のWikipedia。ブートローダ、ページテーブル、割り込み、GDT/IDT、ELFロード、ファイルシステム - ほぼすべての話題に記事がある。
書籍:
- Operating Systems: Three Easy Pieces (OSTEP) - Remzi & Andrea Arpaci-Dusseau著、無料PDF。仮想化・並行性・永続性の三部作。
- The Little Book About OS Development - Erik Helin & Adam Renberg、スウェーデンKTHの講義ノート
- Writing an OS in Rust - Phil Opp、Rustでx86_64 OS
- The xv6 book - MIT 6.S081講義教材
- The Design and Implementation of the 4.4BSD Operating System - BSD内部
- Linux Kernel Development - Robert Love、Linuxカーネル内部
- Operating System Concepts (Silberschatz) - 通称「恐竜本」、学部OS標準教科書
- The Plan 9 Papers - Bell Labs Plan 9設計論文集
コミュニティ:
- r/osdev - Reddit OS自作者のサブ
- #osdev on Libera.Chat - IRC
- OSDev Discord
参考: https://wiki.osdev.org, https://pages.cs.wisc.edu/~remzi/OSTEP/, https://littleosbook.github.io, https://os.phil-opp.com.
第23章 · 自分のOSを作りたいなら - 6ステップロードマップ
OS自作に興味が湧いたら、次の6ステップを勧める。
- ブートローダから一文を出力 - GRUB・Limine上で
Hello, worldをシリアルやVGAテキストモードに表示する。 - GDT・IDTを作って割り込みを受ける - キーボード・タイマー割り込みをハンドリングする。
- ページテーブル・物理メモリアロケータ - 4KBページを管理する。
- 簡単なスケジューラとシステムコール - ラウンドロビンで2プロセスを動かす。
- 簡単なファイルシステムとシェル - RAMディスクに
echo、cat、lsを実装する。 - 自分の色を加える - マイクロカーネル・ユニカーネル・Rust・Plan 9スタイル名前空間 - やりたいことを加える。
最初の3ステップはほとんどのOS自作プロジェクトに共通だ。4ステップから分かれる。Linuxを真似てモノリシックに行くこともでき、マイクロカーネルに行くこともでき、ユニカーネルのように単一プロセスのみで止まることもできる。
学習の流れ推奨組合せ:
- 本: OSTEP + The Little Book About OS Development または Writing an OS in Rust
- コード: xv6 を読む -> 自分のOS開始
- ツール: QEMU、 GDB、 Bochs、 probe-rs (組込み)
- コミュニティ: OSDev.org + r/osdev + 韓国・日本のOS自作Discord
第24章 · まとめ - なぜインディーOSは作られ続けるのか
Linuxがすべての領域を取りそうな2026年にも、人々は新しいOSを作り続ける。
理由は同じだ。
- 理解したい - 大きなシステムは一人の頭に収まらない。小さなOSは収まる。
- 別の道 - マイクロカーネル、ユニカーネル、ケイパビリティベース、形式検証、単一アドレス空間、分散シングルシステムイメージ - 主流が捨てた道が生きているかを見る。
- 楽しさ - コードは楽しくあるべき。SerenityOS・TempleOS・9frontのマニュアルが日々それを証明する。
- 就職と学習 - システムエンジニア、組込み、セキュリティ、カーネル開発 - すべてのポジションが「小さなOSを作ったことがある」を好む。
2026年推奨一行整理:
- モダンなグラフィカルOSを見たい -> SerenityOS、Haiku
- Rustで安全なOS -> Redox、Theseus、Hubris
- 新しいパラダイム -> Plan 9 / 9front、MirageOS、Tock
- Windows/OS/2互換 -> ReactOS、ArcaOS
- 形式検証 -> seL4
- ユニカーネル -> Unikraft、MirageOS、Nanos
- 教育・出発 -> xv6、Phil OppのRust OS本、OSTEP
OS自作は終わっていない分野だ。今から始めても遅くない。一行を書き、一つの割り込みを捕まえ、一つのシステムコールを作ってみると、毎日使っているOSがどうやって生きているか - その中で何が起きているか - を初めて本当に理解できるようになる。
Code should be fun. Operating systems are no exception.
参考資料
- SerenityOS -
https://serenityos.org - SerenityOS GitHub -
https://github.com/SerenityOS/serenity - Ladybird -
https://ladybird.org - Ladybird GitHub -
https://github.com/LadybirdBrowser/ladybird - Haiku OS -
https://www.haiku-os.org - ReactOS -
https://reactos.org - Redox OS -
https://redox-os.org - Theseus OS -
https://www.theseus-os.com - Plan 9 -
https://plan9.io - 9front -
http://9front.org - Inferno OS -
https://www.vitanuova.com/inferno/ - MenuetOS -
https://www.menuetos.net - KolibriOS -
https://kolibrios.org - ArcaOS -
https://www.arcanoae.com/arcaos/ - HelenOS -
https://www.helenos.org - Genode -
https://genode.org - Fuchsia -
https://fuchsia.dev - Hubris (Oxide) -
https://github.com/oxidecomputer/hubris - Unikraft -
https://unikraft.org - MirageOS -
https://mirage.io - Nanos / NanoVMs -
https://nanovms.com - seL4 -
https://sel4.systems - Tock OS -
https://www.tockos.org - Writing an OS in Rust -
https://os.phil-opp.com - OSDev Wiki -
https://wiki.osdev.org - OSTEP -
https://pages.cs.wisc.edu/~remzi/OSTEP/ - The Little OS Book -
https://littleosbook.github.io - xv6 -
https://pdos.csail.mit.edu/6.828/2023/xv6.html - Linux From Scratch -
https://www.linuxfromscratch.org - Buildroot -
https://buildroot.org