ファイルシステムへの応用
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/06/17 01:47 UTC 版)
「コピーオンライト」の記事における「ファイルシステムへの応用」の解説
COWはファイルシステムにおけるスナップショット機能を実現するアルゴリズムとして利用される。特定時点のファイルシステムの状態を原本とし、その後ファイルないしはブロックの変更があった場合には新たにオリジナルのそれを複製し、変更をその複製にのみ反映することで実現する。スナップショット機能を備える論理ボリュームマネージャやファイルシステムの多くがその実現にCOWを用いている。 「スナップショット (ファイルシステム)」も参照 単純なファイルのコピーも、COWで効率化できる可能性がある。但し、ファイルシステムでのサポートとOSがファイルコピー用のAPIを提供し、アプリケーションがそれを使用することが条件となる。(Windows APIではCopyFile()関数を提供しているが、POSIXシステムコールには存在しない。) ファイルシステムが重複排除機構を備えている場合は更に相性が良い。前述の通り、COWにてコピーされたファイルは元ファイルと同一のデータブロックを参照しているため、コピー終了時点で"重複排除済み"とみなすことが出来る。このためCOWコピーされたファイルに改めて重複排除処理を加える必要がなくなる(もしくは一瞬で完了する)。 また、BochsやQEMUといった仮想マシンの仮想ディスク装置で使われている。同じディスクイメージを使って複数の仮想マシンを動作させれば、必要とされるディスク容量を劇的に減らすことができる。またディスクからの読み込みイメージがメモリにキャッシュされ、それが仮想マシン間で共有されるため、性能も向上する。
※この「ファイルシステムへの応用」の解説は、「コピーオンライト」の解説の一部です。
「ファイルシステムへの応用」を含む「コピーオンライト」の記事については、「コピーオンライト」の概要を参照ください。
- ファイルシステムへの応用のページへのリンク