ITパスポート 2009年 秋期 問59
問題文
OSの機能の一つである仮想記憶方式の目的はどれか。
選択肢
ア:OSが使用している主記憶の領域などに、アプリケーションプログラムがアクセスすることを防止する。
イ:主記憶の情報をハードディスクに書き出してから電力供給を停止することで、作業休止中の電力消費を少なくする。
ウ:主記憶の容量よりも大きなメモリを必要とするプログラムも実行できるようにする。(正解)
エ:主記憶よりもアクセスが高速なメモリを介在させることによって、CPUの処理を高速化する。
🔒 解説は解答すると表示されます
OSの機能の一つである仮想記憶方式の目的はどれか。【ITパスポート 解説】
正解の理由
仮想記憶方式(仮想メモリ、virtual memory:主記憶の容量を超えるような論理的な大きな記憶空間をOSがプログラムに提供する仕組み)は、主記憶(メインメモリ、RAM(Random Access Memory:読み書きが速い一時記憶))の容量より大きなメモリを必要とするプログラムも実行できるようにすることを目的とします。
具体的には、プログラムのメモリ空間(仮想アドレス)を必要に応じて主記憶と補助記憶(ハードディスクやSSD)間でやり取りし、あたかも大きな連続したメモリがあるかのように見せます。これにより、物理メモリより大きいプログラムも部分ごとに読み込みながら実行できます。
具体的には、プログラムのメモリ空間(仮想アドレス)を必要に応じて主記憶と補助記憶(ハードディスクやSSD)間でやり取りし、あたかも大きな連続したメモリがあるかのように見せます。これにより、物理メモリより大きいプログラムも部分ごとに読み込みながら実行できます。
解法ステップ
- 問題文のキーワード「仮想記憶方式(仮想メモリ)」を確認する。
- 仮想記憶=物理メモリ(RAM)を拡張して見せる仕組み。
- 各選択肢が表す機能を短く分類する。
- ア:メモリ保護(別の機能)
- イ:電源管理(休止/ハイバネーション等)
- ウ:仮想記憶の定義に一致
- エ:キャッシュ(高速な中間メモリ)の説明
- 仮想記憶の基本動作(ページングやスワップ)を思い出し、ウが該当するか判断する。
- 必要な部分だけ主記憶に読み込む → 大きなプログラムが動く
- よって正解はウ。
選択肢別の誤答解説
-
ア: OSが使用している主記憶の領域などに、アプリケーションプログラムがアクセスすることを防止する。
→ これは「メモリ保護」や「アクセス制御」の説明です。メモリ保護は、アプリケーションがOSや他のプログラムの領域を勝手に書き換えないようにする機能で、仮想記憶とは目的が異なります。仮想記憶は保護機能と組み合わせて使われますが、主目的はメモリ空間の拡張です。 -
イ: 主記憶の情報をハードディスクに書き出してから電力供給を停止することで、作業休止中の電力消費を少なくする。
→ これは「ハイバネーション(休止状態)」の説明です。ハイバネーションは電源を切る前にメモリ内容をディスクに保存し、電源再投入時に復元する機能で、仮想記憶の目的とは異なります。 -
エ: 主記憶よりもアクセスが高速なメモリを介在させることによって、CPUの処理を高速化する。
→ これは「キャッシュメモリ(CPUキャッシュ)」の説明です。キャッシュはCPUと主記憶の間に高速な小容量メモリを置くことで処理速度を上げます。仮想記憶は容量の見せかけを作る仕組みであり、速度向上が主目的ではありません(むしろディスクアクセスで遅くなることがある)。
よくある誤解
-
「仮想記憶=メモリの速度を上げる機能」
→ 実際は逆になる場合があります。ディスクにデータを置くので、頻繁に入れ替わるとディスクアクセス(スワップ)で処理が遅くなります(スラッシング)。仮想記憶は容量の見かけ上の拡張が主目的です。 -
「仮想記憶はプログラム全体を一度にディスクに置く」
→ 実際は必要な部分(ページ)だけを主記憶に読み込みます(オンデマンド読み込み=デマンドページング)。全部を一度に置くわけではありません。
補足コラム
- ページングとスワップ
- 仮想記憶は通常「ページ」という小さな単位(例:4KB)で管理します。使われていないページをディスク(スワップ領域やスワップファイル)に移し、必要になったら戻します。
- ページテーブルとアドレス変換
- プログラムは仮想アドレス(仮想記憶上の住所)を使います。CPUはページテーブルという対応表を見て、仮想アドレスを実際の物理アドレス(RAM上の住所)に変換します。
- 性能面の注意点
- SSD(固体ディスク、SSD(Solid State Drive))はHDD(ハードディスクドライブ、Hard Disk Drive)より高速なので、スワップによる遅延はSSD環境の方が小さくなりますが、ディスクアクセスはメモリアクセスよりずっと遅い点は変わりません。
- マルチタスクとの相性
- 複数のプログラムを同時に動かす際、各プログラムに独立した仮想アドレス空間を与えることで、干渉を避けつつ大きなメモリ空間を実現できます(同時に「保護」機能も果たします)。
FAQ
Q1: 仮想記憶は自分で設定が必要ですか?
A1: 多くのOSは自動で仮想記憶(スワップ領域やページング)を管理します。詳細設定は上級者向けですが、通常は初期設定のままで問題ありません。
A1: 多くのOSは自動で仮想記憶(スワップ領域やページング)を管理します。詳細設定は上級者向けですが、通常は初期設定のままで問題ありません。
Q2: 仮想記憶があるとパソコンは遅くならないですか?
A2: 仮想記憶自体があることで「メモリ不足で動かない」状況は減りますが、頻繁にディスクとメモリを入れ替えると処理が遅くなります(スラッシング)。メモリが十分ならスワップはほとんど発生しません。
A2: 仮想記憶自体があることで「メモリ不足で動かない」状況は減りますが、頻繁にディスクとメモリを入れ替えると処理が遅くなります(スラッシング)。メモリが十分ならスワップはほとんど発生しません。
Q3: スマホやタブレットにも仮想記憶はありますか?
A3: 多くのモバイルOSもメモリ管理を行っていますが、スマホでは省電力やフラッシュ寿命の観点から挙動が異なる場合があります。最近は仮想化や圧縮メモリなどの工夫も使われます。
A3: 多くのモバイルOSもメモリ管理を行っていますが、スマホでは省電力やフラッシュ寿命の観点から挙動が異なる場合があります。最近は仮想化や圧縮メモリなどの工夫も使われます。
関連キーワード: 仮想記憶、仮想メモリ、ページング、スワップ領域、主記憶(RAM)、ページフォルト、メモリ管理、ページテーブル

\ せっかくなら /
ITパスポートを
クイズ形式で学習しませんか?
クイズ画面へ遷移する→
すぐに利用可能!

