仮想記憶について簡単解説!(ページング方式、セグメント方式、スラッシング、FIFO、LRU)

ITパスポート

こんにちは!新米エンジニアのしまです。今日は基本情報技術者試験のA問題で出るページング方式について学んだのでアウトプットしていきます。

ページング方式は、スラッシング、FIFO、LRU、セグメント方式もセットで覚えると覚えやすいですよ!

ページング方式とは?セグメント方式とは?

ページング方式・セグメント方式とは、補助記憶装置をメモリのように使うことで実際よりもメモリ(主記憶)を大きく見せること(仮想記憶)を実現する方法の1つです。

メモリはよくCPUの作業台として説明されます。作業台が大きいほどたくさんの仕事を同時に行うことができるよ!

メモリの大きさが足りていないと、作業が遅くなってしまいます。よく動作が遅くなることがあると思いますが、まさにメモリが足りていない状態なのです。

そこで、仮想記憶の力を利用します。補助記憶装置の一部を利用して、メモリの空間を広く見せているのです。

イメージは作業台に広げている本を引き出しにしまっておく感じ!

ページング方式ではプログラム全体を固定サイズに区切り、補助記憶装置とやり取りをします。

一方で、セグメント方式はプログラムをコードの内容に合わせて区切り、補助記憶装置とやり取りをします。

ちょっと難しく言うと、固定長か可変長かっていう違い!ページング方式は固定長、セグメント方式は可変長!

スラッシング、ページアウトとページイン・アウトについて

しかし、本を引き出しにしまったり、必要になったら出したりすることは少し時間がかかってしまいます。

人間の世界では数秒の差でも、コンピュータの世界では大きな差になります😢

メモリが小さいが故に補助記憶装置に頻繁にアクセスし、動作が遅くなってしまうことスラッシングといいます!

実行するページ(プログラム)がメモリ(主記憶)にないことをページフォルトと言います。

メモリにページを入れることをページインと言い、反対に補助記憶に退避させることをページアウトと言います!

FIFO、LRUについて

ページング方式などの仮想記憶方式ではFIFO,LRUという概念があります。

これは、仮想記憶に持っていくプログラムをどれにするかを決めるアルゴリズムです!

それぞれ、FIFO(First In First Out)、LRU(Least Recently Used)の様に頭文字を取っています。英語が得意な人は、これで大体わかると思います笑

これは、メモリにあるどのプログラムを、補助記憶に送ろうかと考えた時、

最初にページインしたページを最初に出すことをFIFO

最後にアクセスしてから、最も時間が経過しているページを選ぶことをLRU

という、決まりがあるのです。

まとめ

今回の記事を通して、読み手に覚えてほしいことは、

●仮想記憶のおかげで搭載されているメモリ(主記憶)以上のヌルヌル動かせるようになるよ

●仮想記憶にはページング方式(固定長)とセグメント方式(可変長)の2種類があるよ

●目的のプログラムがない=ページフォルト、プログラムをメモリに持ってくる=ページイン、プログラムを補助記憶に追い出す=ページアウト

●FIFO,LRUのルールをもとに、使わないプログラムを追い出しているよ

以上です!

コメント

タイトルとURLをコピーしました