参考情報
元ネタ
- 「UEFIベアメタルプログラミング - マルチコアを制御する」
参考にさせてもらった情報
- UEFI Platform Initialization Specification
- Intel 64 and IA-32 Architectures Software Developer Manuals
- https://software.intel.com/en-us/articles/intel-sdm
- Intel公式のx86 CPUのソフトウェア開発マニュアルです
- 2019年5月更新の最新版時点で、マルチコアについてはVolume 3の「CHAPTER 8 MULTIPLE-PROCESSOR MANAGEMENT」に、APICについても同じくVolume 3の「CHAPTER 10 ADVANCED PROGRAMMABLE INTERRUPT CONTROLLER(APIC)」に記載されています。
開発リポジトリ
本にする前のネタ作り等、本書で扱ったOSの開発は以下のリポジトリで行っていますので、興味があれば見てみてください。
- ビルドスクリプト
- ブートローダー
- カーネル
- アプリ
本シリーズの過去の著作
サークル「へにゃぺんて」の同人誌は、「フルスクラッチで作る!」シリーズ含め、すべて以下のURLからPDF版/HTML版は無料でダウンロード/閲覧できます
「フルスクラッチで作る!」シリーズの著作としては以下があります。
- フルスクラッチで作る!UEFIベアメタルプログラミング! パート1、パート2
- ブートローダーを作る上で必要なUEFIを直接叩く方法を紹介
- フルスクラッチで作る!x86_64自作OS(パート1)
- ハードウェアを抽象化しアプリへ提供するカーネルの基本的な枠組みを作り上げる
- カーネルの機能を利用するアプリとして「画像ビューア」を作る
- フルスクラッチで作る!x86_64自作OSパート2
- 副題: ACPIでHPET取得してスケジューラを作る本
- フルスクラッチで作る!x86_64自作OSパート3
- 副題: システムコールの薄い本
- システムコールを実装しカーネルとアプリを分離する
- フルスクラッチで作る!x86_64自作OSパート4
- 副題: ぼくらのイーサネットフレーム
- NICドライバを自作し、受信したイーサネットフレームを表示してみたり、独自のバイナリ列を送信してみたりする本