販売価格
販売中
お取り寄せお取り寄せの商品となります
入荷の見込みがないことが確認された場合や、ご注文後40日前後を経過しても入荷がない場合は、取り寄せ手配を終了し、この商品をキャンセルとさせていただきます。
| フォーマット | 書籍 |
| 発売日 | 2025年12月05日 |
| 国内/輸入 | 国内 |
| 出版社 | 日経BPマーケティング |
| 構成数 | 1 |
| パッケージ仕様 | - |
| SKU | 9784296209491 |
| ページ数 | 208 |
| 判型 | B5変形 |
構成数 : 1枚
はじめに
第1章 開発環境を用意する
1-1 本書でのOS 自作の進め方
1-2 開発環境に必要なもの
1-3 開発環境の構築手順
1-4 ソースコードの入手とサンプルコードの実行
第2章 CPUの仕組みと実行できる命令
2-1 CPU の役割とその動作
2-2 仮想CPU の特徴
2-3 仮想CPU のレジスタ
2-4 仮想CPU のメモリー管理
2-5 仮想CPU の命令
第3章 アセンブリ言語の書式とサンプルプログラムの作成
3-1 アセンブリ言語の基本的な書式
3-2 アセンブリ言語で利用可能な疑似命令
3-3 アセンブリ言語でプログラムを作成してみよう
第4章 シングルタスクOSを開発
4-1 開発するシングルタスクOSの概要
4-2 CPU エミュレータを変更
4-3 コマンドの入力と実行を可能にする
4-4 プログラムを実行するコマンドを追加
4-5 現在時刻を表示できるようにする
第5章 マルチタスク化を見据えたsleepシステム関数の実装
5-1 シンプルな仕組みのsleepシステム関数を実装
5-2 タスクステータスに基づいてsleepシステム関数を実装
第6章 マルチタスクを実現する
6-1 OS 自身を含めて4 つのタスクを動かす
6-2 スリープ処理もマルチタスク対応にする
6-3 キー入力処理を改良する
第7章 仮想メモリーを実現する
7-1 仮想メモリー機能を有効にする
7-2 タスクを論理アドレス空間で稼働させる
7-3 タスクを終了させるシステム関数を追加
7-4 デマンドページングを実現する
Appendix
完成したOSの全アセンブリコード
終わりに
索引
OS自作をテーマにした書籍は、これまで数多く出版されてきました。いずれの書籍も独自の魅力を持ち、コンピューターやOSの仕組みを深く理解するための貴重な学習素材となっています。
ただ、それらの書籍が簡単に読み解けるかというと、必ずしもそうではありません。正攻法でのOS自作には、CPUや周辺機器、プログラミング言語などについての広範な前提知識が必要だからです。
例えば、一般的なPCで自作OSを起動するには、「UEFI」(Unified Extensible Firmware Interface)というファームウエアや、「ブートローダー」と呼ばれるソフトウエア、x86系CPUの動作モードなどについての知識が必要です。また、自作OSで、キーボードからの入力や、テキストの表示、ファイルからのプログラム読み込みなどを可能にするには、各種のハードウエアの知識や、それらを制御する方法を知っておかねばなりません。
さらに、多くのOS自作本では、CやC++、Rustなどのプログラミング言語を利用します。それによって開発が楽になるのは確かですが、その半面、各プログラミング言語の文法やコンパイラの利用方法、コンパイルによって作成されるオブジェクトファイルの構成などについて理解することが求められます。
OS自作の書籍は、そうした広範な前提知識を、できるだけ分かりやすく伝えてくれます。しかし、必要な前提知識の多さがハードルになり、なかなか最初の一歩を踏み出すことが難しいのが現状です。
本書では、こうした壁をできるだけ低くすることを目的としています。そのために次のような方針を採用しました。
・シンプルな命令セットアーキテクチャを持つCPUエミュレータを利用:
筆者が命令セットアーキテクチャから自作したCPUエミュレータを利用することで、複雑なCPUの仕様に煩わされることなく学習を進められます。このCPUエミュレータには、キー入力やテキスト表示の機能があり、デバイスドライバを開発しなくて済みます。CPUエミュレータはPythonで作成しています。
・OSは基本的にアセンブリ言語のみで作成:
アセンブリ言語のみを利用することで、高級言語やオブジェクトファイルの知識を前提とせず、ハードウエアの動作に直結する形で理解を深められます。
・限定的ながらマルチタスク機能/仮想メモリー機能を備えたOSを完成させる:
現代的なOSの中核となるマルチタスク機能/仮想メモリー機能に焦点を当て、「OSを作り上げる」という体験を確実に味わえるように構成しています。
これらの方針により、学習すべき事柄を大幅に減らすようにしています。本書を読み進めながら開発していくことで、OSの基本的な仕組みを理解できるようになります。

※ショッピングカートおよび注文内容の確認画面にてフラゲのお届けになるかご確認ください。
※各種前払い決済をご利用の場合、フラゲは保証しておりません。
※フラゲは配送日時指定なしでご注文いただいた場合に限ります。
読み込み中にエラーが発生しました。
画面をリロードして、再読み込みしてください。
