ハードディスク:動作原理と主な特性。 ハードディスクパーティションとファイルシステム。 基本的な概念と作業の基本論理ディスク構造セクションクラスターセクター

通常、ユーザーは自分のコンピューターに1つの内蔵ストレージデバイスを持っています。 オペレーティングシステムを最初にインストールするとき、それは特定の数のパーティションに分割されます。 各論理ボリュームは、特定の情報を格納する役割を果たします。 さらに、それは異なるでフォーマットすることができます ファイルシステムそして2つの構造のうちの1つ。 次に、ハードディスクのソフトウェア構造について可能な限り詳しく説明します。

物理的なパラメータに関しては、HDDは1つのシステムに結合された複数のパーツで構成されています。 このトピックに関する詳細情報を入手したい場合は、次のリンクにある別の資料を参照することをお勧めします。ソフトウェアコンポーネントの分析に進みます。

ハードディスクのパーティション分割中、システムボリュームはデフォルトのドライブ文字に設定されます C、そして2番目に D。 手紙 AB異なるフォーマットのフロッピーディスクを参照しているため、省略されています。 2番目のハードディスクボリュームがない場合は、 D DVDドライブになります。

ユーザー自身がHDDをセクションに分割し、使用可能な文字を割り当てます。 このような内訳を手動で作成する方法については、次のリンクにある他の記事をお読みください。

MBRおよびGPT構造

ボリュームとパーティションを使用すると、すべてが非常に単純ですが、構造もあります。 古い論理パターンはMBR(マスターブートレコード)と呼ばれ、改良されたGPT(GUIDパーティションテーブル)に置き換えられました。 それぞれの構造を見て、詳しく見ていきましょう。

MBRディスクは徐々にGPTに置き換えられていますが、依然として人気があり、多くのコンピューターで使用されています。 事実、マスターブートレコードは512バイトのボリュームを持つHDDの最初のセクターであり、予約されており、上書きされることはありません。 このセクションは、OSの起動を担当します。 この構造は、物理ドライブを簡単にパーツに分割できるという点で便利です。 MBRでディスクを起動する原理は次のとおりです。

ディスクパーティションにアクセスしたので、OSを起動するアクティブエリアを決定する必要があります。 この読み取りパターンの最初のバイトは、開始する目的のセクションを指定します。 次に、ロードを開始するヘッド番号、シリンダーとセクター番号、およびボリューム内のセクター数を選択します。 読み取り順序は次の図に示されています。

CHS(Cylinder Head Sector)テクノロジーは、検討中のテクノロジーのセクションの極端な記録の場所の調整を担当します。 シリンダー番号、ヘッド、セクターを読み取ります。 上記の部品の番号付けは、 0 、および 1 。 これらすべての座標を読み取ることにより、ハードディスクの論理パーティションが決定されます。

このようなシステムの欠点は、データ量のアドレス指定が制限されることです。 つまり、CHSの最初のバージョンでは、パーティションに最大8 GBのメモリーを含めることができましたが、もちろん、すぐには十分ではありませんでした。 これは、番号付けシステムが再設計されたLBA(Logical Block Addressing)アドレス指定に置き換えられました。 最大2TBのドライブがサポートされるようになりました。 LBAはさらに開発されましたが、影響を受けるのはGPTのみです。

私たちは最初とそれ以降のセクターにうまく対処しました。 後者については、AA55と呼ばれる予約もされており、MBRの整合性と必要な情報の可用性をチェックする責任があります。

MBRテクノロジには、大量のデータを処理できないという多くの欠点と制限がありました。 修正したり変更したりするのは無意味だったので、UEFIのリリースとともに、ユーザーは新しいGPT構造について学びました。 ストレージ容量の絶え間ない増加とPCの動作の変化を念頭に置いて作成されたため、現時点でこれが最も多い 高度なソリューション。 次のパラメータがMBRと異なります。

  • CHS座標がないため、LBAの修正バージョンでのみ機能します。
  • GPTは、それ自体の2つのコピーをドライブに保存します。1つはディスクの先頭に、もう1つはディスクの最後にあります。 そのような解決策は、損傷の場合に保存されたコピーを通してセクターを蘇生させることを可能にします。
  • 構造構造が再設計されました。これについては後で説明します。
  • チェックサムを使用したUEFIを使用して、ヘッダーが正しいかどうかがチェックされます。

ここで、この構造の動作原理について詳しくお話したいと思います。 前述のように、ここではLBAテクノロジが使用されているため、あらゆるサイズのディスクで問題なく作業でき、将来的には必要に応じてアクションの範囲を拡大できます。

GPTのMBRセクターも存在することは注目に値します。これは最初であり、サイズは1ビットです。 古いコンポーネントでHDDを正しく動作させるために必要であり、GPTを知らないプログラムが構造を破壊することも許可されていません。 したがって、このセクターは保護と呼ばれます。 次は、32、48、または64ビットのセクターで、パーティショニングを担当します。これは、プライマリGPTヘッダーと呼ばれます。 これらの2つのセクターの後、コンテンツが読み取られ、2番目のボリュームスキームが作成され、GPTコピーによってすべてが閉じられます。 完全な構造は、以下のスクリーンショットに示されています。

これについて 一般情報、平均的なユーザーが興味を持つかもしれないが終了します。 さらに、これらは各セクターの作業の微妙な点であり、このデータは平均的なユーザーにはまったく関係ありません。 GPTまたはMBRの選択については、Windows7での構造の選択について説明している他の記事を読むことができます。

また、GPTはより高度なオプションであり、将来的には、いずれの場合も、そのような構造のメディアでの作業に切り替える必要があることを付け加えたいと思います。

ファイルシステムとフォーマット

HDDの論理構造について言えば、利用可能なファイルシステムについて言及することは間違いありません。 もちろん、たくさんありますが、一般のユーザーがよく使う2つのOSの種類について詳しく見ていきたいと思います。 コンピュータがファイルシステムを判別できない場合は、 HDD取得する RAW形式 OSに表示されるのはその中です。 この問題の手動修正が利用可能です。 以下のこのタスクの詳細をよく理解しておくことをお勧めします。

  1. FAT32。 MicrosoftはFATを使用したファイルシステムのリリースを開始しました。将来、このテクノロジは多くの変更が加えられ、現在の最新バージョンはFAT32です。 その特徴は、大きなファイルを処理および保存するように設計されていないという事実にあり、重いプログラムをインストールすることも非常に問題になります。 ただし、FAT32はユニバーサルであり、作成する場合 外部ハードディスク、保存されたファイルを任意のテレビやプレーヤーから読み取ることができるように使用されます。
  2. NTFS。 Microsoftは、FAT32を完全に置き換えるためにNTFSを導入しました。 現在、このファイルシステムはXP以降のすべてのバージョンのWindowsでサポートされており、Linuxでも正常に動作しますが、Mac OSでは情報のみを読み取ることができ、何も書き込まれません。 NTFSは、記録されたファイルのサイズに制限がなく、さまざまな形式のサポートが拡張され、論理パーティションを圧縮する機能があり、さまざまな損傷から簡単に回復できるという点で際立っています。 他のすべてのファイルシステムは、より大きな方法で小規模に適しています リムーバブルメディアまた、ハードドライブで使用されることはめったにないため、この記事ではそれらについては考慮しません。

Windowsファイルシステムを扱ってきました。 Linuxでサポートされているタイプはユーザーにも人気があるので注目したいと思います。 Linuxはすべてのファイルをサポートします Windowsシステムただし、OS自体は特別に設計されたFSにインストールすることをお勧めします。 次の種類に注意する価値があります。

  1. extfs Linux用の最初のファイルシステムになりました。 これには制限があります。たとえば、最大ファイルサイズは2 GBを超えることはできず、名前は1〜255文字の範囲である必要があります。
  2. Ext3Ext4。 Extの以前の2つのバージョンは完全に古くなっているため、スキップしました。 多かれ少なかれ最新のバージョンについてのみ説明します。 このFSの特徴は、最大1テラバイトのサイズのオブジェクトをサポートすることですが、古いExt3コアで実行する場合、2GBを超える要素はサポートしませんでした。 もう1つの機能は、Windowsで記述されたソフトウェアの読み取りのサポートです。 次に、最大16TBのファイルを保存できる新しいFSExt4が登場しました。
  3. Ext4の主な競争相手が考慮されます XFS。 その利点は、特別な記録アルゴリズムにあります。 「スペースの割り当ての遅延」。 データが書き込みのために送信されると、最初にRAMに配置され、ディスクスペースに格納されるのを順番に待機します。 HDDへの移動は、RAMが不足するか、他のプロセスによって占有されている場合にのみ実行されます。 このシーケンスにより、小さなタスクを大きなタスクにグループ化し、メディアの断片化を減らすことができます。

OSをインストールするためのファイルシステムの選択に関しては、平均的なユーザーがインストール中に推奨されるオプションを選択することをお勧めします。 通常、これはEtx4またはXFSです。 上級ユーザーはすでにFSをニーズに合わせて使用​​しています。 各種タイプ割り当てられたタスクを完了します。

ドライブがフォーマットされた後にファイルシステムが変更されるため、これはファイルを削除するだけでなく、発生した互換性や読み取りの問題を修正することを可能にする非常に重要なプロセスです。 HDDをフォーマットするための正しい手順を可能な限り詳細に説明している特別な資料を読むことをお勧めします。

さらに、ファイルシステムはセクターのグループをクラスターに結合します。 タイプごとにこれは異なり、特定の数の情報でのみ機能します。 クラスターはサイズが異なり、小さいクラスターは軽いファイルでの作業に適しており、大きいクラスターは断片化されにくいという利点があります。

データが絶えず上書きされるため、断片化が発生します。 時間の経過とともに、ブロックに分割されたファイルはディスクの完全に異なる部分に保存され、それらの場所を再配布してHDDの速度を上げるには、手動で最適化する必要があります。

問題の機器の論理構造についてはまだかなりの量の情報があり、同じファイル形式とそれらをセクターに書き込むプロセスを取ります。 ただし、今日は、コンポーネントの世界を探索したいPCユーザーにとって役立つ最も重要なことについてできるだけ簡単に説明するようにしています。

初期ディスクセクターには、メモリにロードされて実行されるマスタールートエントリがあります。 このセクターの最後の部分には、パーティションテーブル(16バイトの要素を持つ4要素のテーブル)があります。 このようなテーブルは、FDISKプログラムによって管理されます。 起動時に、ROM-BIOSはこのセクターにテーブルに関するエントリをロードします。 これは、アクティブなパーティションを判別するために行われます。 次に、正しいルートセクターがメモリに読み込まれ、実行されます。
表1-メインルートエントリとパーティションテーブルの構造

表2-セクション記述子の構造

パーティションコードは、ディスク上の拡張パーティションとプライマリパーティションを決定して配置することを目的としています。 パーティションが見つかると、そのサイズと座標を特定のフィールドから読み取ることができます。 セクションコードフィールドの場合 0 の場合、記述子は空であると見なすことができ、ディスクにパーティションがないと判断されます。
表3-MicrosoftOSのパーティションコード

コード 断面図 サイズ FATタイプ OS
01時間 基本 0〜15 MB FAT12 MS-DOS 2.0
04時間 基本 16〜32 MB FAT16 MS-DOS 3.0
05h 拡張 0〜2 GB MS-DOS 3.3
06時間 基本 32 MB-2 GB FAT16 MS-DOS 4.0
0bh 基本 512 MB-2 GB FAT32 OSR2
0Ch 拡張 512 MB-2 GB FAT32 OSR2
0え 基本 32 MB-2 GB FAT16 Windows 95
0Fh 拡張 0〜2 GB Windows 95

次のコードは、サードパーティのオペレーティングシステム用に予約されています。

  • 02h-セクションSR/M
  • 03h-Xenisセクション
  • 07h-OS / 2パーティション(HPFS)

シリンダー番号とセクター番号は10ビットと6ビットを取ります。

15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
c c c c c c c c c c s s s s s s

これらは、CXに16ビット値がロードされたときに、INT13hを呼び出してディスクの特定の部分を読み取る準備ができるようにパックされています。 メインロードレコードをメモリ領域に読み込んだ後 sect_buf働き:

