雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
1: 2005-07-30 (土) 09:17:44 ソース バックアップ No.1 を復元して編集
Line 1: Line 1:
 +IPLをへこへこと研究しているうちに、ふと余計な色気が出てきた。
 +
 +''カーネルを、単なるファイルとして読み込めないか???''
 +
 +
 +たとえばIPLを書き込んだりする「起動ディスク」はまあ、最初は多少面倒でもかまわないのだが、そのカーネルを作り直したりした場合に、単にファイルの上書きだけでできたら楽なのは言うまでもない。そういうふうなIPLを作るのって面倒くさいものかな???
 +
 +
 +FAT12のファイル管理
 +
 +
 +IPLでは、基本的にはBIOS等を呼んでセクタをシコシコと読み込んでいるに過ぎない。で、その時は一個一個読んでいくわけだ。先の研究中のIPLやheboOSのIPLは、あくまでも「メンドクサイ」ので、仮ファイル&セクタ決め打ちでの読み込み。
 +
 +FATの管理部分を読んで、それを一個一個拾っていっても理屈は同じではないのか???
 +
 +*FAT情報からセクタを拾いだす。 [#v6ba7633]
 +
 +各特殊なセクタの位置は、IPL(セクタ0)を読んだ時点で内蔵されているBPBの値から計算することが出来る。
 +
 +ちょっと手順を考えてみよう。
 +
 ++BIOSによりブート。IPL(セクタ0)が自動的に読み込まれる
 ++まず、BPBの値を計算して、各特殊セクタ(特殊領域・FAT領域・ルートディレクトリ領域等)の位置を割り出しておく
 ++ルートディレクトリ領域を読み込む。
 ++読み込んだルートディレクトリ領域から、目的のファイル名領域を探す(じゃ、仮にthebbl.sysとでもしておこう)
 ++探したthebbl.sysの情報を読み、このファイルがどことどこのセクタに書かれているのかを求める。
 ++求めたセクタを順に読み込んでいく。
 ++全部読んだらメモリの特定の場所にジャンプして終了
 ++OS本体が起動を開始
 +
 +
 +・・・っとまあ、こういう感じかな???