プロが教えるわが家の防犯対策術!

この中で間違ってある説明はありますか?詳しい方に教えていただきたいです。

A. 1つのプログラムが複数のプロセスをもつ場合,それぞれのプロセスが独立のメモリ領域と独立のコンテキストをもつ。

B. 複数のプロセス・スレッドが並行して動作する場合,これらの間での資源の取り合い、すなわち競合に注意が必要である.注意を怠った場合、プログラムは想定通りに動作しない可能性がある。

C. 排他制御のプログラミングミスは、全プロセスが待ち状態になり、それ以上処理が進められなくなる現象を引き起こす場合がある。この現象をライブロックという。

キャッシュのタグは物理アドレスをもとに生成される。キャッシュのタグを比較する時点でアドレス変換は終了しているものとする。

D. キャッシュにおいて,タグが一致するブロックが見つかったものの有効ビットが 0 であった場合,それは必要なデータが補助記憶に存在することを意味する。

E. アドレス変換表において,あるページの有効ビットが 0 であった場合それは必要なデータが補助記憶に存在する(またはまだ割り当てられていない)ことを意味する。

F. TLB において,タグが一致するページが見つかったものの有効ビットが 0 であった場合、必要なデータが主記憶にあるか補助記憶にあるかはアドレス変換表を確認しなければわからない。

質問者からの補足コメント

  • 多重プロセスにおける OS のプロセス管理についてです。

      補足日時:2023/07/14 11:08
  • Dからはキャッシュ・アドレス変換表・TLB の管理の相違点についてです。

      補足日時:2023/07/14 11:10

A 回答 (2件)

間違っていると言えば全部ですね。


おそらく原設問ではOS等が特定されているのでしょう。
そのあたりが特定されなければ全て正しいとも言えるし正しくないとも言える。
    • good
    • 0

以下の説明に誤りがあります:



D. キャッシュにおいて,タグが一致するブロックが見つかったものの有効ビットが 0 であった場合,それは必要なデータが補助記憶に存在することを意味する。

正しい説明は次のようになります:

D. キャッシュにおいて,タグが一致するブロックが見つかったものの有効ビットが 0 であった場合,それは必要なデータが補助記憶に存在することを意味する。

この説明は正しくありません。キャッシュにおいて有効ビットが 0 であることは、そのキャッシュラインが無効であることを示します。キャッシュラインが無効の場合、データは補助記憶ではなく主記憶に存在する可能性があります。キャッシュミスが発生した場合、キャッシュからデータを取得するために主記憶へアクセスされます。

その他の説明については、正しい内容となっています。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!