Next: , Previous: , Up: ファイル   [Contents][Index]


26.8 ファイルと二次媒体

Emacsがファイルを変更した後、その後に生じた電源喪失と媒体エラーにより行った変更が保存されないことには2つの理由があります。1つ目は一方または他方のファイルが後で変更されるまで、オペレーティングシステムは書き込まれたデータを2次ストレージのどこかに格納済みのデータにエイリアスすることです。媒体エラーにより2次ストレージ上のコピーだけが失われると、ファイルは両方とも失われるでしょう。2つ目はオペレーティングシステムがデータを2次ストレージに即座に書き込まないかもしれないので、電源喪失時やメディアエラー時にはデータが失われます。

これらはいずれも適切なファイルシステムの設定により回避され得る類のエラーですが、そのようなシステムは通常はより高価であるか非効率的です。ローエンドなシステムでは媒体エラーに備えて異なるデバイスにファイルをコピーでき、電源喪失(あるいは媒体エラー直後の通知)にたいしては変数write-region-inhibit-fsyncnilをセットしてwrite-regionを使用できます。ファイルへの書き込みを参照してください。性能が有意に改善するのでこの変数は通常tだとしても、データベースのトランザクションようにローエンドシステムでの電源喪失への備えを要する実装をEmacsが使用する場合には、一時的にnilにバインドすることに意味があるかもしれません。See ファイルへの書き込みを参照してください。

一部のプラットフォームではEmacsがファイルを変更しても、その変更は即座に通知されないかもしれません。write-region-inhibit-fsyncnilにセットすることにより、保証は存在しないが通知スピードが改善される可能性があります。

This page has generated for branch:emacs-30, commit:ab5505a8acf795c0a0a2745dd6fb666954c6a4bb to check Japanese translation.