3,080円 (税込)
Amazon楽天いちばんやさしい! OS自作超入門
書籍情報
発売日:
著者/編集:末安 泰三
出版社:日経BP
発行形態:単行本
書籍説明
内容紹介
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の基本的な仕組みを理解できるようになります。





