マナビングITパスポート

仮想記憶方式の空欄補充 制約される装置と容量はどれか

ITパスポート試験 令和7年度 問62 / ソフトウェア › オペレーティングシステム

過去問にチャレンジ

令和7年度 問62

OSの仮想記憶方式に関する次の記述中のa~cに入れる字句の適切な組合せはどれか。 プログラムの実行時に,コンピュータのa装置のbな容量に制約されない,cなアドレス空間を提供する。

令和7年度 問62の図
  1. ア

    a:主記憶、b:物理的、c:論理的

  2. イ

    a:主記憶、b:論理的、c:物理的

  3. ウ

    a:補助記憶、b:物理的、c:論理的

  4. エ

    a:補助記憶、b:論理的、c:物理的

会話形式の解説

講師講師
今回はOSの仮想記憶方式の問題です。空欄は三つあります。どの装置の容量の話なのか、その容量は物理的か論理的か、提供されるアドレス空間は物理的か論理的か。この三つの組合せを考えます。
受験者受験者
仮想記憶は名前は聞いたことがありますが、主記憶と補助記憶のどちらの話なのかがあいまいです。補助記憶を使う仕組みだったような気がするので、aは補助記憶かと思いました。
講師講師
そこが一番迷いやすいところです。仮想記憶は、主記憶より大きなプログラムでも実行できるようにする仕組みです。実行中の命令やデータは主記憶上に置かれるので、容量の制約になるのは主記憶のほうです。
受験者受験者
では、補助記憶はどういう役割なのでしょうか。
講師講師
補助記憶は、主記憶の容量不足を補うために使われる側です。必要な部分だけを主記憶に置き、残りは補助記憶に退避させて、両者の間でデータを入れ替えます。補助記憶は制約を受ける側ではなく、制約を超えるために使う側だと押さえてください。
受験者受験者
なるほど。そうするとaが補助記憶になっている二つの組合せは外れますね。残りは、bとcの物理的と論理的がどちら向きかで決まりそうです。
講師講師
そのとおりです。主記憶装置には実際に積まれている容量があります。これが物理的な容量で、制約になるのはこちらです。一方でプログラムには、実際の容量とは切り離された論理的なアドレス空間が見えるようにします。アドレス空間とは、プログラムが使える番地の範囲のことです。
受験者受験者
つまり、主記憶の物理的な容量に縛られずに、論理的なアドレス空間を使えるということですね。bが物理的、cが論理的なので、正解はアになります。
講師講師
正解です。aが主記憶でbとcが逆になっている組合せは、提供されるのが物理的なアドレス空間となってしまうので誤りです。bとcは合っていてaが補助記憶の組合せは、制約を受ける装置が違います。最後の組合せは、aが補助記憶になっているうえに、bとcも入れ替わっています。
受験者受験者
物理的は実際の装置の側、論理的はプログラムから見える側、と覚えておけば迷わずに済みそうです。
講師講師
よい整理です。補足すると、プログラムが参照する論理アドレスは仮想アドレスとも呼ばれ、主記憶上の実際の位置を示す物理アドレスとは別のものです。主記憶と補助記憶の入れ替え方式にはページングやスワッピングがあります。
受験者受験者
入れ替えが多いと、何か問題は起きないのでしょうか。
講師講師
補助記憶へのアクセスは主記憶より低速なので、入れ替えが頻繁に起きると処理が重くなります。この状態をスラッシングといいます。用語問題で問われることもあるので、仮想記憶とセットで覚えておくとよいです。

まとめ

OSの仮想記憶方式は、主記憶装置の物理的な容量に制約されない、論理的なアドレス空間をプログラムに提供する仕組みです。これにより、主記憶より大きなプログラムでも実行できます。必要な部分だけを主記憶に置き、残りは補助記憶に退避させて入れ替えます。補助記憶は制約を受ける側ではなく、主記憶の容量不足を補うために使われる側です。入れ替えが頻繁に起きて処理が重くなる状態はスラッシングと呼ばれます。

解答・解説

正解はアです

この問題のテーマ

OSの仮想記憶方式について、どの装置のどのような容量の制約を受けずに、どのようなアドレス空間をプログラムに提供する仕組みなのかを問う問題です。

解き方の考え方

仮想記憶は、主記憶より大きなプログラムでも実行できるようにする仕組みです。実際にプログラムを置いて実行するのは主記憶なので、制約になるのは「主記憶装置の物理的な容量」です。そのうえで、プログラムからは実際の容量とは切り離された「論理的なアドレス空間」が見えるようにします。このため、aは主記憶、bは物理的、cは論理的となり、正解はアです。補助記憶は制約を受ける側ではなく、制約を補うために使う側だと押さえておくと、迷わずに選べます。

選択肢ごとの解説

  1. ○ア  a:主記憶、b:物理的、c:論理的
    a主記憶・b物理的・c論理的の組合せは、仮想記憶の定義そのものです。主記憶の物理的な容量に縛られず、プログラムには論理的なアドレス空間を提供します。必要な部分だけを主記憶に置き、残りを補助記憶に退避させることで、これを実現しています。
  2. ×イ  a:主記憶、b:論理的、c:物理的
    aの主記憶は合っていますが、bとcが逆になっています。制約となるのは実際の物理的な容量です。提供されるのは、物理的ではなく論理的なアドレス空間です。
  3. ×ウ  a:補助記憶、b:物理的、c:論理的
    bの物理的とcの論理的は合っていますが、aの補助記憶が誤りです。容量の制約を受けるのは主記憶です。補助記憶は、その制約を超えるためにデータの退避先として利用されます。
  4. ×エ  a:補助記憶、b:論理的、c:物理的
    aの補助記憶、bの論理的、cの物理的の三つがすべて誤りです。装置の種類も、物理と論理の関係も逆になっています。仮想記憶は、主記憶の物理的な容量を制約元とし、論理的なアドレス空間を提供する方式です。

補足

プログラムが参照する論理アドレス(仮想アドレス)は、主記憶上の実際の位置を示す物理アドレスとは別のものです。主記憶と補助記憶の入れ替え方式には、ページングやスワッピングがあります。補助記憶へのアクセスは主記憶より低速なので、入れ替えが頻繁に起きると処理が重くなります。この状態はスラッシングと呼ばれます。

POINT

  • 仮想記憶は、主記憶の物理的な容量に制約されない論理的なアドレス空間をプログラムに提供します。
  • 仮想記憶を使うと、主記憶より大きなプログラムを実行できます。
  • 必要な部分だけを主記憶に置き、残りは補助記憶に退避させて、両者の間でデータを入れ替えます。
  • 補助記憶は制約を受ける側ではなく、主記憶の容量不足を補うために使われる側です。

※出典:令和7年度 ITパスポート試験 問62(一部改変)