CMPバイトptrsect_buf、80h

最初のパーティションがアクティブかどうかを確認します。 そして、次のアルゴリズムは、CXをロードしてINT 13hを呼び出し、パーティション#1のルートセクターを読み取ります。

MOV CX、sect_buf

オプション 相対セクター各パーティションのオフセット08hは、パーティションの開始アドレスのヘッド、セクター、およびシリンダーに等しくなります。 相対セクター番号は、最初にヘッドの各セクター、次に各ヘッド、最後に各シリンダーで増加します。 方式:

rel_sec =(#cyl * sec_per_cyl * heads)+(#Goal * sec_per_cyl)+(#sec -1)

最初のセクションを除いて、セクションは偶数のシリンダー番号で始まります。

ルートセクターの構造

フロッピーまたはハードディスクパーティションのルートセクターのフォーマットを図1に示します。

写真1

ハードディスクパラメータテーブル

この16バイト構造は、割り込みベクタアドレスINT 41h(0:0104の4バイトアドレス)にあります。 の仕様 セカンドハードディスク(存在する場合)は、ベクトルINT46hのアドレスにあります。
表5-ハードディスクテーブルの形式

バイアス 長さ コンテンツ
00時間 2 シリンダー数
02時間 1 頭の数
03h 2 未使用(常に0)
05h 2 事前補正初期シリンダー番号
07時間 1 最大ECCブロック長
08時間 1 ait制御:
ビット0〜2-未使用(常に0)。
ビット3-ヘッドの数が8より大きい場合に設定されます。
ビット4-未使用(常に0);
ビット5-メーカーが「最大作動シリンダー+1」という番号のシリンダーに欠陥マップを配置した場合に設定されます。
ビット6-ECC再チェック禁止。
ビット7-ECC制御を無効にする
09時間 1 未使用(常に0)
0ああ 1 未使用(常に0)
0bh 1 未使用(常に0)
0Ch 2 駐車場シリンダー番号
0え 1 トラックあたりのセクター数
0Fh 1 予約

ファイルアロケーションテーブル(FAT)

ファイルサイズは時間の経過とともに変化する可能性があります。 ファイルが隣接するセクターにのみ保存されていると仮定すると、ファイルサイズが大きくなると、OSはそれをディスク上の別の場所に完全に書き換える必要があります。 タスクを簡素化するために、最新のオペレーティングシステムはファイルアロケーションテーブル(ファイルアロケーションテーブル-FAT)を実装しています。これにより、ファイルをいくつかの個別のセクションの形式で保存できます。

FATでは、論理ディスクのデータ領域は同じサイズのセクションに分割されます- 。 クラスター内のセクターの数は2Nの倍数であり、1〜64の値を取ることができます。各ファイルのファイルディレクトリには、最初のクラスターに等しいFATテーブルの最初の要素の数がありますファイルチェーン内。 例を図2に示します。 それは図から見ることができます:

  • MYFILE.TXTは10個のクラスターを占有します。 最初のクラスターは08で、最後のクラスターは1Bhです。 クラスターチェーン-08h、09h、0Ah、0Bh、15h、16h、17h、19h、1Ah、1Bh。 表6に示すように、各チェーンコンポーネントは次のチェーンコンポーネントを指します。
  • クラスター18hは不良品としてマークされており、チェーンに含まれていません
  • クラスター06h、07h、0Ch-14h、および1Ch-1Fhは空であり、他のチェーンで使用できます

表6-FAT要素の意味

FATは、DOSパーティションの論理セクター1から始まります。 原則として、ルートセクターDX = 0を読み取り、オフセット0Ehを取得する必要があります。 そこでは、FATに直面しているルートセクターとリザーブセクターの数がすでにわかります。 チェーンに沿ってFATコンポーネントを読み取るには、FAT全体を読み取り、目次から初期クラスター番号を取得する必要があります。FAT12の場合は次のようになります。

  • クラスター番号に3を掛けます
  • 結果を2で割ります
  • 前のラウンドの結果をアドレスとして使用して、FATから16ビットワードを読み取ります
  • 要素番号が偶数であるが、単語をANDで覆い、0FFFhをマスクする必要がある場合。 奇数の場合は、値を4ビット右にシフトします。

私たち一人一人は毎日さまざまなコンピュータ用語に遭遇しますが、その知識は表面的なものであり、一部の用語は私たちにはまったくなじみがありません。 そして、なぜ私たちは私たちに関係のない、または私たちを気にしない何かについて何かを知る必要があります。 そうではありませんか? よく知られている真実:一部の機器(ハードドライブを含む)が正常に機能し、問題がない限り、誰もその作業の複雑さに煩わされることはなく、これは無意味です。

しかし、システムユニットのデバイスの操作中に障害が発生したとき、または突然コンピューターのサポートが必要になったとき、多くのユーザーはすぐにドライバーと「コンピューターリテラシーの基本、またはコンピューターを復活させる方法」という本を手に入れます。家に"。 そして、彼らは専門家の助けを借りることなく、自分たちで問題を解決しようとします。 そして、ほとんどの場合、それは彼らのコンピュータにとって非常にひどく終わります。

  • 「ハードドライブ」または「ハードドライブ」の概念とその発生

「ハードドライブ」の概念の定義と出現

したがって、今回の次の記事のトピックは、ハードドライブなどのシステムユニットのスペアパーツになります。 この概念の意味を詳細に検討し、その開発の歴史を簡単に思い出し、内部構造についてさらに詳しく説明し、その主なタイプ、インターフェース、および接続の詳細を分析します。 さらに、将来、あるいはほぼ現在に至るまでを見て、古き良きネジを徐々に置き換えているものを教えてください。 将来的には、これらがUSBフラッシュドライブ(SSDデバイス)の原理で動作するソリッドステートドライブであるとしましょう。

私たちが見たり使用したりするのに慣れているタイプの世界初のハードドライブは、1973年にIBMの従業員であるKennethHaughtonによって発明されました。 このモデルは、有名なウィンチェスターライフルの口径のように、30〜30の数字の不思議な組み合わせと呼ばれていました。名前の1つがここから来たと推測するのは難しいことではありません。ウィンチェスターは、IT関係者の間で今でも人気があります。 。 そして、おそらく、誰かが初めてそれを一般的に読んだのでしょう。

定義に移りましょう。ハードドライブ(そして、都合がよければ、ハードドライブ、HDD、またはネジ)は、特別な読み取りを使用して情報が書き込まれ、保存され、削除されるコンピューター(またはラップトップ)ストレージデバイスです。 /必要に応じてヘッドを書き込みます。

「しかし、これは単純なフロッピーディスクやCD-DVDとどう違うのですか?」 あなたが尋ねる。 そして重要なのは、フレキシブルメディアや光学メディアとは異なり、ここではデータが剛性のある(名前はすでに推測されているかもしれませんが)アルミニウムまたはガラスプレートに記録され、その上に強磁性体の薄層が適用されていることです。多くの場合、これらの目的のために、二酸化クロムが使用されます。

このような回転する磁気プレートの表面全体は、それぞれ512バイトのトラックとセクターに分割されます。 一部のドライブには、そのようなドライブが1つしかありません。 その他は11枚以上のプレートが入っており、それぞれの両面に情報が記録されています。

内部構造

ハードディスクの設計そのものは、情報を直接保存するだけでなく、このすべてのデータを読み取るメカニズムで構成されています。 全体として、これがハードドライブとフロッピーディスクおよび光学ドライブの主な違いです。 そしてとは異なり ランダム・アクセス・メモリ(RAM)、一定の電力を必要とする、ハードドライブは不揮発性デバイスです。 安全にプラグを抜いて、どこへでも持ち運べます。 データはそこに保存されます。 これは、情報を回復する必要がある場合に特に重要になります。

それでは、ハードドライブの内部構造について少し直接お話ししましょう。 ハードドライブ自体は、大気圧下で通常のほこりのない空気で満たされた密閉されたユニットで構成されています。 自宅で開くことはお勧めしません。 これにより、デバイス自体が損傷する可能性があります。 どんなにきれいでも、部屋にはいつもほこりがあり、ケースの中に入る可能性があります。 データリカバリを専門とする専門サービスでは、ハードドライブが開かれる特別に装備された「クリーンルーム」があります。

デバイスには、ボードも含まれています 電子回路管理。 ブロックの内側には、ドライブの機械部品があります。 ディスク回転駆動モーターのスピンドルには、1枚以上の磁性板が固定されています。

ケースには、磁気ヘッドのプリアンプスイッチも収納されています。 磁気ヘッド自体は、磁気ディスクの片側の表面から情報を読み書きします。 その回転速度は毎分15000回転に達します-これは現代のモデルに関係するものです。

電源投入時に、ハードディスクプロセッサは電子機器をテストすることから始めます。 すべてが正常であれば、スピンドルモーターがオンになります。 ある臨界回転速度に達した後、ディスクの表面とヘッドの間を流れる空気層の密度は、ヘッドを表面に押し付ける力に打ち勝つのに十分になります。

その結果、読み取り/書き込みヘッドは、わずか5〜10nmのわずかな距離でウェーハの上に「ぶら下がる」。 読み取り/書き込みヘッドの動作は、蓄音機の針の動作原理と似ていますが、1つだけ違いがあります。蓄音機では、針のヘッドがレコードと接触しているのに対し、プレートとは物理的に接触していません。 。

コンピュータの電源がオフになり、ディスクが停止した瞬間に、ヘッドはプラッタ表面の非動作ゾーン、いわゆるパーキングゾーンに落下します。 したがって、緊急時にコンピュータをシャットダウンすることはお勧めしません。シャットダウンボタンを押すか、電源コードをコンセントから抜くだけです。 これにより、HDD全体に障害が発生する可能性があります。 初期のモデルには、ヘッドパーキング操作を開始する特別なソフトウェアがありました。

最近のHDDでは、回転速度が公称値を下回ったとき、または電源をオフにするコマンドが与えられたときに、ヘッドが自動的にパーキングゾーンに移動します。 エンジンの定格速度に達した場合にのみ、ヘッドが作業領域に戻されます。

確かにあなたの探究心の中で、質問はすでに成熟しています-ディスクブロック自体はどれくらいタイトで、ほこりや他の小さな粒子がそこに浸透する可能性はどのくらいですか? 上で書いたように、それらはハードドライブの故障につながる可能性があり、さらにはその故障や重要な情報の損失につながる可能性があります。

しかし、心配しないでください。 メーカーは長い間すべてを予見してきました。 モーターとヘッドを備えたディスクブロックは、特別な密閉されたハウジング(HDA(チャンバー))に配置されています。 ただし、その内容物は環境から完全に隔離されているわけではなく、空気をチャンバーから外部に、またはその逆に移動させる必要があります。

これは、本体の変形を防ぐために、ブロック内の圧力を外部の圧力と等しくするために必要です。 このバランスは、気圧フィルターと呼ばれる特別なデバイスを使用して実現されます。 HDA内にあります。

フィルタは、読み取り/書き込みヘッドとディスクの強磁性表面との間の距離を超えるサイズの最小の粒子をキャプチャすることができます。 上記のフィルターに加えて、別のフィルターがあります-再循環フィルター。 ブロック自体の気流に存在する粒子を捕捉します。 それらは、ディスクの磁気受粉の脱落からそこに現れる可能性があります(確かに、「ハードが落ちた」というフレーズを聞いたことがあるでしょう)。 さらに、このフィルターは、気圧の「同僚」が「逃した」粒子をキャプチャします。

HDD接続インターフェース

現在、ハードドライブをコンピューターに接続するには、IDE、SCSI、およびSATAの3つのインターフェイスのいずれかを使用できます。

当初、1986年にIDEインターフェイスはHDDを接続するためだけに開発されました。 次に、拡張ATAインターフェイスに変更されました。 その結果、ハードドライブだけでなく、CD/DVDドライブも接続できます。

SATAインターフェースは、ATAよりも高速で、最新で、生産性が高くなっています。

また、SCSIは、さまざまな種類のデバイスを接続できる高性能インターフェイスです。 これには、ストレージメディアだけでなく、さまざまな周辺機器も含まれます。 たとえば、より高速なSCSIスキャナー。 しかし、USBバスが登場すると、SCSI経由で周辺機器を接続する必要がなくなりました。 それで、あなたがどこかで彼に会うのに十分幸運であるならば、あなた自身を幸運であると考えてください。

それでは、IDEインターフェースへの接続について少しお話ししましょう。 システムには2つのコントローラー(プライマリとセカンダリ)を含めることができ、それぞれが2つのデバイスを接続できます。 したがって、最大4つを取得します。プライマリマスター、プライマリスレーブ、およびセカンダリマスター、セカンダリスレーブ。

デバイスをコントローラに接続した後、その動作モードを選択する必要があります。 これは、コネクタの特定の場所(IDEケーブルを接続するためのコネクタの隣)に特別なジャンパ(ジャンパと呼ばれる)を取り付けることによって選択されます。

より高速な機器が最初にコントローラーに接続され、マスターと呼ばれることを覚えておく必要があります。 2番目はスレーブ(スレーブ)と呼ばれます。 最後の操作は電源を接続することです。このため、電源ケーブルの1つを選択する必要があります。 この情報は、非常に非常に 古いコンピューター。 現代では、そのような操作の必要性はなくなっています。

SATA経由での接続ははるかに簡単です。 そのためのケーブルは、両端に同じコネクタがあります。 SATAドライブにはジャンパーがないため、デバイスの動作モードを選択する必要はありません。子供でも処理できます。 電源は専用ケーブル(3.3V)で接続します。 ただし、アダプタを介して従来の電源ケーブルに接続することは可能です。

役立つアドバイスを1つ挙げましょう。友人が新しい映画や音楽を書き直すためにハードドライブを持ってあなたのところに来ることがよくある場合(そうです、あなたの友人は非常に過酷なので、外付けHDDではなく通常の内蔵HDDを持っています)、あなたは常にシステムユニットを回転させるのにうんざりしているので、特別なハードドライブポケット(モバイルラックと呼ばれます)を購入することをお勧めします。 これらは、IDEインターフェイスとSATAインターフェイスの両方で使用できます。 別の追加のハードドライブをコンピュータに接続するには、そのようなポケットに挿入するだけで完了です。

SSDドライブ-開発の新しい段階

すでに今日(あるいは昨日)、情報ストレージデバイスの開発における次の段階が始まっています。 ハードドライブは新しいタイプのSSDに置き換えられています。 次に、それについてさらに詳しく説明します。

つまり、SSD(Solid State Disk)は、USBフラッシュメモリの原理で動作するソリッドステートドライブです。 彼の最も重要なものの1つ 特徴的な機能従来のハードドライブや光学ドライブから-そのデバイスには可動部品や機械部品は含まれていません。

このタイプのドライブは、よくあることですが、元々は軍事目的と高速サーバー専用に開発されました。このようなニーズに対応する古き良きハードドライブは、もはや十分な速度と信頼性を備えていなかったためです。

SSDの最も重要な利点をリストします。

  • まず、SSDへの情報の書き込みとSSDからの読み取りは、HDDからの読み取りよりもはるかに高速です(数十倍)。 従来のハードドライブの作業は、読み取り/書き込みヘッドの動きによって非常に遅くなります。 それ以来 SSDに搭載されていない場合は、問題ありません。
  • 次に、SSDドライブに取り付けられているすべてのメモリモジュールを同時に使用するため、データ転送速度が大幅に向上します。
  • 第三に、彼らは打撃の影響を受けにくいです。 ハードドライブは衝撃で一部のデータを失ったり、故障したりする可能性がありますが、これは最も頻繁に発生します-注意してください!
  • 第4に、消費電力が少ないため、ラップトップ、ネットブック、ウルトラブックなど、バッテリーを搭載したデバイスでの使用に便利です。
  • 第5に、このタイプのドライブは、動作中にノイズをほとんど発生させませんが、ハードドライブの動作中には、ディスクの回転とヘッドの動きが聞こえます。 そして、それらが失敗すると、一般的に頭の強い亀裂やノックがあります。

ただし、隠さないでください。SSDには2つの欠点があります。1)同じ容量のメモリのハードドライブよりも、特定の容量に対してはるかに多くの費用がかかります(違いは数倍になりますが、毎年少なくなり、以下); 2)SSDの読み取り/書き込みサイクル数は比較的限られています(つまり、本質的に寿命が限られています)。

