実記憶管理
実記憶管理とは、主記憶のメモリ空間を効率的に使用できるようにプログラムを割り当てる管理方法です。
マルチプログラミング方式では、主記憶上に複数のプログラムがロードされることになります。しかし、主記憶上のメモリ容量は限られているので、効率的に管理していく必要があります。
そこで実記憶管理の手法には以下で紹介する固定区画方式と多重区画方式があります。
固定区画方式
固定区画方式は、主記憶に固定の区画をつくり、そこにプログラムを読み込む管理方法のことです。
この固定された記憶領域のことをパーティションといいます。
固定区画方式の中にもさらに単一固定区画方式と多重区画方式があります
単一固定区画方式
全体を一つの領域とする方式です。
複数のプログラムをロードできず、一つのプログラムしか扱えないのでマルチプログラミングには使用できません。
多重区画方式
複数の領域にわける方式です。
あらかじめ定めたサイズにメモリ領域を分割します。
区画ごとにプログラムをロードすることができます。
固定区画方式はプログラムをロードする際に生じる余剰のスペースを使用できず、区画のサイズを超えるプログラムを超えることもできません。したがって単純な仕組みで記憶管理は簡単ですが、主記憶を効率的に利用するという面では欠点があります。
可変区画方式
プログラムをロードするタイミングで必要なサイズに区切る方式です。
主記憶を初めに固定された長さの区画に区切らずロードのタイミングで必要に応じて区画を定めます。その為大きなサイズのプログラムもロードでき、無駄なく主記憶を使用できるので固定区画方式に比べて主記憶の使用効率は高くなります。
可変区画方式で生じる問題
フラグメンテーション(断片化)
可変区画方式で生じる問題にフラグメンテーションがあります。
これは区画に分けた記憶領域に小さな断片に分断されてしまう現象のことです。
可変区画方式は主記憶上に隙間なくデータがロードされていきますが、個々のプログラムが終了するタイミングによって主記憶の領域に無駄なスペースが生じます。
フラグメンテーションを解消する方法
メモリコンパクション(ガーベジコレクション)
フラグメンテーションの問題を解消するためにロードされたプログラムを再配置することをメモリコンパクションといいます。
メモリコンパクションを行うことで細切れされた空き領域を連続した一つの領域にすることができます。
その他 主記憶管理の効率的な方法
オーバレイ方式
主記憶の容量を超えたプログラムをロードすることを可能にする方式のことです。
プログラムは複数の機能を組み合わせた1つのかたまりです。そのためプログラムを実行する際、常に全ての機能が必要なわけではありません。そこで、プログラムをセグメントという単位に分割して、必要なセグメントの分だけ主記憶上にロードし、主記憶領域を有効的に管理します。
まとめ
主記憶でメモリを効率的に管理するために複数の種類があることをお分かりいただけたでしょうか。
コンピュータでは、それぞれの特徴やメリットを生かして記憶管理されています。
以上、実記憶管理手法についての解説でした(^^)