技術書典4でx86_64自作OS本出します!
技術書典4へ、サークル名"へにゃぺんて"、配置場所"け52"で↑の本を出します!
「フルスクラッチで作る!」シリーズの第3弾で、前著までの内容で作ったブートローダーを使い、その上で動くカーネルとアプリを作る本です。
ブートローダーはできあがったものを使うところから始めるため、この本から読み始めても大丈夫です!(ブートローダーの作り方に興味があれば前著を見てみてください)
本著も過去の同人誌同様、イベント後は↓のページでPDF版は公開します!
カーネルとしてはハードウェアの機能をひとつずつ抽象化していき、最終的にできあがったカーネルの機能を使用したサンプルアプリとして「画像ビューア」を作成します。カーネル・アプリのアーキテクチャは下図の通りです。
なお、カーネルとアプリのバイナリレベルの分離は本書では行いません。また、カーネルの機能としては「ハードウェアを抽象化してアプリへ提供する」のみのものです。
【目次】
- はじめに
- 開発環境について
- 本書の PDF 版やサンプルコードの公開場所について
- 動作確認しているハードウェアとブートローダーについて
- 第 1 章 開発環境とブートローダーの準備
- 第 2 章 フレームバッファを制御する
- 第 3 章 キーボード入力
- 3.1 キーボードコントローラ (KBC) の使い方
- 3.2 ステータスレジスタとデータレジスタ
- 3.3 インラインアセンブラ
- 3.4 キー入力を取得する
- 第 4 章 割り込みを使う
- 第 5 章 メモリ上の簡易ファイルシステムを用意する
- 第 6 章 画像ビューアアプリを作ってみる
- 6.1 仕様
- 6.2 画像ファイルを用意する
- 6.2.1 putd 関数を追加し、フレームバッファ解像度を画面表示して確 認する
- 6.2.2 ImageMagick(convert コマンド ) で画像を変換する
- 6.3 1 枚の画像を表示してみる
- 6.4 ファイルシステムからファイルの一覧情報を取得する
- 6.5 画像ビューアを実装する
- 付録 A 表紙について
- A.1 フォントジェネレータ (create_font.sh)
- 付録 B poiboot について
- B.1 poiboot の構成
- B.2 前著の + α (ExitBootServices)
- B.3 UEFI のファイル読み出しが正しく動作しないケースがありました
- 付録 C GPT フォーマット方法
- おわりに
- 参考情報
- 参考にさせてもらった情報
- 本シリーズの過去の著作