そこで、「ハードドライブ」の概念を理解し、その構造、動作原理、さまざまな接続インターフェースの特徴を調べました。 提供された情報が理解しやすく、そして最も重要なことに、有用であることを願っています。

選択に問題がある場合、マザーボードがサポートするハードドライブのタイプ、適切なインターフェイス、またはニーズに最適なHDD容量を判断できない場合は、いつでもCompolifeコンピュータサービスに連絡して、地域全体のサポートを受けることができます。サービス。

当社の専門家がハードドライブの選択と交換をお手伝いします。 さらに、システムユニットまたはラップトップへの新しいデバイスのインストールを当社に注文することができます。

マスターに電話する

ハードドライブ、またはハードドライブとも呼ばれるものは、最も重要なコンポーネントの1つです。 コンピューターシステム。 誰もがそれについて知っています。 しかし、原則として、ハードドライブがどのように機能するかを推測する現代のユーザーからはほど遠いです。 一般に、動作原理は基本的な理解としては非常に単純ですが、いくつかのニュアンスがあり、これについてはさらに説明します。

ハードドライブの目的と分類について質問がありますか?

もちろん、目的の問題は修辞的です。 どんなユーザーでも、最もエントリーレベルであっても、ハードドライブ(別名ハードドライブ、別名ハードドライブまたはHDD)は、情報の保存に使用されているとすぐに答えます。

一般的に、それは真実です。 ハードディスクには、オペレーティングシステムとユーザーファイルに加えて、OSによって作成されたブートセクターがあり、そのおかげでOSが起動し、必要な情報をすばやく見つけることができるいくつかのマークがあることを忘れないでください。ディスク。

最新のモデルは非常に多様です:従来のHDD、外付けハードドライブ、高速ソリッドステート SSDドライブ、ただし、それらをハードドライブに帰することは習慣的ではありません。 次に、デバイスと原理を検討することを提案します 一生懸命働くディスクがいっぱいでない場合は、少なくとも基本的な用語とプロセスを理解するのに十分な方法で。

いくつかの基本的な基準に従って、最新のHDDの特別な分類もあることに注意してください。その中で、次のものを区別できます。

  • 情報を保存する方法。
  • メディアタイプ;
  • 情報へのアクセスを整理する方法。

ハードドライブがハードドライブと呼ばれるのはなぜですか?

今日、多くのユーザーは、なぜ小型アームに関連するハードドライブと呼ぶのかを考えています。 これら2つのデバイスに共通するものは何でしょうか。

この用語自体は、1973年に世界初のHDDが市場に登場したときに登場しました。その設計は、1つの密閉容器内の2つの別々のコンパートメントで構成されていました。 各コンパートメントの容量は30MBでした。そのため、エンジニアはディスクに「30-30」というコードネームを付けました。これは、当時人気のあった銃「30-30ウィンチェスター」のブランドと完全に一致していました。 確かに、アメリカとヨーロッパでは90年代初頭にこの名前は事実上使われなくなりましたが、それでもソビエト後の世界では人気があります。

ハードドライブのデバイスと動作原理

しかし、私たちは逸脱します。 ハードディスクの動作原理は、情報の読み取りまたは書き込みのプロセスとして簡単に説明できます。 しかし、それはどのように起こりますか? 磁気ハードドライブの動作原理を理解するには、まずそれがどのように機能するかを研究する必要があります。

ハードドライブ自体はプラッターのセットであり、その数は4から9までさまざまで、スピンドルと呼ばれるシャフト(軸)によって相互接続されています。 プレートは上下に配置されます。 ほとんどの場合、製造材料はアルミニウム、真ちゅう、セラミック、ガラスなどです。プレート自体には、ガンマフェライト酸化物、クロム酸化物、バリウムフェライトなどをベースにしたプラッターと呼ばれる材料の形の特殊な磁気コーティングが施されています。このような各プレートの厚さは約2mmです。

ラジアルヘッドは情報の書き込みと読み取りを担当し(プレートごとに1つ)、プレートでは両方の表面が使用されます。 3600〜7200 rpmの範囲で、2つの電気モーターがヘッドの移動を担当します。

同時に、コンピュータのハードドライブの基本原則は、情報がどこにも記録されないということですが、同心のトラックまたはトラック上にあるセクターと呼ばれる厳密に定義された場所に記録されます。 混乱を避けるために、統一されたルールが適用されます。 これは、論理構造の観点から、ハードディスクドライブの動作原理が普遍的であることを意味します。 したがって、たとえば、世界中で単一の標準として採用されている1つのセクターのサイズは512バイトです。 次に、セクターはクラスターに分割されます。クラスターは、隣接するセクターのシーケンスです。 また、この点でのハードディスクの動作原理の特徴は、情報交換がクラスター全体(整数のセクターチェーン)によって実行されることです。

しかし、情報はどのように読み取られますか? ハードディスクドライブの動作原理は次のとおりです。特殊なブラケットを使用すると、読み取りヘッドが半径(スパイラル)方向に目的のトラックに移動し、回転すると、特定のセクターの上に配置され、すべてのヘッドが移動できます。同時に、異なるトラックからだけでなく、異なるディスク(プラッタ)からも同じ情報を読み取ります。 同じシリアル番号を持つすべてのトラックはシリンダーと呼ばれます。

同時に、ハードディスク動作のもう1つの原理を区別できます。読み取りヘッドが磁気面に近いほど(ただし、磁気面に接触しない)、記録密度が高くなります。

情報はどのように書かれ、読まれますか?

ハードドライブ、またはハードドライブは、ファラデーとマクスウェルによって策定された磁気の物理法則を使用しているため、磁気と呼ばれていました。

すでに述べたように、非磁性材料で作られたプレートは、わずか数マイクロメートルの厚さの磁性コーティングでコーティングされています。 作業の過程で、いわゆるドメイン構造を持つ磁場が発生します。

磁区は、境界によって厳密に制限されたフェロアロイの磁化領域です。 さらに、ハードディスクの動作原理は次のように簡単に説明できます。外部磁場が印加されると、ディスク自体の磁場が磁力線に沿って厳密に配向し始め、衝撃が停止すると、残留磁化のゾーンが現れます。以前にメインフィールドに含まれていた情報が保存されているディスク上。

読み取りヘッドは、記録中に外部磁場を生成する役割を果たし、読み取り時に、ヘッドの反対側にある残留磁化ゾーンが起電力またはEMFを生成します。 さらに、すべてが単純です。EMFの変更は、バイナリコードの単位に対応し、その不在または終了はゼロに対応します。 EMFの変更時間は、通常、ビット要素と呼ばれます。

さらに、純粋にコンピュータサイエンスの理由で、磁気表面は、情報のビットの特定の点線のシーケンスとして関連付けることができます。 ただし、そのような点の位置を完全に正確に計算することはできないため、目的の位置を決定するのに役立ついくつかの事前に提供されたマークをディスクに設定する必要があります。 このようなマークの作成は、フォーマットと呼ばれます(大まかに言えば、ディスクをトラックに分割し、セクターをクラスターに結合します)。

フォーマットに関するハードディスクの論理構造と動作原理

HDDの論理構成については、ここでフォーマットが最初になります。ここでは、低レベル(物理)と高レベル(論理)の2つの主要なタイプが区別されます。 これらの手順がなければ、ハードドライブを動作状態にすることについて話す必要はありません。 新しいハードドライブを初期化する方法については、別途説明します。

低レベルのフォーマットでは、HDDの表面に物理的な影響があり、トラックに沿ってセクターが作成されます。 ハードディスクの動作原理が、作成された各セクターが、セクター自体の番号、それが配置されているトラックの番号、およびサイドの番号を含む独自のアドレスを持つことであるのは不思議です。プレートの。 したがって、直接アクセスを編成する場合、同じRAMが特定のアドレスに直接アクセスし、表面全体で必要な情報を検索しないため、速度が達成されます(これは最も重要なことではありませんが)。 低レベルのフォーマットを実行すると、すべての情報が完全に消去され、ほとんどの場合、復元できないことに注意してください。

