第8 -章
ディスクBIOSは作用し、cとの処理を中断する
導入
この章で私達は使用に私達に自由を与え、容易で、短い方法のcの私達のプログラムの割り込みを、扱う重要なディスクBIOS機能をおよび他の重要な機能を論議する。 これらの機能は背部-データ回復およびディスクトラブルシューテ-ィングのプログラミングの骨である。 これらはC言語に「高レベルアセンブリー言語を」する機能である。
biosdisk and _bios_disk Functions
この2つの機能はデータ回復およびディスクトラブルシューテ-ィングのプログラミングの私達の目的のための最も重要な機能である。 私達はこれらの機能をほとんどの場合使用する。
この2つはbiosのディスク・ドライブサービス、biosdiskが未加工セクターのファイルのレベルの下で作動するbios.hで定義された。 これらの機能が心配の欠乏で少し使用されれば、ハードディスクのファイル内容そして登録簿を破壊できる。 biosdiskおよび_bios_disk両方機能、biosにディスク操作を直接出す使用割り込み0x13。 _bios_disk機能は次の方法のプログラムで宣言される:
unsigned _bios_disk(unsigned cmd, struct diskinfo_t *dinfo);
そしてビオスディスク機能のための宣言は次の通りある:
int biosdisk(int cmd, int drive, int head, int track,
int sector, int nsects, void *buffer);
これらの変数の意味は次のテーブルで記述されていた:
変数 |
機能 |
それがであるか、何またはものを |
cmd |
両方 |
操作を読まれるのような行うために示したり等を書いたり、確認する(次に与えられるcmdの記述を見なさい) |
dinfo |
_bios_disk |
残ったの含んでいるdiskinfo_tへのポイントは構成する
操作によって必要な変数。(次に与えられるdiskinfo_tの構造の記述を見なさい) |
ドライブ |
biosdisk |
どのディスク・ドライブが使用されるべきであるか指定する(aのための0: 、1for b: そして最初物理的なハードディスクのための0x80、第2のための0x81およびそう。) |
頭部
トラック
セクター |
biosdisk
|
これらは開始のセクター位置を指定する
操作は始まるべきである。 |
nsects |
biosdisk |
読むべきセクターの数は等を書いたり、確認する。 |
緩衝 |
biosdisk |
データが読まれるか、または書かれているべきであるところメモリアドレス |
|