[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

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

ページイン (page-in)

pointこの用語のポイント

point一時的にハードディスクに移した内容を再度メモリに読み込むことだよ

point「ページアウト」の逆だよ

pointページング方式における呼び名だと思うけど「スワップイン」や「ロールイン」との使い分けはされていないことが多いよ

スポンサーリンク

簡単に書くよ

ページイン (page-in)とは

ページアウトの逆
であり

一時的にハードディスクに書き出した内容を再度メモリに読み込むこと
です。
あるいは

一時的にハードディスクに書き出した内容を再度メモリに読み込むこと……を指す、ページング方式における呼び名
です。

image piyo

詳しく書くよ

順番に見ていきましょう。

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

ページイン

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

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

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

ページイン2

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

ページイン3

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

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

ページイン4

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

ページイン5

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

ページイン6

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

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

ページイン7

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

ページイン8

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

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

ページイン9

このような「ハードディスクの一部をメモリっぽく使うことで、実際のメモリより大きなメモリがあると錯覚させる技」を「スワップ」と言います。

メモリを使い切った状態で「もっと~!もっと使いたいの~!」とプログラムさんに言われました。
でも、メモリの空きはありません。
仕方がないので、メモリの一部をハードディスクに移して、メモリの空きを作ります。
そんな技です。
ハードディスクを上手く活用することで、メモリの水増しをします。

さて、スワップの仕組みにおいて、ハードディスクに移したメモリの内容を再度メモリ上に読み込みました。
この「ハードディスクに移したメモリの内容を再度メモリに読み込む」ことを、専門用語で「スワップイン」と言います。

ページイン10

……書くのが疲れました。
少し休憩します。

ここまでで話は一区切りです。
一旦、コーヒーブレイクでもして、頭をリフレッシュしてください。

ちょっと休憩

リフレッシュできましたか?
それでは、続きを見ていきましょう。

先ほど

ハードディスクに移したメモリの内容を再度メモリ上に読み込む

と書きました。
その前提として

メモリの内容をハードディスクに移す

ということが行われています。

メモリの内容をハードディスクに移すとき、全部移すわけでは、ありません。
メモリの内容の「一部」を移しています。

ということはですよ。
メモリをぶった切るわけです。

ページイン11

メモリをぶった切って、小さくなったものの一部をハードディスクに移します。

ページイン12

実は、このときのぶった切り方には、大きく分けて2つのやり方があります。
それは

ページング方式
セグメント方式


の2つです。

例えば、そうですね。

メモリ上にExcelファイルWordのファイルが広げられていたとします。

ページイン13

このとき、ExcelのファイルとWordのファイルの大きさが同じとは限りません。
中身がいっぱいであれば大きくなりますし、まだ少ししかなければ小さくなります。

ページイン14

おっと、メモリの空きが足りなくなったようです。
コンピュータさんは、メモリの一部をハードディスクに移すことにしました。

ページイン15

ページング方式とセグメント方式では、ここからが違います。
まずはページング方式から見てみましょう。

コンピュータさんは、メモリの縦横に切れ目を入れて、それぞれが同じ大きさになるように分割します。

ページイン16

これで、同じ大きさの細かい破片がいっぱいできましたね。
この同じ大きさの細かい破片を「ページ」と呼びます。

このページ単位で移動させるのがページング方式です。

ページイン17

ページング方式では、移動させるものは全部同じ大きさです。
あらかじめ同じ大きさにぶった切っていますからね。

それに対して、セグメント方式では、移動を(本当は少し違いますが)ファイル単位で行います。

ページイン18

セグメント方式における、まとめて移動する一塊は「セグメント」と呼びます。

ページイン19

ファイルの大きさは、それぞれ違いますよね?
ですから、セグメントの大きさもそれぞれ異なります。
セグメント方式では、移動させるものの大きさはバラバラなのです。

違いをまとめると

■ページング方式
・メモリの中身を同じ大きさのページ単位で管理するやり方

■セグメント方式
・メモリの中身を大きさの異なる(同じ大きさとは限らない)セグメント単位で管理するやり方


になります。

ふぃー、長らくお待たせしました。

ここまでを踏まえて、ハードディスクに移したメモリの内容を再度メモリに読み込むのが「ページイン」です。
つまり、スワップインの別の表現ですね。

ページイン20

あるいは、ハードディスクに移したメモリの内容を再度メモリに読み込むことを指す「ページング方式における呼び名」が「ページイン」です。
つまり、スワップインのページング方式における呼び名ですね。

ページイン21

なお、ページインの逆は「ページアウト」と言います。
せっかくなので、併せて覚えてあげてください。

ページイン22

「ページ」を「イン」するのですから、個人的には、ページング方式におけるスワップインっぽい動作を指す用語に思えます。
ですが、実際にはあまり使い分けをされていないのが現実です。

ややこしいですね。

さらに、おまけで説明しておきましょう。
スワップインやページインと似た意味の用語で「ロールイン」という用語もあります。

個人的な理解では

スワップイン:ハードディスクに移したメモリの内容を再度メモリに読み込むこと
ページイン:スワップインのページング方式における呼び名
ロールイン:スワップインのセグメント方式における呼び名


です。
ただし、一般的には

スワップイン:ハードディスクに移したメモリの内容を再度メモリに読み込むこと
ページイン:スワップインの別の表現
ロールイン:スワップインの別の表現


と扱われることも少なくありません。

そこら辺の違いは、ゆるく解釈してください。
動作としては、すべて「ハードディスクに移したメモリの内容を再度メモリに読み込む」です。

image piyo2

一言でまとめるよ

まぁ「ページイン」って単語が出てきたら「ハードディスクに書き出した内容を再度メモリに読み込むことなんだな~」と、お考えください。

一番上に戻るよ
スポンサーリンク