2つのディスクを備えた単一のマシン

2つのディスクを備えた単一のマシン

ローカル コンピューターに 2 つのディスクがありますが、これらのディスクに同時に書き込む場合、変更は順番に書き込まれるのでしょうか、それとも並列に書き込まれるのでしょうか。

答え1

例を使って説明します。これらの数字は実際のものではなく、単なるデモンストレーションです。

1 つのデータ ブロックを書き込むのに 10 秒かかると仮定します (ブロックのサイズは無視します)。ただし、ディスクにブロックを書き込むように指示するには 1 秒しかかかりません。

また、この単純な例では、CPU は一度に 1 つのディスクにのみコマンドを送信できると仮定します。

最初の 1 秒で、CPU はディスク 1 にブロックを書き込むように指示します。2 秒目にディスク 1 が書き込みを開始し、CPU はディスク 2 にブロックを書き込むように指示します。3 秒目にディスク 2 が書き込みを開始します。

11秒目にディスク1が終了し、12秒目にディスク2が終了します。この例では、コマンドはシリアルで送信されましたが、書き込み操作は実行されました。たいてい(約9秒分)を並行して実行します。

約 1,000 層の複雑さを積み重ねると、コンピューター上で実際に起こっていることに近づきます。

つまり、システムは並列書き込みに最善を尽くします。

答え2

ディスクはミラーリングされていますか? そうであれば、ほぼ同時に書き込みが行われています。そうでない場合、同じコントローラ上にありますか? そうであれば、おそらく順番に書き込みが行われています (または、インターリーブ書き込みが行われている可能性があります)。異なるコントローラ上にある場合は、書き込み操作のプロファイルや、システムでのキャッシュの構成方法など、他の多くの要因に応じて、同時または順番に書き込みが行われる可能性があります。

答え3

はい、書き込みは非同期ですsyncでブロック デバイスのオプションを指定しない限り/etc/fstab

SCSI/IDE コントローラは一度に複数のデバイスを駆動することをサポートしているため、同じシステム バスを共有するブロック デバイスでも非同期で動作できます。

関連情報