もう1つは、論理フォーマットです(Windowsシステムでは、これはクイックフォーマットまたはクイックフォーマットです)。 さらに、これらのプロセスは、同じ原則に従って動作するメインハードドライブの一部の領域である論理パーティションの作成に適用できます。

論理フォーマットは、主にシステム領域に影響します。システム領域は、ブートセクターとパーティションテーブル(ブートレコードブートレコード)、ファイルアロケーションテーブル(FAT、NTFSなど)、およびルートディレクトリ(ルートディレクトリ)で構成されます。

情報はクラスターを介していくつかの部分でセクターに書き込まれ、1つのクラスターに2つの同一のオブジェクト(ファイル)を含めることはできません。 実際には、論理パーティションを作成すると、いわばメインシステムパーティションから分離され、その結果、エラーや障害が発生したときに、そこに格納されている情報が変更または削除されることはありません。

HDDの主な機能

一般的に、ハードドライブの原理は少し明確なようです。 次に、最新のハードドライブのすべての可能性(または欠点)の全体像を示す主な特性に移りましょう。

ハードドライブの動作原理と主な特性は完全に異なる場合があります。 私たちが話していることを理解するために、今日知られているすべての情報ストレージデバイスを特徴付ける最も基本的なパラメータを強調しましょう。

  • 容量(ボリューム);
  • 速度(データアクセス速度、情報の読み取りと書き込み);
  • インターフェース(接続方法、コントローラータイプ)。

容量は、ハードドライブに書き込んで保存できる情報の総量です。 HDD業界は急速に発展しているため、今日では2TB以上の容量のハードドライブがすでに使用されています。 そして、信じられているように、これは限界ではありません。

インターフェイスは最も重要な機能です。 これは、デバイスがマザーボードにどのように接続されているか、どのコントローラーが使用されているか、読み取りと書き込みがどのように実行されるかなどを正確に決定します。主で最も一般的なインターフェイスは、IDE、SATA、およびSCSIです。

IDEインターフェイスを備えたドライブは高価ではありませんが、主な欠点は、同時に接続されるデバイスの数が限られていること(最大4つ)とデータ転送速度が低いことです(UltraDMAダイレクトメモリアクセスまたはUltraATAプロトコル(モード2およびモード2およびモード2)がサポートされています。4)信じられているように、それらを使用すると、読み取り/書き込み速度を16 Mb / sのレベルまで上げることができますが、実際には速度ははるかに遅くなります。 UDMAモードでは、特別なドライバーをインストールする必要があります。理論的には、このドライバーは完全に提供されている必要があります。 マザーボード.

ハードドライブの動作原理と特性について言えば、無視することはできず、IDEATAバージョンの後継です。 このテクノロジーの利点は、高速Fireware IEEE-1394バスを使用することにより、読み取り/書き込み速度を最大100 Mb/sまで上げることができることです。

最後に、SCSIインターフェースは、前の2つと比較して最も柔軟性があり最速です(書き込み/読み取り速度は160 Mb / s以上に達します)。 しかし、これらのハードドライブはほぼ2倍高価です。 ただし、同時に接続されるストレージデバイスの数は7〜15であり、コンピューターの電源を切らずに接続でき、ケーブルの長さは約15〜30メートルになります。 実際、このタイプのHDDは、主にユーザーのPCではなく、サーバーで使用されます。

転送速度とI/Oスループットを特徴付けるパフォーマンスは、通常、転送時間と転送されるシーケンシャルデータの量で表され、Mbpsで表されます。

いくつかの追加オプション

ハードドライブの動作原理とその動作に影響を与えるパラメータについて言えば、デバイスのパフォーマンスや寿命にさえ影響を与える可能性のあるいくつかの追加の特性を無視することはできません。

ここで最初に回転速度があります。これは、目的のセクターの検索と初期化(認識)時間に直接影響します。 これは、いわゆる隠れシーク時間です。これは、目的のセクターが読み取りヘッドに変わる間隔です。 今日、ミリ秒​​単位の滞留時間で毎分回転数で表されるスピンドル速度にいくつかの標準が採用されています。

  • 3600 - 8,33;
  • 4500 - 6,67;
  • 5400 - 5,56;
  • 7200 - 4,17.

速度が速いほど、セクターの検索に費やされる時間が少なくなり、物理的には、必要なプラッター位置決めポイントがヘッドに設定されるまでディスクの回転に費やされる時間が少なくなることは簡単にわかります。

もう1つのパラメータは、内部転送速度です。 外側のトラックでは、それは最小限ですが、内側のトラックに徐々に移行するにつれて増加します。 したがって、頻繁に使用されるデータをディスクの最速の領域に移動する同じデフラグプロセスは、読み取り速度の速い内部トラックにデータを移動することに他なりません。 外部速度は固定値であり、使用するインターフェースに直接依存します。

最後に、重要なポイントの1つは、ハードディスクに独自のキャッシュメモリまたはバッファがあるという事実に関連しています。 実際、バッファの使用に関するハードディスクの動作原理は、RAMまたは仮想メモリにいくぶん似ています。 キャッシュメモリの量が多いほど(128〜256 KB)、ハードドライブの動作が速くなります。

HDDの主な要件

ほとんどの場合、ハードドライブに適用されるほど多くの基本的な要件はありません。 主なものは、長い耐用年数と信頼性です。

ほとんどのHDDの主な標準は、約5〜7年の耐用年数で、動作時間は少なくとも50万時間と考えられていますが、ハイエンドハードドライブの場合、この数値は少なくとも100万時間です。

信頼性に関しては、S.M.A.R.T。セルフテスト機能がこれを担当し、ハードドライブの個々の要素のステータスを監視し、継続的な監視を実行します。 収集されたデータに基づいて、将来起こりうる誤動作の出現についての特定の予測さえ形成することができます。

言うまでもなく、ユーザーを除外してはなりません。 したがって、たとえば、HDDを使用する場合、最適なものを観察することが非常に重要です。 温度レジーム(摂氏0〜50±10度)、ハードドライブの衝撃、衝突、落下、ほこりやその他の小さな粒子の侵入などを避けます。ちなみに、多くの人は同じタバコの煙の粒子が読み取りヘッドとハードドライブの磁気面と人間の髪の毛との間の距離は約2倍(5〜10倍)です。

ハードドライブを交換するときのシステムの初期化の問題

ここで、何らかの理由でユーザーがハードドライブを変更した場合、または追加のハードドライブをインストールした場合に、どのようなアクションを実行する必要があるかについて簡単に説明します。

このプロセスについては完全には説明しませんが、メインステージについてのみ説明します。 まず、ハードドライブを接続し、BIOS設定で新しいハードウェアが検出されたかどうかを確認する必要があります。ディスク管理セクションで、ブートエントリを初期化して作成し、単純なボリュームを作成し、それに識別子(文字)を割り当ててフォーマットします。ファイルシステムを選択できます。 その後、新しい「ネジ」は完全に作業の準備が整います。

結論

実際、それは、最新のハードドライブの機能と特性の基本に簡単に関係するすべてです。 外付けハードドライブの動作原理は、固定HDDに使用されるものと実質的に同じであるため、ここでは基本的に考慮されていません。 唯一の違いは、追加のドライブをコンピューターまたはラップトップに接続する方法だけです。 最も一般的なのは、マザーボードに直接接続されているUSBインターフェイスを介した接続です。 同時に、最大のパフォーマンスを確保したい場合は、もちろん、外付けHDD自体がサポートしていれば、USB 3.0標準(内部のポートは青色)を使用することをお勧めします。

残りの部分については、多くの人が、あらゆるタイプのハードドライブがどのように機能するかを少なくとも少しは理解しているようです。 おそらく、学校の物理学のコースからでも、上記で与えられたトピックが多すぎるかもしれませんが、これがなければ、HDDの製造とアプリケーションに固有のすべての基本原理と方法を完全に理解することはできません。

ハードディスク組織

序章

1.ハードドライブの構成

1.1。 デバイスをブロックする

1.2。 ハードドライブデバイス

1.2.1。 HDDの物理座標:シリンダー、ヘッド、セクター

1.2.2。 ロジックブロック

1.2.3。 ハードドライブを操作するためのBIOS機能

1.2.4。 大型ドライブでのBIOSの問題

2.3。 ハードディスクの構造図

1.3.1。 物理デバイスの構造図

1.3.2。 情報表現の抽象化のレベルの階層

1.4。 ハードドライブのフォーマット

1.4.1。 物理フォーマット(低レベル)

1.4.2。 ブールフォーマット

1.5。 セクション

1.5.1。 一次セクション

1.5.2。 追加の(拡張された)セクション

1.5.3。 追加セクションのサブセクション

1.5.4。 パーティションのサイズ変更。

1.6。 ファイルシステム

1.6.1。 FAT16

1.6.2。 FAT32

1.6.3。 NTFS

1.6.4。 HPFS

1.6.5。 ext2fs

1.7。 ファイルシステムのマウント

1.7.1。 命名順序を駆動する

1.8。 オペレーティングシステムの起動順序

1.8.1。 マスターブートレコード(MBR)

1.8.2。 OSブートブロック(BR)

1.9。 結論

序章

最新のハードドライブはかなり複雑なデバイスです。 情報の読み取りと書き込みの速度を上げ、記録密度を高め、信頼性、消費電力、およびノイズに対する要件の増加に対応するという現在の傾向は、情報ストレージ組織技術とHDD製造技術を複雑にすることによって達成されます。

1.ハードドライブの構成

1.1。 デバイスをブロックする

ランダムアクセスの可能性がある大量の情報を保存するためのデバイスには、1つあります特徴:キャリアの容量が増えると、情報の検索時間が長くなります。 このような状況のため、各データアクセス操作を分割すると便利です。 2段階で

メディア上で情報が掲載されている場所を見つける

情報へのアクセス

検索ステップが 機械的駆動によるの場合、その実行時間は1バイトの読み取りまたは書き込みの時間を数桁超えます。

したがって、 作業効率を向上させるデバイスはブロックになります。検索操作ごとに、データの十分に大きな部分が読み取られたり書き込まれたりします。これはブロックと呼ばれます。 したがって、情報へのアクセスは任意にアドレス指定可能なブロックによって実行され、デバイス自体はブロックデバイスと呼ばれます。 ハードドライブは一種のブロックデバイスです。 情報のブロックサイズは、最終的にすべてのハードドライブの標準となり、512バイトになりました。 たとえば、40GBディスクのブロック数は約8000万です。

1.2. ハードドライブデバイス

最新のハードドライブは、回転するスピンドルに取り付けられた1つまたは複数の磁気コーティングされたディスクで構成されています。 各ディスクの各表面に沿って、磁気ヘッドが同期して移動し、情報の読み取りと書き込みを提供します。 このシステム全体は、磁性体とコンピュータのメモリの間で情報を効率的に転送することを保証する内蔵の電子機器によって制御されます。

1.2.1。 HDDの物理座標:シリンダー、ヘッド、セクター

物理レベルでは、ディスクには3つの自由度があり、情報が書き込まれたり読み取られたりする場所(3つの座標)を示します。

シリンダー。 磁気コーティングされたディスクが回転すると、ヘッドはプラッターに対して円を描くように移動します。 さらに、それらはすべてディスクの中心から一定の距離にあります。 中心から同じ距離にあるディスクのすべての表面上のヘッドのこれらの丸い軌道のセットは、円柱と呼ばれます。 磁気ヘッドは互いにしっかりと接続されているため、同期して移動し、同時に同じシリンダー内に配置されます。 特定のシリンダーにヘッドを取り付けるには、ヘッドのブロックを動かす必要があります。これには、1.20ミリ秒のオーダーの時間が必要です。

ヘッド。 複数のサーフェスが提供します 追加の機会選択。 切り替えは機械部品を使わずに行われるため、ヘッドからヘッドへの移行に時間がかかりません。

