レジスタ・GDT・IDT@OS自作入門

〜30日間でできる自作OS〜
・5日目

5日目の終盤のフォントファイルのところで、フォントファイルがどこで読み込まれているのかが全く分からない。
手がかりはCファイルの 

extern char hankaku[4096];//フォントファイルの格納場所

のみ。ど…どこだ。
結局、フォントファイルは外部実行ファイルが読んでいることが判明。ブラックボックスでした。

ファイル間で処理が分散していて必要なコードが曖昧なので、ここで一旦全体を把握する方向に。
収録サンプルから周辺ファイル(3日目のアセンブラとか)取ってくると、いつの間にかコードが追加されてたりして戸惑います。

レジスタとか調べているうちにレジスタのシミュレータを発見。
・手動計算機
http://www.infonet.co.jp/ueyama/ip/logic/manu_cal.html



次に、GDT・IDTの話。
GDT=メモリをセグメントに分割して実行プログラム間のメモリ競合を防ぐ仕組み。(表的なものがある)
GDTを利用するとメモリアドレスはセグメント内でのアドレスと解釈される。
IDT=割り込み制御の対応表。割り込み番号で管理されていて、番号と実行すべき関数との対応表的なイメージ。(割り込み=外部機器などの入出力など)

というのを理解して今日は終了です。