PR:この記事にはアフィリエイトリンクが含まれます。
OS自作に興味があっても、ブートからカーネルやメモリ管理、タスク切り替えまで考えると迷いますよね。どこから始めるか悩むところです。
C言語でカーネルを書きたい方は、C++やアセンブリを使う本との違いも気になります。四冊にはアセンブリ中心の本と、C++で実装する本があります。
先に比較
四冊ともOSの仕組みを学べますが、動かす環境も深く扱うテーマもさまざまです。まずは一覧で全体像をつかみましょう。
| 書籍 | 中心となる環境・言語 | 主な学習範囲 | 参考価格(税込) |
|---|---|---|---|
いちばんやさしい!OS自作超入門 マルチタスクと仮想メモリーを実現! | 独自仮想CPU・アセンブリ | マルチタスク、仮想メモリー、デマンドページング | 3,080円 |
ゼロからのOS自作入門 | Intel 64・C++・QEMU | ブートからページング、システムコールまで | 4,939円 |
つくりながら学ぶ!リアルタイムOS自作入門 | Arm Cortex-M4・Arduino UNO R4 WiFi | コンテキストスイッチ、スケジューラ、メモリ保護 | 4,730円 |
自作OSで学ぶマイクロカーネルの設計と実装 | 32ビットRISC-V・QEMU | プロセス、メモリ管理、メッセージパッシング | 3,960円 |
価格は税込の定価・希望小売価格を目安にしています。実売価格は時期や販売店で変わるので、購入時には表示価格を確認してください。
PCで起動するOSを一通り作るなら『ゼロからのOS自作入門』が合います。仮想記憶を小さな環境で順に実装したい方には、アセンブリ中心の入門書がおすすめです。RTOSとマイクロカーネルを扱う二冊もあります。
OS自作の土台
OSはアプリケーションとハードウェアの間に立ち、メモリやCPU、入出力を管理するソフトウェアです。自作では起動直後の処理から機能を一つずつ足し、動作の変化を確かめていきます。
割り込みはタイマーや外部装置からの通知にカーネルが応じる仕組み。メモリ管理はプログラムの使う領域を整理し、スケジューラは複数のタスクへCPU時間を割り当てます。別々の機能が連携してOSになるわけです。
入門書では用語の説明に加えて、動くコードや実行環境が用意されているかも大切です。実機でハードウェアに触れる本とエミュレータで仕組みを追う本では、手を動かす感覚やつまずきやすい箇所が変わってきます。
アセンブリの入口
『いちばんやさしい!OS自作超入門 マルチタスクと仮想メモリーを実現!』は2025年刊、208ページ。独自の仮想CPUエミュレータを使い、アセンブリ言語でOSを少しずつ実装していきます。動かして理解したい人に取り組みやすい一冊です。
学習はシングルタスクOSから始まり、マルチタスクへ進みます。仮想メモリーとデマンドページングも実装。ページングがなぜ必要なのか、実装の変化を追って確かめられます。
演習環境にはキー入力とテキスト表示があり、デバイスドライバを一から作る手間を抑えられます。エミュレータはPythonで作られていて、本書のプログラムはウェブで提供されています。OSの機能を中心に学びやすい構成です。
定価の目安は3,080円(税込)。実機で起動するx86 OSやC言語のカーネルを書く練習を求めている場合は、目的と少し異なります。タスク管理や仮想記憶の基本を小さな単位でつかみたい方におすすめです。
PCを起動する
『ゼロからのOS自作入門』は2021年刊、744ページ。UEFIで起動するIntel 64を対象に、C++でブートローダからOSの機能を組み上げます。大部な本で、QEMUやUSBメモリ、WSLを使う手順も扱います。
ブートローダと割り込みを扱い、メモリ管理を経てウィンドウ表示を含むPCらしい環境を作ります。起動して画面が変わる様子を追えるので、カーネルの内部とユーザーが見る機能のつながりを実感しやすいでしょう。
後半はプリエンプティブマルチタスクから始まり、ファイルシステムやページング、システムコールまで扱います。OSの主要な要素を横断して実装したい人には範囲の広さが魅力です。機能同士の関係を順にたどれます。
参考価格は4,939円(税込)。数百行程度のプログラムを書いた経験があり、長い演習に取り組める方におすすめです。言語はC++なので、C言語だけを使う教材を探している場合は確認しておきましょう。
RTOSを動かす
『つくりながら学ぶ!リアルタイムOS自作入門』は2026年刊、368ページ。Arm Cortex-M4搭載のArduino UNO R4 WiFiでマイコン向けRTOSを作って動かします。PC上のOSとは違う題材に触れられる本です。
ブートシーケンスから始まり、コンテキストスイッチやプリエンプティブスケジューラを経て、シェルとメモリ保護へ進みます。タスク切り替えをボード上で確かめられるため、時間制約のある制御とOSの関係も見えてくるでしょう。
開発環境はArduino IDEとPlatformIOで、PlatformIOを標準として解説しています。発展内容にはユーザー/カーネルモードやシステムコール、ヒープ、LittleFSも含まれます。さらにPWMやA/D変換、ロボット制御にも触れます。
参考価格は4,730円(税込)。マイコンでタスクを動かしたい方や、組み込み制御にOSがどう関わるか学びたい方におすすめです。汎用PCの起動からアプリ実行までを作る本とは、テーマの軸が異なります。
カーネル構造を読む
『自作OSで学ぶマイクロカーネルの設計と実装』は2023年刊、432ページです。32ビットRISC-VのQEMU仮想マシンで動くHinaOSを題材に、実装例と実用マイクロカーネルのソースコードを機能ごとに読みます。
プロセスとスレッドやメモリ管理、割り込み・例外を扱い、メッセージパッシングやシステムコールも学びます。カーネルの機能をどう分け、各部がどう連携するかを掘り下げたい方には、設計の考え方が見えてきます。
さらにマルチプロセッサ、仮想化とエミュレーション、信頼性やセキュリティにも触れます。OSの構造や性質をコードと結びつけて考える内容で、読み応えのある一冊です。
参考価格は3,960円(税込)。OSを最初から完成まで作る手順書ではありません。基本を学んだ後に、マイクロカーネルの設計や実用OSの実装を読みたい方に適しています。
仮想記憶を実装する
仮想記憶はプログラムが使うアドレスと、実際の物理メモリの位置を対応づける仕組みです。各プログラムに独立した領域を見せたり、メモリを効率よく使ったりできます。その一方で、変換表や例外処理も必要になります。
ページングでは仮想アドレスをページ単位に分け、ページテーブルを使って物理メモリへ対応づけます。必要なページがまだ読み込まれていないときに例外を起こし、後から割り当てる仕組みがデマンドページングです。
デマンドページングの流れを追うなら、仮想CPUの入門書を読むと実装の段階を確かめられます。ページングをOS全体の機能と結びつけるならPC向けの総合入門書、メモリ管理の設計やソースコードを広く読むならマイクロカーネル本も役立ちます。
スケジューリング
タスクを切り替える際、カーネルは実行中のレジスタやスタックなどの状態を保存し、次に動かすタスクの状態を戻します。これがコンテキストスイッチです。仕組みを追うと、並行実行の成り立ちが見えてきます。
プリエンプティブ方式ではタイマー割り込みなどをきっかけに、OSが実行権を切り替えます。一つのタスクが処理を終えるまでCPUを占有する方式とは違い、複数の仕事へ時間を配分できるのが特徴です。
スケジューラを実際に実装したい方には、プリエンプティブスケジューラを扱うRTOS本がおすすめです。PC向けの総合入門書もプリエンプティブマルチタスクを扱い、仮想CPUの入門書ではマルチタスクの基本を学べます。使う環境によって学ぶ内容が変わります。
おすすめの結論
仮想環境でOSの基本を順に試すなら、アセンブリ中心の入門書がおすすめです。C++でPC向けOSを幅広く実装したい方には、ページングやシステムコールまで学べる総合入門書をおすすめします。演習量も多めですよ。
マイコン制御やタスク切り替えに関心があるならRTOS本、OSの基本を学んだ後にカーネル設計を深く読みたいならマイクロカーネル本が合います。仮想記憶・PC向けOS・RTOS・マイクロカーネル。学びたいテーマごとに本を分けると整理しやすいですね。
C言語そのものを使った演習が必須なら、C++の総合入門書を同じ言語の教材として扱わず、実装言語を確かめてください。OSの原理をつかみたい方は、学びたいテーマと動作環境が合う一冊から始めるのが確実です。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。