セクター。 情報の1つのブロックは、地理的に小さな円弧に対応する比較的小さなデータです。 中心から見た場合、そのような円弧は1つの角度セクターに配置されます。 厳密に言えば、これは最近のディスクには当てはまりません。半径が大きくなると円周が大きくなり、1ビットのサイズはどこでも同じだからです。 したがって、より多くのビットが長いトラックに収まり、したがってより多くのデータブロックに適合します。 トラック上のセクターを選択するために、ヘッドを移動する必要はありませんが、セクターのアドレスマークが読み取り/書き込みヘッドに来るようにプレートが回転するのを待つ必要があります。 毎分約5.7千回転のディスク回転速度では、セクターの待機時間は約8〜10ミリ秒です。 この時間はヘッドを動かす時間よりもさらに長いですが、ヘッドを動かした後もセクターマークを検索する必要があるため、情報を検索する場合はシリンダーの変更が最も長い操作です。

最初のハードドライブには、シリンダー、ヘッド、セクターの数が比較的少なく、さらに、今日のようなスマートコントローラーがありませんでした。 したがって、ブロックは、シリンダー、ヘッド、セクターの3つの番号を示すことによって対処され、これらの番号はデータの物理的な構成に対応していました。 時間が経つにつれて、これはもはや当てはまりませんでした。 に異なるシリンダー位置した 異なる数のセクター。 最新のディスクのコントローラー自体が、コンピューターに報告される仮想ディスクのジオメトリを決定します。 したがって、このような3座標アドレス指定の値は失われ、この方法は徐々に消滅し、互換性の問題のみが残ります。

かなり頻繁にあなたは用語を聞くことができますブロックおよびセクター用語 。 どちらも、ハードドライブの場合は512バイトのデータのチャンクを示します。 ただし、「ブロック」という言葉はディスク上のデータの論理構造を反映していますが、「セクター」という言葉はディスクの物理的構造の一部のみを反映しています。統合されたコントローラー。 このことから、この単語を使用する方が正しいということになります。ブロック 。

1.2.2。 ロジックブロック

最新のハードドライブはすべて、新しい、使いやすい外観に移行しました。アドレス指定-線形。 各ブロックは、単一の番号、つまり独自の番号によって特徴付けられます。 現代の標準 ATA-5 ディスク番号を格納するために28ビットを割り当てます、これにより、268435456ブロック、つまり約137.4ギガバイトをアドレス指定できます。

番号の解釈は、内蔵のハードディスクコントローラに隠されています。 それにもかかわらず、ハードドライブメーカーによって一般的に受け入れられているいくつかの規則があり、それに従って論理ブロック番号はシリンダー、ヘッド、およびセクター番号に変換されます。

<блок> = (<цилиндр>* NUMBER_HEADS +<головка>)* NUM_SECTORS +<сектор> - 1

NUMBER_HEADS BIOSから返されたハードドライブヘッドの数

NUM_SECTORS BIOSによって返されたハードディスクセクターの数

<сектор> 範囲[1からのセクター番号。 NUM_SECTORS]

<головка> 範囲[0からのヘッド番号。 NUM_HEADS-1]

<цилиндр> 範囲[0からのシリンダー番号。 NUM_CYLINDERS-1]

座標変更シーケンス線形アドレス指定による情報の配置:ブロック番号を大きくすると、セクター番号、ヘッド番号、シリンダー番号の順に変更されます。 したがって、シリンダーは隣接するデータブロックの最大の領域です。 このため、円柱は、ほとんどの標準ツール(fdisk)で作成されたときにパーティションが整列される境界です。

リニアアドレッシングはより高度ですが、互換性の問題に。それは数年続いています。 基本的に、これらの問題は、古いマザーボードでの新しいハードドライブの使用、および さまざまなインストール BIOS。これについては以下で説明します。

1.2.3。 ハードドライブを操作するためのBIOS機能

基本入出力システム(BIOS)は、ハードドライブと通信する機能をプログラムに提供します。 このための特別なソフトウェア割り込みがあります、 INT13h。

BIOSの主な利点は、プログラムに、あらゆるタイプのハードドライブと対話するための標準インターフェイスが提供されていることです。 最初の時 BIOSバージョン、ハードドライブは現在ほど標準化されていないため、I/O機能の実装は異なるはずでした。 オペレーティングシステム(OS)のロードは、初期段階でBIOSが直接参加することで発生します。このため、OSのロードは標準的な方法で開始されます。 これは、BIOSの積極的な役割にも影響します。

ディスクの操作に関するBIOSの主な欠点は、次の機能です。

1.遅すぎる。 ほとんどのコンピューターのBIOSは、繰り返しのアクションに多くの時間を費やしています。 さらに、ハードドライブの高度な診断を常に実行するとは限りません。その結果、ハードドライブでの作業は、パフォーマンスの観点から最適なモードで実行されません。 したがって、1秒あたり10メガバイト以上のオーダーの最新の書き込み読み取り速度では、BIOSを介した読み取り速度はわずか2〜2.5 Mb/sです。

2.厳密に一貫しています。 デバイス自体が独立して機能できる場合でも、一方のディスクにアクセスできるのは、もう一方のディスクへのアクセスが完了した後のみであるため、システムの効率が低下します。

3.20ビットのメモリアドレスしかありません。 BIOS機能は元々次のように設計されていました Intelプロセッサ 1メガバイトのメモリしかアドレス指定できない8086。 したがって、BIOSは最新のコンピュータの機能を完全に実現することはできません。

4.ディスクブロックのアドレス指定に制限があり、8GBの境界を超えて配置されたOSのロードで問題が発生します。 最新のBIOSバージョンには、最新のOSでこの問題を解決するのに役立つ拡張機能があります。 ただし、この拡張機能は古いBIOS機能と互換性がないため、古いBIOSインターフェイスを使用するDOSなどの古いオペレーティングシステムは、8GBを超えることはできません。

最新のオペレーティングシステムのこれらの欠点を克服するには、ハードドライブを操作するための独自のドライバーを使用します。 ただし、初期段階では、OSカーネルがまだメモリにロードされておらず、ディスクを操作するためのドライバがない場合、BIOSはシステムを起動するための唯一の統一された方法を提供します。

BIOS機能は、ディスクに一意の番号を割り当てることにより、ディスクへのアクセスを提供します。 ディスク番号には、80〜FFhの範囲の番号を含む1バイトが割り当てられます(番号00h〜7Fhはフロッピーディスクに対応します)。 その設定内で、BIOSはドライブにC、D、Eの文字で名前を付けます。これは、80h、81h、82h、の数字に対応します。 これらの文字は物理ドライブに対応しており、オペレーティングシステムから見た論理ドライブ文字と混同しないでください。

1.2.4。 大型ドライブでのBIOSの問題

標準のBIOS機能は、純粋にシリンダー、ヘッド、およびセクターの観点からディスクを処理します。 読み取りおよび書き込み関数のすべてのパラメーターは、プロセッサー・レジスターで渡され、

-シリンダー番号あたり10ビット(1024シリンダー)。

-ヘッド番号ごとに8ビット(256ヘッド)があります。

-セクター番号ごとに6ビット(63セクター)。

定義された組み込みハードドライブコントローラの最初のATA標準

ハードディスクパラメータの次の範囲:

-シリンダー番号あたり16ビット(65536シリンダー)。

-ヘッド番号ごとに4ビット(16ヘッド)があります。

-セクター番号あたり6ビット(64セクター)。

これらの要件を組み合わせて適用した結果、BIOSによってアドレス指定されるディスク容量は504MBに制限されます。 より大きなディスクの出現により、ディスクスペースの使用に関する問題が発生しました。 これらの問題を解決するために、BIOSにはさまざまなモードが実装されています。放送 ディスクアドレス。

ノーマルモード 。 これは実際には504MBしか表示されないモードです。 このモードでは、シリンダー番号、ヘッド、セクターのすべての値が変更されずにハードディスクコントローラーに転送されます。 ほとんどの情報が利用できないため、このモードは新しいディスクでは使用できません。

LARGEモード 。 このモードは、高度なNORMALモードです。 BIOSはヘッドとシリンダーを変換し、それによってディスクの論理ジオメトリを変更します。 BIOSで使用可能なヘッドの数は、ディスク自体の可能な最大ヘッド数を16倍超えるため、BIOSは論理シリンダーの数を2、4、8倍減らすと同時に、論理ヘッドの数を増やします。同じ回数で。 変換係数を記憶し、ディスクにアクセスするたびに、コントローラーへのコマンドが形成される直前に、逆変換を実行します。 したがって、変換を使用して、ディスクのより多くのブロックをアドレス指定できます。

LBAモード 。 このモードでは、線形ブロック番号がコントローラーに送信されます。 このおかげで、BIOSは論理ジオメトリを初期のディスクジオメトリに調整する必要がなく、単に存在しません。 したがって、BIOSは単にヘッド数を255に設定します。これは可能な最大値であり、最大8GBのアドレス指定が可能です。

さまざまなモード、一般的に言えば、ソフトウェアがトラックあたりのセクター数とヘッド数に関連付けられている場合、相互に互換性がありません。 線形アドレス指定のみがユニバーサルのままです。 これらの理由から、ディスクのフォーマット後にBIOS設定でディスクモードを変更することは強くお勧めしません。 そうしないと、単に読み取られない可能性があります。

2.3。 ハードディスクの構造図

ハードディスクをより効率的に使用するには、ハードディスクの内部構造を理解する必要があります。その最も有用な側面は、ディスクの機能ブロックの物理的な構成と、データの表示における抽象化のレベルです。

オペレーティングシステムをディスクに配置するときに、その構造の特徴を考慮に入れると、ファイルシステムのパフォーマンスが向上し、その結果、システム全体のパフォーマンスが向上します。

1.3.1。 物理デバイスの構造図

次の図に、ハードドライブのブロック図を示します。 システムの中央処理装置は、高速周辺機器を接続するための標準インターフェースを介してハードドライブと通信します。 最新のハードドライブでは、情報の書き込みと読み取りのプロセスのすべての制御スキームは、組み込みのハードドライブコントローラーに集中しています。 プロセッサはI/O操作を実行するためにコマンドを送信し、コントローラは割り込みを発行して操作の完了ステータスを返すことにより、実行について通知します。

統合コントローラーヘッドの動き、パーキング、および磁気ディスクに直接情報を書き込むプロセスを完全に管理します。 ただし、ドライブとスピンドルは機械部品であるため、ディスク自体の動的特性はかなり劣っています。つまり、電子機器に比べて非常に低速です。 磁気プラッターでの書き込みまたは読み取りのプロセスが始まる前に、磁気ヘッドが記録サイトの上に来るまで、かなり長い待機時間が経過します。 この時間は、記録時間自体よりも2〜3桁長くなる可能性があるため、最近のすべてのディスクには特別なバッファメモリが装備されています。

タスク バッファメモリ。 高い スループット十分な容量があるため、ディスクへの突然のまれな書き込みを即座に吸収できます。 ヘッドを新しいトラックに配置すると、最近のコントローラーはトラック全体をバッファーメモリに先読みし始めることがよくあります。これにより、通常、隣接する複数のディスクブロックが読み取られる可能性が高いため、後続の読み取り中に遅いメカニズムを待つ必要がなくなります。 上記に加えて、このメモリは通常のディスクキャッシュとして機能し、同じファイルが複数回アクセスされるときにディスクアクセスを高速化するためにRAMの量から割り当てられます。

米。 1ハードディスクのブロック図

ハードドライブのパフォーマンスを大幅に低下させる主な要因は、ヘッドの配置です。 このプロセスは、CPUへの負荷が最も少なくなります。

ポジショニングなしのストリーミング読み取り中のプロセッサ負荷は、ポジショニングありの場合よりも高くなります。 情報交換は、2桁または3桁の位置付けのために弱まります。 ただし、プロセッサの負荷を軽減しても、ほとんどのアプリケーションでは、これはデータの追加待機につながるだけです。 したがって、このようなハードドライブ上の情報の編成に努めて、ポジショニングが可能な限り必要とされないようにすることは論理的です。

