第3章
ディスクおよびosへの論理的なアプローチ
ハードディスクはそれ自己および必要性2の基本的なソフトウェア操作、bios (基本的な入出力システム)およびdosハードウェアを動かすことができない(またはオペレーティングシステム)動かすために。 ディスクオペレーティングシステムはコンピュータおよびハードディスクのハードウェアに直接話さないが、biosを中間必要とする。 それはbiosがコンピュータに於いての重要な役割をなぜ取ったかである。
BIOS
biosの基本仕事はコンピュータおよびdosに接続されるハードウェアまたは装置間の標準インターフェースを提供することである。 システムbiosはあなたのシステムのハードウェアとそれで動くソフトウェア間の低レベルインターフェイスである。 それはハードディスクへのアクセスの制御で遊ぶ複数の重要な役割を有する
- biosはルーチンを中断する
- ハードディスク検出および構成
- ハードディスクインターフェイスモードサポート
様々なハードウェアおよびソフトウェア製品のインターオペラビリティを保障するためには、システムのbiosはハードウェアの必要性に合い、ハードウェアに演説するソフトウェアを許可する標準的な方法を提供する。 これらはbiosサービスと呼ばれ、多くのオペレーティングシステムおよび応用プログラム使用される。 それらはハードディスクに均一インターフェイスを提供する、従って適用は各タイプのハードディスクにそれぞれ話す方法を知る必要はない。
標準的なIDE/ATAのハードディスクは様々なbiosの設定を使用してbiosで形成される。 現代biosプログラムは現代IDE/ATAこれらの変数を定め、自動的に形成するためにディスクを検出できる。 タイプのインターフェイスモードがハードディスクと使用することができるマザーボードおよびシステム入力/出力バスのシステムチップセットを使用するbios制御。
INT 13HインターフェイスおよびINT 13H延長
biosへのプライマリインターフェースはINTが割り込みおよび13Hを意味する、INT 13Hとして一般に知られているずっとソフトウェア割り込み13Hである16進法表記法の第19はある。
私達はこの本のプログラムフェーズ以内に詳しくプログラミングで割り込みの使用を学び、論議する。 Int13Hインターフェイスはbiosに与えることができる多くの異なった命令を支えるハードディスクにそれらを渡す。 割り込み13Hは私達が読書のようなディスクと行う必要がある仕事執筆、書式作成等のほとんどを含んでいる。
Int13Hを使用はそして使用は実施プログラムがハードディスクの特定の変数を知るように要求しディスクアクセスを許可するためにルーチンに演説している厳密な頭部、シリンダーおよびセクターを提供する。
biosはハードディスクのためにbiosのセットアップ・プログラムでセットアップされると同時に幾何学を使用する。 Int13Hインターフェイスは次の通りの上で壊れるドライブの幾何学の指定のための24ビットを割振る:
- シリンダー数のための10ビット、か合計1,024本のシリンダー。
- ヘッド数のための8ビット、か合計256の頭部。
- セクターのための6ビットは、または合計63のセクター番号が付いている。
従ってディスクのセクターの最大可能な数はある場合もある
= 1024 * 256 * 63
= 16515072
INT 13Hインターフェイスはセクターごとの512バイトの16515072までのセクターを含んでいるディスクを支えることができることを私達がここに見るので。 従って最高ディスクサイズはそうかもしれない
= 16515072 * 512
= 8455716864 Bytes
~ 8.456 GB
従ってINT 13Hインターフェイスはディスクサイズをおよそ8.456 GBまでことができる(または7.875ジブ)支える。
今日しかし、INT 13Hインターフェイスがdosおよび他のあるより古いオペレーティングシステムによってINT 13H延長INT 13Hと呼ばれるより新しいインターフェイスと現代計算機システムの実用性の終わりになぜ最終的に来、まだかもしれない使用される取り替えられたおよびである容量で大いにより大きい他の両立性のかのため8 GBコンピュータユーザーのほとんどはハードディスクを使用する。
Int 13H延長
INT 13Hインターフェイスが開発されたときにのは実際に、だれもハードディスクの8 GBのサイズを得ると期待しない興味深い物語である。 今日私達が容量でより小さい8 GBのハードディスクを大いに感じるかもしれないどんなにパーソナルコンピュータ家のユーザーのために。
より古い標準にアドレス情報の24ビットを使用すると同時にそのような物が8.456 GBもたらすセクターごとの512バイトの16515072までのセクターを含んでいるドライブだけを扱うことができる重要な限定があり、(または7.875ジブ)の最大キャパシティを。
従って問題は24ビットからのより大きい何かへアクセスパスを広げることだったが、私達がこの多くのより古いハードウェアをすることを試み、ソフトウェアが働くことを止めたら既存のINT13H biosインターフェイスを拡大することは可能のででなかった。 そして実用的、あなたの開発を使用しない多くのより古いハードウェアおよびソフトウェアが付いているコンピュータ世界の立派な場所を得る希望がない。
従ってInt13Hを取り替えるために新しいインターフェイスは開発された。 これらのルーチンはInt13H延長と呼ばれる。 この新しいインターフェイスは演説のために24ビットの代りに64ビットを使用し、9.4兆ギガバイトである9.4 * 10の21バイトの最高のハード・ドライブのサイズを可能にする。
私達は両方の使用、この本の業務計画の各部のINT 13HおよびINT 13H延長を学ぶ。 最初の頃起こったいくつかの他のサイズの限定がある。 普及した論理的で、物理的な限界のいくつかは後で記述されていた:
2.1 GBの限界
このサイズの限界はシリンダーの数を与えるcmosのRAMの分野のための12ビットだけを割振るあるより古いビオスで観察された。 従ってこの数は4095と同等であるほとんどの111111111111B (最高の可能な12ビット2進数)であるかもしれない。 アクセスすることができる16の頭部との最高ディスクサイズはこのように下記のとおりである:
= 4095 * 16 * 63 * 512 バイト
= 2113413120 バイトは入手しやすい。
33.8 GBの限界
このハードディスクのサイズの障壁は早い1999年に気づかれた。 大きいディスクは16の頭部、63のセクターまたはトラックおよび16383本のシリンダー報告する。 多くのビオスは16*63によって総合容量の分割によってシリンダーの実際の数を計算する。
ディスクのために33.8 GB以上いくつかのシリンダー65535以上にこれ導く。 この特別な場合では、賞biosのある版は65,535本以上のシリンダーがあるドライブを扱うことができない。 今biosは衝突するか、または掛かる。 ハードディスク以来変数は通常16の頭部および63のセクターを使用する、悩みが起こる前にこれは約33.8 GBまたは31.5ジブの容量に解決する。
解決はbiosを改善することであるまたは1つはディスクをより小さいようである作るのにジャンパーを使用できる。
|