仮想メモリと方便

システム研修で仮想メモリの話をするとき、スワップファイルの話をしてごまかしている。
最近のOSで使用するメモリは、もう間違いなく仮想メモリで、仮想メモリを使用しないという選択肢はない。だが、一般的には仮想メモリを使用しないという選択肢があると思われている。これは一般的にスワップファイル(もしくはスワップ領域)が仮想メモリと同一視されてしまっているからだ。この同一視の原因はまあMSにあると思われる。仮想メモリという設定項目で、スワップファイルの設定を行わせることと、スワップファイルのサイズ警告で「仮想メモリのサイズ」を警告するからだ。
スワップファイルについては「物理メモリが、要求される仮想メモリより少ない場合に(もしくは少ない場合に備えて)、一時的に優先度の低い仮想メモリ領域がHDD等の副記憶装置上に割り当てられる」という性質のもので、メモリが潤沢に用意されている場合には使用しないという選択肢がありうる。だが、Windowsに限っていえば、システムドライブ上のスワップファイルは「BSOD時のメモリダンプ出力先」としても使用されるので、使用しないという設定は推奨されない。
んでもって、上記のような説明を行う場合に「仮想メモリスワップファイルの誤解が一般的に常識となっている」現状において、その誤りを正すような説明を行うことは、受講者のレベルを見極めて行わなければならない。なぜなら、一般的に仮想メモリの話は理解するのにそれなりのコストがかかり、中途半端に説明しても受講者が混乱するだけだから。本来スワップファイルの説明として行わなければならない内容を、仮想メモリの説明として行う。これが、社外に対して行う研修であれば許されないだろうが、社内向けの研修なので割り切っている。誤解を解くにはコストが必要なのに、誤解を解いても得るメリットが非常に少ないから。
ただし、受講者がつっこんだ質問をしてきた場合には細かく説明する必要があるので、講師側は理解しておく必要がある。レベルが高い受講者については説明してもいいだろう。単に用語の誤りであるし、仮想メモリの本来の動作を説明すれば、より高いレベルでの理解によって、対応力が高まることも考えられる。
MSの使用している用語としては誤っていないし、Windows以外のOSを使用するシステムも非常に少ないので、このままでしばらくは行くつもりだ。「仮想メモリってスワップファイルのことじゃなかったのか!」という人は、これを機会に調べてみるのもいいかもしれない。あばばばば。