磁気ディスクのトラックの長さは異なりますが、磁気ディスク上の1ビットの情報のサイズは一定の長さです。 磁気プレートの直線回転速度も、トラックによって異なります。 したがって、ディスクの回転中心から離れた最初のトラックでは、最後のトラックよりも多くのブロックを配置でき、同時に、これらのブロックの読み取り速度が最も速くなります。

同じ理由で、最初のトラックでポジショニングが必要になることはあまりありません。 その結果、最初の領域で作業するときの平均ディスクパフォ​​ーマンスは他の領域よりも高くなるため、これらのトラックに最も負荷の高いデータを配置する方が収益性が高くなります。たとえば、スワップパーティション、頻繁にOSと呼ばれるパーティションなどです。プログラムなど

1.3.2。 情報表現の抽象化のレベルの階層

オペレーティングシステムとストレージメディアが進化するにつれて、 階層化システムユーザーデータの整理。 これは、ハードディスクコントローラのオープンスタンダードと、コンピュータと対話するためのそれらのプロトコルの導入、データ自体の構造の複雑さ、手頃なRAIDテクノロジの出現、およびその他の理由によるものです。 このセクションでは、さまざまなレベルの抽象化に関する情報を提供します。

レベルスキームを下の図2に示します。

レベル1 生です ディスクスペース、これには過剰な数のデータブロックが含まれており、不良なデータブロックが存在する可能性があります。 これらは、磁気媒体に直接配置されたブロックです。 このレベルでは、独自のアドレスマークしかありませんが、一部のブロックに障害がある可能性があるため、連続した番号付けはまだできません。 このレベルでの作業は、ハードディスクコントローラに完全に隠されており、ユーザーは利用できません。

レベル2 データブロックのアドレス可能なスペースを表します。 このレベルでは、ディスク容量はデバイスデータシートで宣言されているメディア容量に対応します。 ブロックアドレススペースに不良ブロックが含まれなくなったため、ブロックには一意の行番号が付けられます。 これらの番号は、読み取り/書き込み操作のためにハードディスクコントローラに割り当てられます。 通常、ディスクのアドレス可能な容量は、プラッタ領域と情報ストレージ密度から計算して、生の容量の70〜90%です。

レベル3 重複しないパーティションに分割されたハードディスクのアドレス空間を表します。 パーティションは、連続したブロックで構成されているという点で、ディスク全体とまったく同じです。 この構成のおかげで、セクションを説明するには、セクションの開始とその長さをブロックで示すだけで十分です。

ディスクのセクションへのパーティション分割はプログラムで実行され、ハードディスクの最初のブロックにあるパーティションテーブルを使用して記述されます。 上のセクション 与えられたレベルは実際の物理パーティションであり、それらのアドレスは物理デバイス上のアドレスです。

レベル4 仮想パーティションが含まれています。 仮想パーティションは、連続したアドレス空間パーティションの概念を一般化しますが、1つ以上の物理ディスク上の複数の物理パーティションから構築できます。 オペレーティングシステムでは、このようなパーティションは、仮想パーティションの論理ブロックアドレスを使用して、実際にアクセスされているブロック番号とディスク番号を計算する単純なフィルタリングレベルを使用して簡単に実装できます。 単純なデスクトップシステムでは、このレベルは単に存在しません(つまり、すべての仮想パーティションは常にレベル3の物理パーティションと同一です)が、RAIDテクノロジを使用するシステムでは、仮想パーティションにより、個々のデバイスの制限を克服するための比較的安価な手段が可能になります。アクセス速度と情報ストレージの信頼性の向上。

レベル5 パーティションに配置されたファイルシステムが含まれています。 ほとんどの場合、パーティションにはファイルシステムが1つだけ含まれています。 唯一の例外は、おそらく、ファイルシステムをまったく持たないスワップパーティションと、複数のファイルシステムを含むことができる拡張パーティションです。 最初の2つのレベル。 ハードウェアの場合、ユーザーが変更することはできません。 残りのレベルはプログラムでカスタマイズできます。

米。 .2ハードドライブの階層化された組織

1.4。 ハードドライブのフォーマット

情報の保存を整理するために、抽象化にはいくつかのレベルがあります-ディスクレイアウト(フォーマット)。 物理フォーマットと論理フォーマットを区別します。

1.4.1。 物理フォーマット(低レベル)

物理フォーマットは、セクション2.3.2で説明されているディスク階層の最初の2つのレベルで発生し、ディスク上にセクターアドレスマークを作成し、チェックサムと特別な同期フィラーをセクター間に配置して、コントローラー自体が来るビットストリームを理解できるようにします。ディスクから。 このタスクはメーカーによって処理されるため、ユーザーは通常、低レベルのフォーマットを処理する必要はありません。 ディスクが正しく使用されていれば、低レベルのフォーマットはまったく必要ありません。 ただし、ヘッドのバランスが崩れる可能性があるため、情報が失われ、低レベルのフォーマットによってディスクの容量が復元される可能性があります。

最新のディスクの容量、したがって記録密度は非常に高いため、欠陥のない理想的な磁気プラッターを見つけることは非常に困難です。 ただし、そのようなプレートが見つかった場合でも、動作中に欠陥が発生する可能性があります。 欠陥のないプレートを作成するよりも、容量の大きいプレートを作成する方がはるかに簡単です。 このため、最近のディスクには、ブロック転送テーブルとスペアブロックの特別なリストが組み込まれています。 スペアブロックは通常のブロックと同じようにフォーマットされますが、コンピューターのエンドユーザーの明示的なアドレスはありません。 ディスクに統合されたコントローラーが特定のブロックの書き込み中にエラーを検出すると、予約リストから選択された新しい場所にそのブロックをリダイレクトします。 この場合、バックアップユニットは故障したユニットの番号を受け取ります。

最新のハードドライブコントローラーは SMARTテクノロジー 、その本質は次のとおりです。 コントローラは、リダイレクトされたブロックの数と、開始以降に行われたディスクの回転数を追跡します。 ディスクは一定の速度で回転するため、回転数はディスク時間の単位になります(ディスクには時計が内蔵されていません)。 このデータに基づいて、予備の枯渇率を推定し、ディスク障害の瞬間について予測することができます。 したがって、ドライブを使用すると、障害間の時間をインテリジェントに制御できます。 オペレーティングシステムは、ハードディスクのパラメータの変化のダイナミクスを監視し、情報を保存できるときに、ディスクの障害についてユーザーに事前に警告することができます。

スペアブロックを使用するとディスクのパフォーマンスが向上しますが、スペアブロックは、コントローラーが不良ブロックを指している場合にのみアクティブ化されることに注意してください。 この場合、書き込みの場合、情報が失われることはありませんが、読み取りの場合、欠落している情報をバックアップブロックから復元することはできません。 これは、より多くの潜在的なエラーにつながります 高いレベル、ファイルが破損し、ソフトウェアがクラッシュする可能性があります。

1.4.2。 ブールフォーマット

より高いレベルでは、ドライブは論理的にフォーマットされている必要があります。 論理フォーマットは階層のレベル5で発生し、ファイルシステムを作成することで構成され、それによって情報のより高度な編成を実現します。 ファイルにはシンボリック名が付いているため、プログラムとユーザーは情報を構造化し、情報をより迅速に検索し、情報へのアクセスのセキュリティを制御できます。

フォーマットは、一般に、DOSまたはWindowsのフォーマットユーティリティ、またはUNIXのdinitのようなユーティリティによって実行される操作と呼ばれます。 これらのユーティリティは、ディスクブロックの保守性をチェックし、このデータに基づいて、情報の保存に適した空きパーティションブロックのマップを作成します。 さらに、ルートディレクトリといわゆるスーパーブロックを作成します。このスーパーブロックには、ファイルシステムでの作業に必要なすべての情報が含まれています。 スーパーブロックは通常、パーティションの最初のブロック(OSローダーと一緒に)または別のブロックに配置され、その位置はパーティションの先頭に対して固定されています。 オペレーティングシステムが起動すると、ファイルシステムドライバはスーパーブロックをメモリに読み込みます。 そこから取得した情報に基づいて、ルートディレクトリのディスクの場所とすべてのユーザーデータを計算します。 ディスクへのそれ以上のアクセスは、OSファイルサブシステムを介してプログラムによって行われます。

フォーマット中に、パーティションにシンボル名(ボリュームラベル)を割り当てることができます。 これは、他の論理ドライブの中でファイルシステムの中から論理ドライブをより簡単に識別するのに役立ちます。

論理フォーマットはディスクパーティションに適用されます。 パーティション上に作成されたファイルシステムは、通常、パーティション自体で識別されます。 ただし、これは完全に真実ではありません。 実際には、ディスク上のパーティションの場所に関する情報は、MBRにあるパーティションテーブルに関係なく、スーパーブロックに保存されます。 フォーマットプロセス中にスーパーブロックが作成されると、フォーマットされたパーティションの位置と長さに関するパーティションテーブルからの情報がスーパーブロックに転送されます。 これは、オペレーティングシステムが、パーティションテーブルからではなく、スーパーブロックからパーティションを操作するためのすべてのデータを取得するためです。 したがって、テーブルのパーティションパラメータを変更しても、ファイルシステムはこの変更を認識しません。 したがって、パーティションテーブルを検索用のポインタのシステムと考えると、パーティションテーブルの内容がファイルシステムに対応していない可能性があります。 必要なファイルまたは新しいものを記録するための新しい場所。

1.5。 セクション

オペレーティングシステムを整理するために、ブロックのディスクアドレス空間はパーティションと呼ばれる部分に分割されます。 パーティションは、連続したブロックで構成されているという点で、ディスク全体とまったく同じです。 この構成のおかげで、セクションを説明するには、セクションの開始とその長さをブロックで示すだけで十分です。 物理パーティションのレベル(階層のレベル3)は、歴史的な発展の過程で発生しました。 最初のハードドライブにはパーティションがありませんでした。

ハードディスクは、ファイルシステムが1つしかないという点でフロッピーディスクと同じでした。 当時、これは実際、PC用の唯一のファイルシステムはFAT12でした。 4096クラスター専用に設計されており、2〜32 MBのディスクアドレススペースをカバーできましたが、ハードディスクは絶えず改善されていたため、すぐに問題が発生しました。 現在の状況で最も簡単な方法は、疑似物理ディスクの発明でした。 セクション。 各パーティションには、1つのFAT12ファイルシステムを含めることができます。 ただし、これには、パーティションごとにディスク上の位置を指定し、パーティション内のブロックの論理アドレスを絶対ブロックアドレスに変換する必要がありました。 この移行の時期は、FATファイルシステムのスーパーブロックの構造の複雑さによって判断できます。 これは、1983年の夏の終わりに対応しているように見えるDOS2.13以降のどこかで発生しています。

パーティションテーブル。パーティションの出現により、パーティションテーブルが発明されました。 パーティションテーブルは、ディスク上の最大4つのパーティションを記述します。 このテーブルをディスクの最初のブロックに配置しました。これは、起動プロセス中にテーブルに簡単にアクセスできるようにする唯一の方法であったためです。 この構造の複雑化の後、ディスクの最初のブロックはマスターブートレコードと呼ばれました( MBR-マスターブートレコード)。

パーティションテーブルを4つのパーティションのみに制限すると、時間の経過とともに不便になります。 このため、セクションがプライマリセクションと拡張セクションに分割されたように見えました。 現在、ハードドライブをパーティションに分割することは、標準的かつ必須の手順です。 パーティションを作成せずにディスクを使用することはできません。 ディスクを複数のパーティションに分割する必要があるのは、次の理由によるものです。

-1つのハードドライブに複数のOSをインストールする。

-ディスクスペースの使用効率を向上させます。

-さまざまなユーザーのファイルの可視性を管理します。 (サードパーティユーザー、ウイルス、およびプログラムの障害に対する保護);

-さまざまな種類のデータを分離して、アーカイブとリカバリをより簡単かつ迅速に行います。

