「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「ページング方式」と「セグメント方式」の違い

スポンサーリンク

予備知識


用語意味
メモリパソコンさんが作業するときに使う机。仕事中の内容を記憶させておく、パソコンさんの部品
仮想メモリプログラムから見たメモリ
仮想記憶方式ハードディスクの一部をメモリっぽく使うことで、実際のメモリよりも大きなメモリがある気分にさせるやり方

今回 登場するメモリは「パソコンさんが作業するときに使う机」です。


「ページング方式」と「セグメント方式」の違い1

物としては、緑色の長方形に黒い四角が何個かくっついた板です。
パソコンさんが仕事中の内容を記憶させます。


「ページング方式」と「セグメント方式」の違い2

仮想メモリは「なんちゃってメモリ」です。
実際のメモリとは違うけどメモリっぽいやつですね。
仮想記憶」とも呼ばれます。


「ページング方式」と「セグメント方式」の違い3

いきなり「なんちゃってメモリ」とか言われても分からないですよね。
大丈夫です。
これから順を追って説明します。

単に「仮想メモリ」と言った場合、

1.プログラムから見たメモリ
2.メモリっぽい役割を与えられたハードディスクの一部


のどちらかを指していることが多いです。

この2つは同じと言えば同じです……が、まとめて考えると混乱します。
分けて見ていきましょう。

まずは

1.プログラムから見たメモリ

について説明します。

実は、ですね。
プログラムから見たメモリの大きさと実際にコンピュータにくっついているメモリの大きさは違います。

メモリ内のどーでもいい内容をハードディスクに一時的にしまうことで(ハードディスクの一部をメモリっぽく使うことで)、プログラムに対して実際のメモリより大きなメモリがあると錯覚させる技があるのです。

例えば、そうですね。
コンピュータにくっついている実際のメモリが10GBだったとしましょう。


「ページング方式」と「セグメント方式」の違い4

普通に考えたら、同時に動かせるプログラムはメモリ10GB分ですよね?
使うメモリが6GBのプログラムと4GBのプログラムは同時に動かせます。
6GBのプログラムと5GBのプログラムは同時に動かせません。
1GB分、足りないからです。


「ページング方式」と「セグメント方式」の違い5

ところが、です。
使うメモリが6GBのプログラムと5GBのプログラムを同時に動かす技があるのです。

まず、使うメモリが6GBのプログラム1を起動します。
そうすると、メモリが6GB分、使われます。


「ページング方式」と「セグメント方式」の違い6

次に、6GBのうち、あまり使わない1GB分をハードディスクにしまってしまいます。
最初はメモリを6GB使っていました。
これをメモリ5GBとハードディスク1GBに分けるのです。


「ページング方式」と「セグメント方式」の違い7

そうすると、メモリの空いている部分は5GBです。
メモリを5GB使うプログラム2を起動できます。


「ページング方式」と「セグメント方式」の違い8

ところで、プログラム1がハードディスクにしまった1GB分を使いたくなったら、どうしましょうね?
使うときはメモリに持ってこなくては いけません。
ですが、メモリは10GB分、全部 使っている状態です。

そんなときは、プログラム2から1GB分、ハードディスクに移します。
プログラム2はメモリを5GB使っていました。
これをメモリ4GBとハードディスク1GBに移し替えるのです。


「ページング方式」と「セグメント方式」の違い9

そうすると、メモリには1GB分の空きが できます。
この空いた部分にプログラム1で使う1GBを移します。


「ページング方式」と「セグメント方式」の違い10

このような工夫と譲り合いの精神を発揮できれば素敵です。
実際のメモリが10GBでも合計11GBのメモリを使うプログラムを動かせます。
これは もう「メモリが11GBあるのと一緒」ですね。

この話において、実際のメモリは10GBです。
ですが、プログラムさんはメモリを11GB分使っています。
「プログラムから見たメモリは11GBある」と言えるでしょう。


「ページング方式」と「セグメント方式」の違い11

このときの「プログラムさんから見たメモリ」が「仮想メモリ」です。
11GBの方ですね。


「ページング方式」と「セグメント方式」の違い12

あと、ついでなので書いておくと、コンピュータにくっついている実際のメモリは「物理メモリ」と言います。
10GBの方です。


「ページング方式」と「セグメント方式」の違い13

これが仮想メモリの1つ目の意味です。

1.プログラムから見たメモリ

ですね。

次に

2.メモリっぽい役割を与えられたハードディスクの一部

について説明します。
とはいえ、ここまでの説明で、すでに説明してしまいましたけどね。

先ほどの話を思い出してください。
メモリ上の使っていない部分をハードディスクに移しました。


「ページング方式」と「セグメント方式」の違い14

これは言い方を変えると

ハードディスクの一部をメモリとして使っている

とも言えます。

この「メモリっぽく使っているハードディスクの一部」を指して「仮想メモリ」と表現する人もいます。


「ページング方式」と「セグメント方式」の違い15

これが仮想メモリの2つ目の意味です。

2.メモリっぽい役割を与えられたハードディスクの一部

ですね。

まとめると、仮想メモリは

1.プログラムから見たメモリ
2.メモリっぽい役割を与えられたハードディスクの一部


のどちらかを意味する用語です。

仮想記憶方式は「ハードディスクの一部をメモリっぽく使うことで実際のメモリよりも大きなメモリがある気分にさせる、メモリ管理の やり方」です。


「ページング方式」と「セグメント方式」の違い16

先ほど仮想メモリの説明をしたときに

ハードディスクの一部をメモリとして使っている

と言いました。
このような やり方で、メモリを あれやこれやする やり方が仮想記憶方式です。

なお、話を単純化するために「ハードディスク」と表現していますが、最近のパソコンさんでは「SSD」と呼ばれる「ハードディスクと似たようなことができるメモリ」がハードディスクの代わりをやっていることも少なくありません。
必要に応じて「ハードディスク」を「SSD」と読み替えてください。


「ページング方式」と「セグメント方式」の違い17

それぞれの用語の意味


用語意味
ページング方式大きさの決まっている「ページ」という単位でメモリを管理するやり方
セグメント方式それぞれの大きさが違う(同じ大きさとは限らない)「セグメント」という単位でメモリを管理するやり方

似ているところ


どちらもメモリ管理のやり方を指す用語です。
また、どちらも仮想メモリ(仮想記憶方式)の話で出てくることが多いです。


「ページング方式」と「セグメント方式」の違い18

違うところ


メモリを何単位で管理するかが違います。
それぞれ

ページング方式:同じ大きさのページ単位で管理する やり方
セグメント方式:それぞれの大きさが違う(同じ大きさとは限らない)セグメント単位で管理する やり方


です。

仮想メモリ(仮想記憶方式)の話を例に説明すると、まずメモリを同じ大きさに細切れにして、その細切れにした破片単位で(メモリとハードディスクの間で)メモリの内容を移動させるのがページング方式です。


「ページング方式」と「セグメント方式」の違い19

(本当は少し違いますが)ファイル単位で移動させるのがセグメント方式です。


「ページング方式」と「セグメント方式」の違い20

なお、話を単純化するために「ファイル単位」と表現しましたが、実際には違います。
そこら辺の あれやこれやが気になる方は他のところで情報を補完してください。


スポンサーリンク
書籍画像072
書籍画像073


書籍画像
わわわ説明術コラム
宣伝だよ
「分かった!」と思わせる説明の技術 知識ゼロの相手にも伝わるようになる本
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践
マンガでわかるITパスポート