2017-12-03 10 views
0

私は答えが必要な宿題に関する質問があり、私はそれを頭や尾にすることはできません。私は本書(Operating Systems Concepts第9版)に関連するセクションが数回あると思いますが、どこから来たのか分かりません。OSファイルシステム:論理的な物理マッピング

質問:

は、512バイトの論理的および物理的な両方のブロックサイズを有するディスク上のファイルシステムを考えます。各ファイルに関する情報がすでにメモリに入っているとします。 3つの割り当て戦略(連続、リンク、および索引付け)のそれぞれについて、次の質問に答えてください。

a。このシステムでは、論理アドレスと物理アドレスのマッピングはどのように行われますか? (インデックス割り当ての場合、ファイルは常に512ブロック未満であると仮定します)。

b。現在、論理ブロック10(最後にアクセスされたブロックはブロック10)にあり、論理ブロック4にアクセスしたい場合は、ディスクから何個の物理ブロックを読み込む必要がありますか?

宿題はわずかに修正されています(論理ブロック12から始まり、それぞれ10と4ではなく論理ブロック3にアクセスしたい)。

答え:

回答:Zが始まるファイルアドレス(ブロック番号)とします。

a。隣接している。

論理アドレスをXとYで512で割った商と剰余。

i。 XをZに追加して、物理ブロック番号を取得します。 Yはそのブロックへの変位です。

ii。 1

b。リンクされています。

論理物理アドレスを511でXとYでそれぞれ除算し、その結果得られたクォンタントと剰余をそれぞれ除算します。

i。リンクされたリストを追跡します(X + 1ブロックを取得)。 Y + 1は最後の物理ブロックへの変位です。

ii。 4

c.Indexed。

論理アドレスをXとYで512で割った商と剰余。

i。インデックスブロックをメモリに取得します。物理ブロックアドレスは、位置Xのインデックスブロックに含まれています。Yは、目的の物理ブロックへの移動量です。

ii。 2

私はこれらの回答がどこから来たのか分かりません。すべてのオンラインリソースは、これらを何度も逆戻りしています。誰かがもっと徹底した説明をすることはできますか?

答えて

0

この本は純粋な糞便廃棄物です。情報源は、その本よりもSOの質問につながる大きな混乱を招くことはありません。私はあなたがなぜ混乱しているのかをコピーしたものから見ることができます。

さらに混乱させる危険があるため、通常、オペレーティングシステムは物理ディスク、論理ディスク、および仮想I/Oをディスクに書き込みます。

物理I/Oの場合は、ディスク上のブロックの物理的な位置を指定しています。それは、プラッター、トラック、セクターです。

論理I/Oでは、ディスクはブロックのアレイとして扱われます。ディスク上の各ブロックには連続番号があります。最近のほとんどのディスクは、ハードウェアで論理I/Oを行います。オペレーティングシステムは、最近、物理I/Oを行う必要はほとんどありません。

ファイルアクセスには仮想I/Oが使用されます。ディスク仮想I/Oは、ディスク論理I/Oに似ています。違いは、仮想I/Oではファイルを構成するブロックがディスクのブロックではなく配列として扱われる点です。

ディスクに論理I/Oを実行できる場合は、システムを所有できます。

あなたの本の混乱の最初のビットは、通常、ファイルシステムを扱うとき、ブロック(またはブロッククラスタ)でしか動作しないということです。バイトオフセットを使用するかどうか質問しています。

帳から追加混乱の次のビットは、それはあなたの最初の質問では、「論理ブロック」

ファイルの仮想ブロックを呼び出している、あなたは連続したファイルを扱っているということです。連続したファイルには、ファイルの仮想ブロックとディスクの論理ブロックとの単純な一致があります。ファイルの第1(または第0)論理ブロックがZである場合、任意の仮想ブロックから論理ブロックNへのマッピングはN-Zである。

ファイル内のオフセットBに任意のバイトを配置する場合、B DIV 512はそのバイトを含む仮想ブロックです。 B MOD 512は、バイトを含むブロック内のオフセットです。従って、論理ブロックが求められて

はB DIV 512 + Zである

パート2では、この質問の、あなたは、仮想ブロック4に仮想ブロック10から移動したいあなたは、論理ブロックであるので、10 + Zはファイルが連続している場合、ブロック4は論理ブロック4 + Zを読み取ることによってアクセスされます。これは介入なしで直接行うことができます

そこから、質問は総ウシ糞便廃棄物の領域に降ります。

「ブック」は、各ブロックが511バイトのデータと1バイトのブロックを含むリンク構造(完全に非現実的なもの)を想定しているようです。

4番目のブロックにアクセスするには、最初のブロックを読み込み、2番目のブロックへのオフセットを見つけ、2番目のブロックを読み、..... 4番目のブロックへのオフセットを見つけ、ブロック。

もう1つの混乱は、0から始まるブロック番号と1から始まるブロック番号を切り替えるように見えるということです。ブロックが1から始まる番号が付けられている場合のみ、「4」が正しく表示されます。残りの答えは、ブロック番号が0から始まると仮定しています。

ファイル割り当てのインデックス付き方法では、 "ブック"は連続したインデックスの存在を推測しているようです。ここでも、インデックス内のオフセットのサイズは1バイトであると仮定しています。

Zをインデックスの開始点としましょう。次に、ブロック4(番号1から4まで)のエントリは、ブロックZ + 3 DIV 512のバイトと3 MOD 512(3 = 4 - 1)のオフセットです。

ブロックを見つけるには、インデックスを読み取り、データブロック(2回の読み込み)を読み取る必要があります。

あなたが読んでいるものは、現実とは関係がなく、私はあなたが混乱している理由を理解しています。

+0

私はこのテキストが過去にはやや疑わしいと感じましたので、私はここだけではないことを立証しています。 いずれにしても、返信いただきありがとうございます。私はまだ私が実際に尋ねられていることに全面的に悩まされているのかどうかは確信していませんが、私は私よりも困惑しません。 – cleverwebhandle

関連する問題