パーティションはfdiskプログラムによって作成され、その名前はほとんどすべてのオペレーティングシステムで標準となっています。 たとえば、次のようなユーティリティパーティションマジック SyMonには、従来のfdiskの機能をはるかに超える、独自のパーティション分割およびパーティション分割機能が含まれています。

1.5.1。 一次セクション

プライマリパーティションは、記述子がMBRに直接存在するため、そのように名前が付けられています。 プライマリパーティションは、ファイルシステム、および特別なスワップパーティションと拡張パーティションを表します。 コンピューターの起動は、すべてのMicrosoftシステムおよび他のメーカーのほとんどのオペレーティングシステムのプライマリパーティションからのみ発生します。

1.5.2。 追加の(拡張された)セクション

追加のパーティションは、特別な種類のプライマリパーティションです。 ファイルシステムは直接含まれていません。 代わりに、拡張パーティションテーブルを格納します。 おおよそのトポロジーを図に示します。

米。 3 内部組織拡張セクション

拡張パーティションの最初のブロックには、MBRパーティションテーブルと同様のパーティションテーブルが格納されます(その形式はMBRとまったく同じです。セクション2.8.1を参照してください)。 このテーブルの最初のエントリは、このパーティションテーブル自体の位置に関連するサブセクションを記述し、2番目のエントリはパーティションを記述しませんが、次の拡張パーティションテーブルへの(ディスク全体の先頭に対する)絶対リンクです。 多数 システムプログラムそれが必要です:

-各パーティションテーブルは、最初のシリンダーブロックに配置されていました。

-各拡張パーティションテーブルには、1つのパーティション記述子と次の拡張パーティションテーブルへの1つの参照のみが含まれていました。

-拡張された後続の各パーティションテーブルは、前のパーティションテーブルよりもディスクの先頭から離れた場所に配置されていました。

-拡張パーティションテーブルに記述されているセクションは、その直後、通常は次のトラックの先頭にあります。

したがって、拡張セクションは、その中に完全に含まれるセクションのチェーンを記述します。 ただし、最初のパーティションのないこのチェーンは、サブセクションが少ない拡張パーティションとして扱うことができ、残りのサブセクションの直前に拡張パーティションテーブルを変更する必要はありません。

1.5.3。 追加セクションのサブセクション

追加セクションのサブセクションは、プライマリセクションと完全に類似しています。 それらはファイルシステムを含むことができ、スワッピングに使用できます。 それらの前に拡張パーティションテーブルがあり、その下にトラック全体が予約されているため、シリンダー境界に完全に位置合わせすることはできません。 したがって、それらはディスクの最初のトラックの最初のセクターから始まります。

拡張パーティションのサブセクションと論理ドライブの間には混乱があります。 混乱はfdiskユーティリティから来ています。 このユーティリティは、拡張パーティション内にサブパーティションを作成し、それらに論理ドライブという名前を付けます。 ただし、論理ドライブは、FAT、NTFS、またはHPFSファイルシステムを含むフォーマットされたパーティションです。つまり、オペレーティングシステムが理解できます。 しかし、すべてのサブセクションにそのようなシステムだけを含める必要があるわけではありません。

1.5.4。 パーティションのサイズ変更。

パーティションサイズは、物理レベルで次の2つの場所に保存されます。

-パーティションテーブル、プライマリ(MBR)、または任意の拡張。

-ファイルシステムのスーパーブロック内。

したがって、パーティションのサイズを変更する際の主な問題は、これらの変更の同期です。 1か所でサイズを変更するだけでは不十分です。 ディスクが論理的にフォーマットされた後、ファイルシステムがパーティションのサイズに適応することはありません。 ファイルは常にディスクスペースに配置され、その長さはファイルシステムのスーパーブロックで定義されます。 したがって、スーパーブロックとパーティションテーブルのパーティション長の値が等しくない場合、異なるファイルシステムがディスク上で交差する危険性があり、遅かれ早かれファイルの破損につながります。

フォーマットされたパーティションのサイズ変更は、特別なプログラムを使用して行う必要があります。 これらのプログラムはファイルシステムを理解し、削除されるはずのパーティションの部分にファイルが含まれているかどうかを診断し、それらを別の場所に転送し、FAT、MFT、iノードなどのサービス構造を短縮または延長します。 ファイルシステムの制御構造がそのサイズの新しい値に適合された後でのみ、この新しい値をスーパーブロックに入れてから、パーティションテーブルに入れることができます。

フォーマットされていないパーティションの変更ははるかに簡単です。 そこにはファイルシステムがないため、スーパーブロックはなく、パーティションテーブルの値を変更するだけで十分です。

1.6。 ファイルシステム

ハードディスクの観点からは、ファイルシステムは、情報を整然と保存するためのサービスブロックとユーザーブロックへのパーティションレイアウトシステムとして理解する必要があります。 サービスブロックは、ユーザーブロックの状態を表します。ユーザーブロックは、ファイルによって占有されているか、解放されている可能性があります。 ファイルシステムのタスクは次のとおりです。

-新しいファイルの空きブロックの割り当てを管理する

-ディレクトリとファイル名およびリンクを管理します

-ファイルの内容を名前で検索します。

さまざまなファイルシステムがさまざまな効率で上記の機能を実装し、さまざまなファイルシステムでもサポートされています。 最も一般的なファイルシステムを以下に示します。

1.6.1。 FAT16

このファイルシステムは、現在も使用されている最も古いシステムの1つです。 そのサポートは、ほとんどの最新のオペレーティングシステム(DOS、Windows 95/98 / ME、 Windows NT / 2000 / XP、OS / 2、Linux、QNX、FreeBSDなど。

ファイルシステムの名前は、そのメインコントロール要素の名前に由来します。 ファイルアロケーションテーブル。 データアロケーションユニットはクラスタです。 いくつかの連続したディスクブロックのコレクション。 クラスターサイズは、1、2、4、8、16、32、または64ブロックにすることができます。 ファイルはクラスターのチェーンです。 ファイルアロケーションテーブルは、各ファイルに属するクラスターのチェーンを記述します。 各クラスターは、最大で1つのファイルに属することができます。

ファイルシステム名の16は、ファイルアロケーションテーブルにクラスタ番号を格納するために割り当てられた2進数の数を示します。 FAT16は、ディスク上で最大65525のクラスターを許可し、そのサイズは512〜32768バイトです。 これにより、最大2GBのサイズの論理ドライブを作成できます。 ディスクサイズが大きいほど、必要なクラスターサイズも大きくなります。

一般的に、大規模なクラスターはディスクスペースの効率を低下させます。 これは、多くのファイルが短く、クラスター内のスペースの一部が無駄になっているためです。 信頼性を高めるために、FATの2つのコピーがディスクに保存されます。 ファイル割り当ての各変更は、両方のテーブルに同時に反映されます。 これらのテーブル間の不一致はエラーです。 不一致がある場合、どのテーブルにさらに正しい情報が含まれているかを判断するための実証済みの方法はありません。 したがって、2つのコピーの存在は、コピーの1つが単にディスクから物理的に読み取られない状況でのみ正当化されます。 この状況はハードドライブではほとんど発生せず、フロッピーディスクでのみ発生する可能性があります。 実際、FATシステムの開発は、フロッピーディスクに現在も使用されているFAT12システムから始まりました。 フロッピーディスクの場合、FATの1つのコピーに属するブロックの物理的な障害は、2番目のコピーのブロックの障害とは関係がないため、2つのコピーを持つことは正当化されます。 FAT変更中のソフトウェアエラーは、通常、両方のコピーに同期して反映されます。 いずれにせよ、FATの両方のコピーを正しく読み取る場合、正しいコピーを選択するという問題があります。

FAT16ファイルシステムのトポロジーを図に示します。 4.4。

米。 4FAT16パーティショントポロジ

ユーザークラスターはルートディレクトリの直後にあり、そのサイズはフォーマット中に設定され、その後オペレーティングシステムによって変更されることはありません。

1.6.2。 FAT32

FAT32システムは、FATシステムを進化させたものです。 クラスター番号をエンコードするビット数が32に増えました。その結果、FAT32にはFAT16システムの約65,000倍のクラスターを含めることができます。 クラスタサイズが小さい場合でも、このファイルシステム用に最大2TBのサイズのパーティションをフォーマットできます。 さらに、FAT32システムにはブートレコードのバックアップがあり、任意のルートディレクトリの場所を許可します。

FAT32システムは、Windows 98、ME、およびWindows 2000、XP上のWindows95OEMリリース2以降で使用できます。 MS-DOS、Windows 3.1、Windows NT 3.51 / 4.0、以前のバージョンのWindows95はFAT32を使用できません。

米。 5FAT32パーティショントポロジ

FAT16とは異なり、FAT32では、ルートディレクトリは他のファイルと同様にクラスター内にあります。 ブートレコードには、最初のクラスターへのリンクが含まれています。

1.6.3。 NTFS

NTFSファイルシステムは、FATシステムよりも複雑です。 それを使用するには、より多くのRAMが必要であるため、比較的生産性が高く信頼性の高いシステムでのみ、RAMの使用が正当化され始めます。 NTFSは、Windows NT、Windows 2000、およびWindowsXPオペレーティングシステムで使用されます。 NTFSの場合は400MB未満のパーティションをフォーマットすることはお勧めしません。これは、サービスデータ構造の場合、スペースの大部分が「消える」ためです。

NTFSの中心には、MFT(マスターファイルテーブル)と呼ばれるデータ構造があります。 MFTは、他のファイルの記録を保持するシステムファイルでもあります。 各ファイルエントリの長さは固定されています。 エントリには、すべてのファイルに共通するいくつかの固定情報と、ファイル属性 、ファイルの名前、データの場所、作成日時などを記述します。各ファイルは、MFTテーブルのインデックスである単一の番号で記述されます。

FATシステムと同様に、NTFSはクラスターで構成されています。 ただし、FATに対していくつかの改善が行われました。 クラスターは、パーティションのサイズに関係なく、2の累乗の倍数であるセクター内の任意のサイズにすることができます。 クラスターはパーティション全体を満たします。つまり、クラスター番号0は、パーティションの先頭からすぐに始まります。 したがって、クラスターの数とそのサイズによって、ディスク上のクラスターの位置が一意に計算されます。

NTFSシステムファイルの暗号化、圧縮形式での保存、ファイル操作のログ記録、名前だけでなく任意の属性によるディレクトリ内のファイルのインデックス作成が可能です。 ディレクトリ内のファイルの検索は、FATシステムよりも合理化された操作です。

米。 6NTFSパーティショントポロジ

NTFSの欠点は、MFTが重要な構造であり、その破損により、ファイルが断片化されていなくても、ファイルを完全に回復できないことです。 ディレクトリエントリは、ディスク上のファイルの位置を属性として含むMFTエントリのみを参照します。 FATシステムは、より原始的ですが、ファイルの最初のクラスターとそのサイズを直接示すディレクトリエントリからフラグメント化されていないファイルを回復できます。

1.6.4。 HPFS

このファイルシステムはIBMによって開発されたもので、NTFSの遠い親戚です。 これは主にOS/2オペレーティングシステムで使用されますが、以前のバージョンのWindowsNTでもサポートされています。

HPFSには 最高のパフォーマンス FATと比較すると、ディレクトリはツリーとして表示されるため、大きなディレクトリで必要なファイルをすばやく検索したり、ファイルを名前で並べ替えたりすることができます。 このファイルシステムにはクラスターはありません。空き領域はセクターごとに割り当てられます。 セクション全体が8MBの長さのセクションに分割されます。 自由な場所各セクションでは、ビットマップで記述されています。 これにより、FATシステムのようにディスクの先頭ではなく、最も近いビットマップにヘッドを移動するだけで十分なので、ファイルのスペースの割り当てが簡単になります。

1.6.5。 ext2fs

このファイルシステムは、Linuxのメインファイルシステムとして使用されます。

1.7。 ファイルシステムのマウント

ディスクに保存されている各ファイルには独自の名前があります。 名前がわかれば、ユーザーはファイルに含まれているデータを操作して、プログラムを指すことができます。 ファイルはディレクトリまたはフォルダのツリーの形式で並べ替えられるのが通例であるため、各ファイルには、ツリーのルートからの位置を示すフルネームがあります。 一部のファイルシステム用にフォーマットされた各ディスクパーティションには、ルートディレクトリが含まれ、ユーザーが使用できる将来のファイルシステムの一部を記述します。 オペレーティングシステムがユーザーのファイルを見つけられるようにするには、正確なファイル名を指定する必要があります。

したがって、ファイルの名前は、そのセクションの名前と、そのセクション内の名前で構成されます。 これは、すべてのファイルシステムに当てはまります。 たとえば、DOSシステムでは、autoexec.batファイルの正確な場所を指定するには、C:\autoexec.batを指定します。 この場合、名前C:はセクションを示し、名前は\autoexec.batです。 その中のファイル名。

ファイルシステムを含むパーティションにシンボリック名を割り当てる操作は、マウントと呼ばれます。 マウントはオペレーティングシステムの起動時に発生します。この操作により、ファイルの処理が開始されます。

ファイルシステムのマウントは、ファイルシステムが非常に柔軟なUNIXシステムで歴史的に登場しました。 ファイルシステム全体に単一のルートディレクトリがあり、ファイル名は特定の物理デバイスに関連付けられていません。 マウント操作に加えて、ペアのアンマウント操作があります。 両方の操作は、オペレーティングシステムの起動時だけでなく、作業中にユーザーが利用できます。 ユーザーは自分でマウントポイントを定義できるため、システム内の物理ディスクの数が変更されてもファイル名は変更されません。 さらに、コンピューターの構成を変更する過程でファイルにアクセスできない場合や名前が変更された場合でも、ユーザーはいつでもファイルシステムの一部をアンマウントして、ファイル階層の正しい場所にマウントできます。

Microsoftオペレーティングシステムには、このような柔軟性はありません。 ファイル名は、共通のルートからではなく、ファイルが配置されているドライブの名前から始まります。 マウント操作は、起動時にシステムによって1回実行され、マウントポイントの名前、つまりディスクの名前は、ハードウェアデバイスの構成に関連付けられて、システムによってハードな方法で割り当てられます。 物理ディスクを追加または削除すると、ユーザーの知らないうちに残りのディスクのマウントポイントが変更されるため、これによりファイルの操作に大きな不便が生じます。

ドライブ名を変更すると、C:ドライブにないプログラムへのパスが壊れることがよくあります。

システム内 マイクロソフトウィンドウズ NT / 2000 / XPドライブは、コンピューターの起動時にマウントディスクを駆動しますが、ブートディスクを除いてディスクの名前を変更できます。 これにより、実際には非常に不便ですが、構成の変更に関連する問題を部分的に回避できます。

1.7.1。 命名順序を駆動する

Microsoftオペレーティングシステムがロードされると、パーティション(プライマリサブセクションとセカンダリサブセクションの両方)が論理ディスクのキャリアとして機能するため、オペレーティングシステムはそれらに文字通りのデバイス名を割り当てます。 システムに新しいハードドライブを追加したり、既存のハードドライブを削除したりすると、文字が異なる論理ドライブに割り当てられる順序に影響し、望ましくない影響が生じることがよくあります。

多くのプログラムの設定には、特定のファイルへのフルパスが含まれています。つまり、特定の論理ドライブに関連付けられています。 ドライブ文字名を変更すると、設定が正しくなくなり、プログラムを操作できなくなります。

DOS、Windows 3.x、Windows 95/98 / ME、OS / 2

これらのオペレーティングシステムは、使用可能なディスクとそれらのパーティションのタイプに基づいてハードディスク名を割り当てます。 セクションを割り当てるためのルールは次のとおりです。

1.名前は、物理ディスクの順序で、認識可能なすべてのアクティブなプライマリパーティションに割り当てられます。

2.名前は、拡張パーティション内にある認識されたすべてのドライブに割り当てられます。 拡張パーティションは、物理ディスクの順序でトラバースされます。

3.名前は、物理ディスクの順序で、残りのすべてのプライマリパーティションに割り当てられます。

したがって、物理ディスクの数を変更すると、論理ディスクに割り当てられている文字がシフトする可能性があります。 オペレーティングシステムによって認識されるファイルシステムを含む新しいパーティションが追加および削除された場合にも、文字のシフトが発生する可能性があります。 OSによって認識されないファイルシステムを含むパーティションはスキップされるため、文字シフトは発生しません。

Windows NT / 2000 / XP

最初は、インストールプロセス中、これらのオペレーティングシステムはDOSおよびWindows 9xバージョンと同様に動作しますが、違いは次のとおりです。 NTFSパーティション彼らにも認識できます。 ただし、将来的には、これらのシステムでは、システムの起動元のディスクを除くすべてのディスクの名前を再割り当てできるようになります。 ディスクは、Windows NT / 2000/XPのディストリビューションに含まれているDiskAdministratorユーティリティを使用して再マップされます。 ディスク名を割り当てた後、それらはパーティションに割り当てられ、他のパーティションの外観や削除に依存しなくなります。

1.8。 オペレーティングシステムの起動順序

オペレーティングシステムを読み込んでいます。 マルチステッププロセス。 ハードウェアをテストし、起動をサポートするデバイスのリストを決定した後、BIOSで起動します。 このようなデバイスは、さまざまなディスクドライブにすることができます。 ネットワークアダプタ、テープおよびその他のデバイス。 しかし、まず第一に、ハードドライブはブートデバイスです。

1.起動元のドライブを選択します。 選択は、起動元のデバイスの一般的な選択中にBIOSセットアップでユーザーが行います。 この場合、BIOSはディスク番号を再割り当てして次のようにします。 ブートディスク他のすべてのディスクの中で1位にランクされています。

2.選択したドライブからマスターブートレコード(MBR)が読み取られます。 読み取られたデータの正確性に関与する署名がチェックされます。 制御は、MBRの一部であるブートローダーに移されます。 この時点から、ブート制御はBIOSを離れ、ハードドライブにあるプログラムによって決定されます。

3. MBRのブートローダーは、オペレーティングシステムのブートパーティションを検出します。 標準のMBRブートローダーの場合、ブートパーティションはMBRパーティションテーブルからのパーティションになり、アクティブパーティションとして特別なフラグが付けられます。 SyMonの場合、ブートパーティションはオペレーティングシステムの設定でユーザーが指定します。 オペレーティングシステムのブートセクターは、ブートパーティションの最初のブロックから読み取られます。 このブロックの署名がチェックされ、成功すると、そのブロックにあるローダーに制御が移されます。

4.オペレーティングシステムローダーは、オペレーティングシステムカーネルをロードし、制御をカーネルに転送します。

5.カーネルが初期化され、ハードディスクドライバがアクティブ化された後、ファイルシステムのマウントと初期化のプロセスが開始されます。

DOS)。

