PR
写真1 mk2fsコマンドの実行例。
写真1 mk2fsコマンドの実行例。
[画像のクリックで拡大表示]
写真2 dfコマンドを用いてRAMディスクを確認。
写真2 dfコマンドを用いてRAMディスクを確認。
[画像のクリックで拡大表示]

 RAMディスクとは,メイン・メモリーの一部を確保し,デバイス・ドライバ経由でアクセスすることによってあたかもディスク装置であるかのように利用できるメモリー領域です。ハード・ディスクのような物理的な可動部がないため,高速なアクセスが可能な反面,メイン・メモリーの一部を割り当てるため,あまり大容量のRAMディスクは利用できません。

 Linuxにおいては3種類のRAMディスク,(1)initrd,(2)容量が可変の/dev/shm,(3)固定容量の/dev/ramdiskなどが主に利用されています。

 initrdはシステム起動時に,カーネルによってメモリー上に展開される容量が数MバイトのRAMディスク・イメージです。ハード・ディスクを備えないマシン上でもLinuxが利用できるようにするための仕組みです。ハード・ディスクにLinuxをインストールした場合は,ハード・ディスクをマウント後,メモリーから消去されます。

 tmpfsは動的に容量が変化するRAMディスクです。Fedora Coreなど特定のLinuxディストリビューションでは,標準で/dev/shmにマウントされていますから,そのまま利用できます。ユーザーが手動でマウントする場合には以下のようにmountコマンドを使います。oオプションでは最大サイズを設定できます(以下の例では,128Mバイト)。

$ su
# mount -t tmpfs -o size=128m tmpfs /dev/shm

 固定容量のRAMディスクを使うこともできます。KNOPPIXなどのCD-ROM,DVD-ROMから起動するLinuxディストリビューションでは,/homeなどを/ramdisk/homeに,/tmpを/ramdisk/tmpにリンクする設定になっています。/dev/ramdiskはデバイス・ファイルとしてあらかじめ用意されています。

 ファイル・システムを作成するmke2fsコマンドを使えば,ユーザーが自由に固定容量のRAMディスクを構築できます(写真1)。

$ su
# mke2fs /dev/ramdisk
# mkdir /mnt/ramdisk
# mount -t ext2 /dev/ramdisk /mnt/ramdisk

 「$ df -h」を実行して確認すると,容量16MバイトのRAMディスクが確保できています(写真2)。