雑記帳
ここはhideyosiの雑記帳です。テケトーに書き散らしてるだけなので間違っていたりとは普通にしてます。信用度は相当低いことをあらかじめご了承を。またご覧のようにWikiを使ってますが、hideyosi意外は書き込めません。
|
1: 2005-07-30 (土) 09:17:44 |
| + | 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本体が起動を開始 |
| + | |
| + | |
| + | ・・・っとまあ、こういう感じかな??? |