ゼロからのOS自作入門
ゼロからのOS自作入門 (Amazon、アフェリエイトではない)
人類は買ったほうが良いと思う
このページでは、勉強(写経)中に思ったことを書いてる
準備
環境構築
参考資料
疑問点
(日付):疑問点 のように記述
例えば「05a:なぜ~」なら、day05a(文字'A'描画)に関する疑問
05a:なぜWritePixel / WriteAsciiはPixelWriterクラスのメソッドではないのか
06b:なぜ型にautoが多用されているのか
06b:なぜshlを作る必要があるのか
07a:なぜInterruptDescriptorAttributeのstructが持つ要素の型はuint16tなのか
07a:なぜmsg_data_addrを使わないのか
08b:GDT登録前のシフト演算は何?
09a:なぜLayerManagerのコンストラクタにPixelWriterを渡さないのか
用語
セグメントレジスタ
セグメンテーションとページング
PCIデバイス
day10e (バックバッファ):フレームバッファ・シャドウバッファ・バックバッファについて
📅 2022/01/23
P43~day03d
C言語でEfiMainを書く (1章:P43)
day02b (EDK2でメモリーマップ保存?)
day03a (C++でカーネル)
day03b (UEFIから塗りつぶし)
day03c (カーネルから塗り)
📅 2022/02/12
day04b~05b
day05a (文字 ‘A’ 描画)
day05c (フォント読み込み)
📅 2022/02/13
day05c~05e
day05d (文字列出力とsprintf)
📅 2022/02/17
day06a~06c
day06a (カーソル表示)
day06b (PCIデバイス探索)
day06c (ポーリングでマウス入力)
📅 2022/02/19
day07a
day07a (割り込みの準備)
📅 2022/02/20
day07b~08b
day07b (FIFO)
day08b (データ構造の移動)
📅 2022/02/21
day08c~09d
day08c (メモリ管理)
day09a (重ね合わせ処理)
day09b (時間計測)
day09c (重ね合わせ処理の高速化)
📅 2022/02/22
day09e~11a
day09e (スクロール高速化)
day10c (カウンタ表示)
day10d (範囲制限して描画)
day10e (バックバッファ)
day11a (リファクタリング)
📅 2022/02/24
day11b~11e
day11b (タイマー割り込み)
day11c (割り込み間隔変更)
📅 2022/03/10
day12a~12f
day12f (カーソル描画)