結論と対象読者
SerenityOSは、カーネル、ユーザーランド、GUI、ツールキット、アプリケーションを一から開発するUNIX風OSプロジェクトです。完成済みの日常利用OSではなく、OS実装、GUI、LibWeb/Ladybird系Web技術を学ぶ研究・開発対象として価値があります。
このページは、SerenityOSを現在の利用候補として検討する人、既存環境の資料を探す人、OS設計や互換性を研究する人を対象にしています。
30秒要約
- C++を中心にOS全体を自作
- 1990年代風GUIと現代的な内部実装
- 多数の標準アプリを同一プロジェクトで開発
- 公式には仮想マシンや開発環境での試行が中心
概要と背景
SerenityOSは2018年に始まり、外部の既存デスクトップやユーザーランドを組み合わせず、カーネルからアプリまで一貫して作ることを重視しています。WebエンジンLibWeb/LibJSの開発はLadybirdへ展開しましたが、SerenityOS自体も独立して継続しています。
特徴・できること
- 独自カーネルとPOSIX風ユーザーランド
- 独自GUIツールキットLibGUI
- 独自ファイルシステムとネットワークスタック
- 多数の標準デスクトップアプリ
- 自分自身を題材にした豊富な開発コード
現在の位置付けと利用上の前提
公式プロジェクトは継続開発されますが、安定版の一般配布OSとしてではなく、ソースからビルドして仮想マシンで試す開発プロジェクトとして案内されます。ハードウェア対応やデータ保全を期待しないでください。
確認日は2026年7月24日です。更新状況、対応機器、料金、ライセンス、互換性、安全性は変わる可能性があります。公式資料で確認できない条件は「要確認」として扱ってください。
近い対象との比較
Haiku
HaikuはBeOS互換と実利用の蓄積があり、SerenityOSは一から作る教育・研究色が強いです。
Redox
RedoxはRustとマイクロカーネル、SerenityOSはC++中心の独自UNIX風OSです。
Linux from Scratch
LFSは既存Linux部品を組み立てます。SerenityOSはカーネルや標準ライブラリ自体を開発します。
確認/試行の条件と注意点
- 公式ビルド手順どおりQEMUで起動する
- ホスト側に十分なビルド容量を用意する
- コミット更新でビルドが変わることを前提にする
- 重要データを保存しない
- LadybirdとSerenityOSの対象範囲を区別する
本番環境や重要データを扱う前に、隔離した仮想マシンまたは予備機で、起動、更新、ネットワーク、ストレージ、バックアップ、復元まで確認してください。
参考リンク
- SerenityOS公式サイト - SerenityOS公式サイトの公式情報を確認できます。
- SerenityOS GitHub - SerenityOS GitHubの公式情報を確認できます。
- ビルド手順 - ビルド手順の公式情報を確認できます。
- SerenityOS FAQ - SerenityOS FAQの公式情報を確認できます。
<!-- ppp-rewrite-priority:20260802-rank-0014 -->
追加調査で押さえる実務ポイント
SerenityOSは、独自カーネル、標準ライブラリ、ユーザーランド、GUI、アプリケーションを一から開発するグラフィカルなUnix風OSプロジェクトです。1990年代のデスクトップ美学と現代的なC++実装を組み合わせます。完成済みの日常利用OSではなく、OS、GUI、ネットワーク、ブラウザー技術をソースから学ぶ開発対象として試してください。
結論
SerenityOSが向く用途:
- OSカーネルの実装を読む
- 独自標準ライブラリとユーザーランドを学ぶ
- GUIツールキットやデスクトップアプリを開発する
- 仮想マシンでfrom-scratch OSを試す
- LibWeb・LibJSの歴史的な関係を理解する
向かない用途:
- 日常業務PC
- 重要データの保存
- 最新ハードウェアの広い互換性
- Linuxアプリをそのまま使う
- 安定版と長期サポートを求める
プロジェクトの範囲
公式サイトはSerenityOSを、カスタムUnix風コアを持つグラフィカルOSと説明しています。プロジェクトはカーネルからWebブラウザーまで内製する方針で始まりました。
主な構成:
- Kernel
- AKユーティリティライブラリ
- LibC
- LibCore
- LibGUI
- WindowServer
- ファイルシステム
- ネットワークスタック
- シェルとコマンド
- 標準デスクトップアプリ
- 開発ツール
- マニュアルページ
多数のアプリが同じリポジトリで開発されるため、OS APIの変更がユーザーランドへどう影響するかを追いやすいプロジェクトです。
Ladybirdとの違い
SerenityOS内で開発されたLibWeb・LibJSを起点とするブラウザー技術は、現在Ladybirdという独立プロジェクトへ展開しています。
| 対象 | 主な目的 |
|---|---|
| SerenityOS | from-scratchデスクトップOS全体 |
| Ladybird | 独立したWebブラウザー |
| LibWeb・LibJS | WebレンダリングとJavaScriptの技術資産 |
Ladybirdの対応OS、リリース、ロードマップをSerenityOSの完成度や対応機器と混同しないでください。
実行モデル
SerenityOSは通常、ホストOS上でソースからクロスコンパイルし、生成したイメージをQEMUなどの仮想マシンで起動します。
- ソースを取得
- 依存ツールを用意
- クロスツールチェーンを構築
- カーネルとユーザーランドをビルド
- ディスクイメージを生成
- QEMUで起動
- ログとデバッガーで確認
一般ユーザー向けインストーラーから本番PCへ導入する流れとは異なります。
ビルド前の確認
公式リポジトリのBuild Instructionsは、ホストOSごとの依存関係とサポートされるビルド方法を案内します。コミットにより手順が変わるため、古いブログ記事よりリポジトリ内の現行文書を優先します。
確認項目:
- ホストOS
- CPUアーキテクチャ
- コンパイラ
- CMake、Ninjaなど
- QEMU
- ディスク容量
- メモリ
- ネットワーク
- リポジトリのコミット
安全な試行手順
- 重要データのない開発環境を使う。
- 公式リポジトリを取得する。
- Build Instructionsを読む。
- 対応ホストと依存を確認する。
- QEMU向け標準ターゲットをビルドする。
- 仮想ディスクを別ファイルとして管理する。
- ネットワークを必要に応じて隔離する。
- 起動ログを保存する。
- コミットIDを記録する。
- 更新前に作業ブランチとイメージを保全する。
ハードウェア対応
公式FAQと開発方針から、仮想マシンでの試行が中心です。実機起動の報告があっても、一般的なノートPC、GPU、Wi-Fi、電源管理、サスペンド、音声が広く保証されるわけではありません。
実機で試す場合:
- 専用の予備機
- 重要ディスクを外す
- 有線入力・ネットワーク
- 対応GPU
- 起動方式
- シリアルログ
- 復旧USB
を用意します。
近い対象との比較
| 対象 | 違い |
|---|---|
| Haiku | BeOS互換と実利用の蓄積を重視 |
| Redox | Rustとマイクロカーネル |
| Linux From Scratch | 既存Linux部品を組み立てる |
| KolibriOS | FASM中心の極小OS |
| FreeBSD | 成熟したUnix系OS |
| Ladybird | OS全体ではなくブラウザー |
開発参加
参加前に、リポジトリのContribution、Issue、コードスタイル、レビュー方針を確認します。小さなアプリ、文書、テスト、バグ修正から始めると、カーネル変更より安全に構造を学べます。
標準アプリの例として、公式man pagesにはFontEditorなどが文書化されています。アプリの実装とman pageを合わせて読むと、GUI API、ファイル形式、コマンドライン引数の関係を追えます。
データとセキュリティ
- 重要データを保存しない
- 本番認証情報を入力しない
- インターネットへ公開しない
- 仮想マシンを隔離する
- ホストとの共有フォルダーを制限する
- 更新ごとに動作が変わる前提で使う
- 暗号・証明書・ブラウザー互換性を現行OSと同一視しない
現在の位置付け
公式サイトとGitHubは継続更新されていますが、安定版一般配布OSとしての完成を意味しません。リリース番号よりコミットとビルド状態を記録する方が再現性に役立ちます。
確認日: 2026-08-02
次に確認するページ
参考リンク
- serenityos.org - SerenityOS公式サイト
- github.com - 公式リポジトリ
- github.com - ビルド手順
- github.com - FAQ
- serenityos.org - from-scratchの範囲を説明する公式記事
- man.serenityos.org - 公式man pagesの説明