RAMディスク
出典: フリー百科事典『ウィキペディア(Wikipedia)』
RAMディスク(ラム-)は、半導体によるRAM(Random Access Memory) を利用した外部記憶装置。あるいは主記憶の一部を外部記憶装置(ディスクドライブ)のように利用する仕組み。前者、後者共に厳密にはメディアとしてのディスクではないが、それと同様の効果を生じることからディスクという名称がつけられている。
狭義には後者のみを指し、前者は半導体ディスク、シリコンディスク、ソリッドステートディスクなどと呼ばれることもある。後者のことは、仮想ディスク(VDISK、Virtual Disk)とも呼ばれる。
目次 |
[編集] 特徴
テープドライブ、FDD、HDDなどの装置には、メディアを回転させたり読み取りヘッドを移動させたりなど、機械的な駆動部が多い。 そのため、これらの装置では振動、騒音、発熱、摩耗などの問題がある。 また、高速な駆動が難しく、主記憶に比べると処理速度が遅い装置だといえる。
RAMディスクは、半導体メモリーを使うことによって、非常に高速で、振動、騒音、摩耗などの問題のないファイルシステムを提供する。 発熱についてもHDDなどに比べれば良好なものと言える。
[編集] 外部記憶装置としてのRAMディスク
[編集] 概要
工業用コンピューターシステムにおいて、HDDのような機械的な駆動部を持つ装置は耐久性などの問題が大きかった。 こういった分野に対して、対振動性や防塵密封運用での耐熱性の高い装置として、半導体だけでファイルシステムを提供する装置が生まれた。 IDE(ATA),SATAやSCSIに対応した装置があり、コンピューター側のBIOS等からは、単にHDDと同様に認識され、システムの起動装置としても問題なく利用できる。
ただし、HDDなどと比べると、生産数の少なさもあり、非常に高価なものとなっている。
SRAMを使うことで、RAMとしての高い書き換え性能と書き換え耐久性を持ちながら、長期間の電源遮断でもHDDに準ずるデータ保持を実現している。 SRAM以外のメモリーを利用するものもあるが、それぞれに長所短所がある。 本来HDD代替として作られていないメモリーを流用するためのIDE変換といった技術もある。
また、一般市場向けにも、汎用拡張スロットに増設するRAMディスク専用の拡張メモリ製品が古くから存在している。 別途購入という点で割高感があることや、近年ではHDDやキャッシュメモリによって十分実用的な性能が得られることから、あまり広く普及してはいないが、それでも2005年にGIGABYTEがi-RAMと称する製品を発表するなど、綿々と受け継がれている分野でもある。
[編集] 初期のノートパソコンの例
初期のノートパソコンでは、技術的な制約により、外部記憶装置はFDD1基を備えるのみであった。 しかし、当時のMS-DOS用のアプリケーションは、FDD2基を前提としているものが多かった。 また、日本語環境の場合はかな漢字変換辞書の存在もあり、FDD1基ですべてをまかなうことは困難であった。
そのため、当時のノートパソコンでは、主記憶とは別にフロッピーディスク1枚分の容量のRAMディスク専用メモリを搭載し、フロッピーディスク互換のRAMディスクとして使えるようになっているものが一般的であった。 このようなものはRAMドライブなどと呼ばれていた。
後にノートパソコンでも286/386機が登場すると、主記憶を使ったより一般的なRAMディスク(後述)へと移行していった。
[編集] 主記憶を転用するRAMディスク
[編集] 概要
OSが起動した後、あるいは起動過程において、専用のデバイスドライバ等によって、主記憶の一部を確保し、OSが利用可能なファイルシステムとして利用する仕組み。 一般消費層においては、単にRAMディスクと言えばこれを意味する。
外部記憶装置であるFDDやHDDなどに比べた場合、主記憶を利用したRAMディスクのほうが大幅に高速に動作する。 このため、FDDからMS-DOSを起動して利用していた時代には、RAMディスクにかな漢字変換の辞書を置くことが一般的だった。 これはMS-DOSが直接利用できるメモリーが1MBでしかなく、追加されたメモリーの多くを間接的に利用せざるを得なかった影響もある。
現在では、高速なHDDとキャッシュメモリによって、RAMディスクを使わずとも問題なく快適に利用できるため、RAMディスクはあまり使用されなくなっている。 そのため、現在ではRAMディスクの利用目的は、LHA,ZIP等の圧縮ファイル等のプレビュー等の目的などにしか使われていない。この利用方法は、FAT系ファイルシステムではファイル断片化を防ぐ意味もあった。
[編集] 8ビットパソコン
8ビットのパソコンの中には、RAMディスクを実現できる拡張ボードをオプションで備えるものがあった、また、グラフィック画面を低解像度に制限する替わりにグラフィックVRAMの一部をRAMディスク化する手法も存在した。SHARPのX1シリーズがその一例。
8ビットパソコンでは、通常利用されていたDISK-BASIC環境ではファイル管理が貧弱で、またドライバの組み込みなどの柔軟性がほとんどないことから、RAMディスクはCP/Mなどの汎用OS環境で利用することが一般的であった。
[編集] MS-DOS
基本的には、デバイスドライバをCONFIG.SYSに記述して読み込む。 例外的にAUTOEXEC.BATで組み込めるものもあった。
バンクメモリやハードウェアEMSメモリなどの頃から、大手サードパーティがPC-9801用に提供するメモリーモジュールには、それを管理するためのソフトウェアが付属していた。 その中にそのメモリーモジュールやメモリー増設ボードに合わせたRAMディスクドライバも含まれていた。
MS-DOSバージョン4や5の時代になると、386機が一般的となり、プロテクトメモリを利用するRAMディスクドライバ(RAMDRIVE.SYS)が標準で付属するようになった。
FMRシリーズ、FM TOWNSではRAMディスクドライバはIO.SYSに予め組み込まれており、SETUP.EXE(TownsOSではSETUP.EXP)でRAMディスクドライブを設定するだけでRAMディスクが利用できた。
[編集] Linux
Linuxでは、起動時の初期段階で、RAMディスクイメージをマウントすることで、起動処理のために必要なデバイスドライバーを読み込んだりする仕組みを持っている。
この仕組みは、FDやCDから起動するLinuxシステムでも重要な役割りを持っている。
- ファイルシステムのイメージファイルを圧縮する。
- 圧縮済みのイメージファイルをFDに保存する。
- 圧縮済みのイメージファイルをラムディスクに展開する。
この手順によって、FDに収まらないシステムを問題無く稼働させることができる。
また、システムのルートファイルシステムをRAMディスクに移すことによって、起動に使ったFDやCD-ROMを抜き取ってしまうこともできる。
[編集] FreeBSD
FreeBSDにも、主記憶をRAMディスク化するドライバが標準で備わっている。
- MFS (Memory File System) - 古くからあるもの。FreeBSD 5.0で廃止。
- md (memory disk) - FreeBSD 4.0で導入。なおFreeBSD 5.0では主記憶の他にスワップ領域も指定可能となり、またvnドライバの統合により通常ファイルをマウントする機能も備えた。