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

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

ページアウト (page-out)

pointこの用語のポイント

pointメモリの中身を一時的にハードディスクに移すことだよ

pointメモリが足りないときに行われるよ

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

スポンサーリンク

簡単に書くよ

ページアウト (page-out)とは

メモリの中身を一時的にハードディスクに書き出すこと。
あるいは

メモリの中身を一時的にハードディスクに書き出すこと……を指す、ページング方式における呼び名
です。

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

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

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

……。

準備OKですか?
それでは、続きを見ていきましょう。

先ほど

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

と書きました。

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

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

ページアウト11

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

ページアウト12

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

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


の2つです。

例えば、そうですね。

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

ページアウト13

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

ページアウト14

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

ページアウト15

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

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

ページアウト16

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

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

ページアウト17

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

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

ページアウト18

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

ページアウト19

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

違いをまとめると

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

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


になります。

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

ここまでを踏まえて、メモリの内容をハードディスクに移すのが「ページアウト」です。
つまり、スワップアウトの別の表現ですね。

ページアウト20

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

ページアウト21

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

ややこしいですね。

さらに、おまけで説明しておきましょう。
スワップアウトやページアウトと同じような意味の用語で「ロールアウト」という用語もあります。

個人的な理解では

スワップアウト:メモリの中身をハードディスクに書き出すこと
ページアウト:スワップアウトのページング方式における呼び名
ロールアウト:スワップアウトのセグメント方式における呼び名


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

スワップアウト:メモリの中身をハードディスクに書き出すこと
ページアウト:スワップアウトの別の表現
ロールアウト:スワップアウトの別の表現


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

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

image piyo2

一言でまとめるよ

まぁ「ページアウト」って単語が出てきたら「メモリの中身をハードディスクに書き出すことなんだな~」と、お考えください。

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