基本情報技術者の勉強 メモリコンパクション
メモリコンパクション
メモリコンパクションとはOSなどが持つ機能の1つです。
コンピュータ上でプログラムを実行すると、メモリ上にプログラムやデータを読み込んだり、またそれらを削除したりする必要があります。
これらが長時間続くと、メモリ上の使用可能な部分と使用不可能な部分がバラバラに存在してしまうことになります。
そうですね、イメージとしては
小さな子供がおもちゃで遊んでいるところを想像すればいいかと思います。
初めはおもちゃ箱に綺麗に片付けられているため、部屋には使える場所がたくさんあります。
しかし、子供がおもちゃで遊びだして部屋中に散らかしてしまうと、足の踏み場がなくなり使える場所が断片化してしまいます。
この散らかったおもちゃを片付けて、部屋の中を綺麗にし、使える場所を確保する、そんなイメージです。
メモリコンパクションは、メモリ上にバラバラになっている使える場所と使えない場所をひとまとめにして、
使える場所と使えない場所、この2つの領域を明確に分けることで、連続した領域を作ることです。
メモリコンパクションに似た言葉にガーベジコレクションというものがあります。
厳密にいえば2つの意味は異なるのですが、基本情報技術者や応用情報技術者に出題される場合、2つの言葉はほぼ同義だと考えて良いでしょう。