仮想メモリー

ディスクキャッシュと仮想メモリー

パソコンとハードディスクなどとの間で、データのやり取りを高速化するためのメモリまたは機能のことです。CPUとメインメモリの間に使われるキャッシュメモリと同じように、パソコン本体と外部記憶装置との間のデータのやり取りを高速化します。 いったん読み出したデータをディスクキャッシュ上に蓄えておき、再度同じデータを読み出すときにディスクから読み出さなくても済むようにします。キャッシュとして使われるメモリは、外部記憶装置側にある場合が多いですが、インタフェースボード上にある場合やパソコン本体のメモリ上に設定する場合もあります。ハードディスクなどアクセスが低速な記憶装置に記録されているデータの一部を高速な半導体メモリに写し、高速化する技術です。また、そのために使われるメモリ上の領域です。 使用頻度の高いデータをメモリに置いておけば、データの読み出し要求があった時に、いちいちハードディスクからデータを読み込む必要がないため、読み込み速度が飛躍的に向上します。 ディスクキャッシュに使用するメモリは、ハードディスクやCD-ROMドライブなどの周辺機器に搭載されている場合と、コンピュータのメインメモリの一部を使用する場合があります。 メインメモリ上のディスクキャッシュにあまり大きな容量を割くと、OSやアプリケーションソフトが使用するメモリ領域が不足してしまうため、搭載しているメモリが少ないマシンでは、ディスクキャッシュの領域を手動で制限することにより、かえって全体の動作速度が向上する場合もあります。

 ディスクキャッシュとは逆に、半導体メモリの容量の少なさを補うために一部のデータをハードディスクに退避する技術は「仮想メモリ」と呼ばれます。ハードディスクをメインメモリの代用として利用するOSの機能です。また、その機能を利用して確保された、実際のメモリ容量以上のメモリ領域です。「仮想記憶」とも言います。ハードディスク上に「スワップファイル」と呼ばれる専用の領域を用意して、メモリ容量が不足してきたら使われていないメモリ領域の内容を一時的にハードディスクに退避させ、必要に応じてメモリに書き戻すことで実現されます。スワップファイルの内容を入れ替える動作を「スワップ」といいます。メモリ容量が少ないとスワップ動作が頻繁に発生し、性能の低下につながります。