スポンサーリンク

問題の解答・解説ページ

このページは解説の閲覧モードです。
実力試しをしたい方は、下のボタンからクイズに挑戦してください!

この問題をクイズ形式で解く
問題 No.2487
OSのメモリ管理において、主記憶上の空き領域を効率的に管理するため、複数の小さな空き領域を結合して一つの大きな連続した空き領域を作る操作を指す用語はどれか。選択肢の中から適切なしなさい。

【正解の解説】

フラグメンテーションを解消するためにメモリ上の散在した空き領域を統合するコンパクションの仕組み

散らかった部屋のモノを端に寄せ、広いスペースを無理やり作り出す大掃除のような作業です。メモリ上でデータの出し入れを繰り返すと、あちこちに細かい隙間(断片化)が生まれて大きなプログラムが入らなくなります。そこで、使用中のデータを片側に寄せて空き領域を一本化し、大きな空き地を確保するのがこの仕組みの本質です。

スポンサーリンク

【その他の選択肢の解説】

仮想記憶において主記憶と補助記憶の間でページ単位のデータ転送を頻繁に繰り返すスラッシングの現象

コンパクションが「空間の整理整頓」であるのに対し、こちらは「仕事のキャパオーバー」を指す全く別の概念です。実物の机が狭すぎて、本棚と机の間を絶えず本を持って往復し、勉強が進まなくなる状態に似ています。仮想記憶のページングが頻発してコンピュータがまともに動かなくなる現象であり、問題文のメモリ結合とは意味が異なります。

主記憶上の不要になった動的領域を自動的に回収して再利用可能な状態へ整えるガベージコレクションの機能

散らばった空き領域を物理的に移動させて結合するコンパクションとは異なり、プログラミング言語の実行環境などがメモリ上のゴミ(不要なデータ)を見つけて自動で掃除する機能です。例えるなら、部屋の中にある使い終わったペットボトルを回収してゴミ箱に捨てる作業であり、家具の配置を変えて広いスペースを作るコンパクションとは目的と手法が異なります。

プログラムの実行時に物理アドレスと論理アドレスを動的に変換してメモリ保護を実現するアドレス空間の割り当て

メモリ上の断片化を解消するために空き領域を結合するコンパクションではなく、プログラムが使用する「論理上の住所」と実際のハードウェア上の「物理的な住所」をリアルタイムで翻訳する仕組みです。例えるなら、手紙の宛名(論理)を実際の配達ルート(物理)に変換する作業であり、メモリの断片化解消とはアプローチする目的がまったく異なります。