※ 本記事では、基本情報技術者試験の対策として私が勉強したことを備忘録的にまとめておきたいと思います。
少しでも参考になれば嬉しいです。
はじめに
さて今回は、基本情報技術者試験対策として、実記憶管理の方式、固定区間方式と可変区間方式についてまとめたいと思います。
現在のコンピュータでは基本的に、プログラムを主記憶装置上にロードしてから実行します。しかしもちろんのことながら、主記憶装置の容量にも限りがあるため、適当にプログラムをロードしてたらもったいないわけです。
そこで登場するのが実記憶管理という考え方になります。主記憶装置の中を効率よく利用できるよう、プログラムに割り当てる役割を果たすわけですね。
そんな割り当て方式にももちろん種類があり、それこそが固定区間方式と可変区間方式です。
名前からイメージもある程度できるとは思いますがしっかりと理解しておくようにしましょう!
※おまけ:主記憶装置(RAM)について
ちなみに私はこの参考書を使って勉強してました。
漫画形式で読みやすく、分かりやすい内容になっているため、無理なく学習を進められると思います。
過去問を解きまくり、不明点があれば参考書で知識を補う、このサイクルで試験対策するのが私のオススメです!
最新版はこちらです。
少し内容が異なる部分もあるかもしれませんが、大まかには変わらないはずですので、安心して下さい。
固定区間方式
固定区間方式とは??
固定区間方式は、コンピュータの主記憶装置(RAM)を固定サイズの区画(パーティション)に分割し、それぞれの区画にプログラムをロードする方式です。主記憶装置の区画のサイズは、システム起動時に決定され、その後変更されることはありません。
また、固定区間方式の中でも大きく2種類あり、単一区画方式と多重区画方式があります。
単一区画方式と多重区画方式
- 単一区画方式:
全体を単一の区画としてとらえる方式。1つの区画には1つのプログラムしかロードできないためマルチプログラミングでは利用不可。
- 多重区画方式:
全体をあらかじめ決めたサイズに分割し、複数の区画としてとらえる方式。区画のサイズは均等である必要はなく、色々な分け方の組み合わせを取ることが可能。区画ごとにプログラムをロードする。
固定区間方式は単純な仕組みなので、実記憶管理は簡単で済みます。
しかしながら、区間内に生じた余りスペースを活用することはできません。例えば8 MBの区画に4 MBのプログラムをロードした場合、残りの4 MBは使えないというわけです。
また、もちろんのことながら区画のサイズをオーバーするプログラムもロードすることはできません。8 MBの区画に16 MBのプログラムはロードできないというわけですね。
とまぁこんな感じで、単純で簡単!という特徴はありつつも、主記憶装置上の利用効率はあまりよくないというわけですね。
可変区間方式
可変区間方式とは??
可変区間方式は、主記憶装置(RAM)の割り当てをプログラムのサイズに応じて柔軟に行う方式です。
先述した固定区間方式では、一番最初に主記憶装置上を固定のサイズに区切ってしまうとお伝えしましたが、可変区間方式では、プログラムをロードするタイミングで必要なサイズに区間を区切ります。柔軟なメモリ割り当てによって、メモリの無駄遣いを最小限に抑えることができるというわけですね。
さて、可変区間方式を活用することで、無駄なく主記憶装置(RAM)を活用できて一件落着!とまぁなるわけですが、これはこれで別の問題が生じるわけです。そこもしっかりとおさえておきましょう。
可変区間方式における問題点
では、可変区間方式における問題点とは何でしょうか??
実際にプログラムがロード、実行され、終了した場合をイメージしてください。
主記憶装置上にサイズバラバラで割り当てられたプログラムがあります。ただしこれは、必ずしも詰め込まれた順番に実行されていくわけではありません。適当に実行され、実行されたプログラムからスペースが空いていきます。
こうなると困ったことに、中途半端にスペースが歯抜け状態、虫食い状態の主記憶装置となってしまいます。もちろん空いたスペースにおさまれば入れることができますが、サイズオーバーのプログラムは入れ込むことができません。
例えば、2 MB、4 MB、1 MBのスペースが空いていたとして、トータルしたら7 MBのスペースが空いているにも関わらず、6 MBのプログラムはサイズオーバーのためロードできないというわけですね。
このような状態をフラグメンテーション(断片化)といいます。
フラグメンテーションも基本情報で問われる事項なので必ず覚えておくようにしましょう!
このフラグメンテーションを解消するためには、主記憶装置上のプログラムを並び替え、連続したスペースを生み出す必要があります。このような操作をメモリコンパクションや、ガーベジコレクションと呼びます。
最後に
さて今回は、基本情報技術者試験対策として、実記憶管理の方式、固定区間方式と可変区間方式についてまとめました。
まぁ名前の通り、区間が固定されているか可変かどうかの違いですね。
それぞれで生じる問題点、派生した知識(フラグメンテーション)もしっかりと覚えておきましょう!
★固定区間方式
主記憶装置(RAM)を固定サイズの区画に分割してプログラムをロードする方式
★可変区間方式
プログラムをロードするタイミングで必要なサイズに主記憶装置(RAM)の割り当てを行う方式
以上!
前回まとめた記事も読んでもらえると嬉しいです!
基本情報以外の勉強記事も是非!
オススメ参考書 & Udemy講座
過去問編
兎にも角にも過去問を解かないことには始まりません。解いて解いて解きまくりましょう!
特に以下の参考書は問題数が多いのでオススメです。
この1冊だけ買って、とりあえず1周すれば合格がかなり近くなると思います!
科目A+B両方合わせて4セット収録されてるとかヤバすぎます・・・
知識網羅編
以下は知識網羅編として、講義系の参考書、動画をピックアップしています。
1からしっかりと学習し、知識を身に着けたい方はとてもオススメです。
過去問を解きまくり、不明点を参考書で補う。これが最高の勉強サイクルです~
私が勉強する際に使用していたオススメ参考書は以下です。
上記シリーズの最新版は以下です。(内容はそこまで変わらないはずですが・・・)
私がぜひオススメしたい、Udemyの講座もいくつかピックアップしておきます。
誰かに解説してもらった方が分かりやすい場合もありますからね~
画像でもボタンでも、どちらを押下しても講座へ飛べるようにしてありますので是非!
コメント