これらのいくつかの段階はさまざまなレベルで実行され、まず第一に、互換性の問題に現れます。 BIOSブートは、最初はすべてのブートローダーソフトウェアを標準のBIOS機能に制限します。

ローダーが独自の機能のために512バイト未満しか与えられていないことを考えると、ローダーが非常に柔軟であるとはほとんど期待できません。 主な問題は、ローダーに、ファイル全体をメモリに読み込むことができる最新のファイルシステムミニドライバーを実装するための十分なスペースがないことです。 したがって、開発者は2段階でブートローダーを作成する必要があります。 最初のバージョンでは、OSパーティションの最初のブロックにあるブートローダーが、サイズの大きいセカンダリブートローダーのメモリに読み込みます。 すでにセカンダリローダーはファイルからカーネルをロードします。

1.8.1。 マスターブートレコード(MBR)

マスターブートレコードは常に物理ディスクのブロック0にあり、本質的にはハードディスク全体のブートセクターです。 MBRは、BIOSによって常にメモリアドレス0x0000:0x7C00にロードされます。 BIOSは、ハードディスクとフロッピーディスクのブートレコードを区別しませんが、前者は後者とは異なり、パーティションテーブルを含んでいます。 例外は、おそらく、一部のモードでは、ディスクの論理ジオメトリ(ヘッドとセクターの数)がMBRパーティションテーブルの値に従って調整されることです。 MBRを使用するBIOSの主な役割は、制御をロードしてブートコードに転送することです。

以下は、MBRの構造(a)と、ブートレコードのパーティションテーブル(b)にある1つのパーティションの構造です。

米。 7マスターブートレコード(MBR)形式

1.8.2。 OSブートブロック(BR)

OSブートブロックの構造。 ブートレコード(ブートレコード)、任意にすることができます。 基本的に、ブートブロックについては2つのステートメントがあります。

ブートブロックの最後に、MBR署名とまったく同じ署名0xAA55があります。 これは、関連する起源によるものです。 BIOSは、実際にはこれらのブロックを目的によって区別しません。 その主な原則。 ダウンロードし、署名を確認して実行します。

OSブートブロックは、常にOSブートパーティションの最初のブロックにあります。 ローダープログラムへのエントリポイントは、ブロックの開始を基準にして常にアドレス0にあります。 これにより、標準のMBRブートローダーを使用して任意のOSを起動できる汎用性が得られます。

ブートブロックには、OSカーネルを検索してロードするプログラムが含まれています。 ただし、512バイトは明らかに深刻なプログラムをそれらに適合させるのに十分ではないため、次のような中間ローダーが必要です。

1.サイズがわずか400〜500バイトのブートローダーで簡単にダウンロードできるほど小さい。

2.カーネルを検索してロードするファイルルーチンを含めるのに十分な大きさ。

ファイルシステムの複雑さに応じて、この問題には2つの解決策があります。

1つ目は、ブートローダーがオペレーティングシステムファイルの一部をすぐに読み取ろうとすることです。 たとえば、そうします。 DOSシステムおよびその後継-Windows95/98/ME。 ローダーはルートディレクトリでIO.SYSファイルを見つけ、最初の3つのブロックを読み取ります。 これの基礎。 FATシステムの単純さ。これにより、ディレクトリで指定されたファイルの最初のクラスターによって、ディスクからファイルの先頭をキャッチできます。 ただし、これを機能させるには、システムファイルを最適化して、通常のプログラムから非表示にする必要があります。

2番目の解決策は、ローダーがその本体にそれ自体の継続の絶対アドレスを含み、最初にその継続をメモリーに読み取ることです。 たとえば、ntldr、LILOなどもそうです。 このソリューションは、ブートローダーがファイルシステムを介して直接アドレス指定しないという点で不便です。そのため、ファイル操作によってブートエラーが発生する可能性があるため、再配置不可能なファイルにする必要があります。 しかし、これが観察されたとしても、パーティション全体を新しい場所に移動すると、再び間違ったブロックチェーンが発生し、ロードが不可能になります。 このような状況では、ハードドライブ上のOSローダーを復元できるブートフロッピーを用意することを常にお勧めします。

1.9。 結論

このセクションでは、ハードドライブ上の情報の編成に関連する基本的な概念について検討しました。 すべてのオペレーティングシステムは、上記の原則に基づいています。

オペレーティングシステムのインストールは、ディスクのパーティション分割から始まります。 さらに、パーティションは、オペレーティングシステムでサポートされているファイルシステムの1つでフォーマットされます。 フォーマット後、ファイルを保存するためのディスク容量が利用可能になります。 OSインストーラーは、作成された空き領域にソフトウェアパッケージを解凍します。 その後、プログラムを構成し、このオペレーティングシステムを選択した後にカーネルがロードされることを保証するパーティションブートレコードを作成します。

ディスクのパーティションへのパーティション分割は、パーティションテーブルと呼ばれるデータ構造を使用してプログラムで実行されます。 これはハードドライブの最初のブロックにあり、マスターブートレコード(MBR)とも呼ばれます。 MBRには4つのパーティションのエントリが含まれていますが、それらの数が空きパーティションの数を超える場合、複数のオペレーティングシステムをインストールするには不十分な場合があります。 MBRの標準コンテンツを使用すると、パーティションテーブルに記載されている4つのパーティションのいずれかからオペレーティングシステムを起動できます。 より多くのOSを起動するには、起動メニューを提供し、ユーザーが選択したオペレーティングシステムを起動するための特別なソフトウェアが必要です。