質問: linuxのマウントオプションについて linuxのマウントオプションで質問があります。ご教授いただけたら幸いです。 async:ファイルシステムに対する入出力が非同期に行われる。 sync:ファイルシステムに対する入出力が同期に行われる。 default:デフォルトのオプション というような説明の意味をもう少し分かりやすく解説していただけないでしょうか?よろしくお願いします。
回答: 今どきのシステムだと, たいていディスクはメモリに比べて「とてつもなく遅い」ので, 普通はメモリ上にキャッシュを置きます. つまり, ディスクから読み込むときは disk → cache (→ memory), 書き込むときは memory → cache → disk のようにデータを転送します. ここで, データを書き込むときに「とりあえずキャッシュに転送できたら『書き込みに成功した』ことにして, システムが暇になったら実際にディスクに書き込む」という戦略をとると, たいていの場合で高速化できます. これが async. これに対し, 「本当にディスクに書き込むまで待つ」という戦略をとると速度は遅くなりますが確実性が増します. これが sync. というのが普通のシステムなんだけど, linux はこの辺がどうもあやしいんですよね. なんか, sync オプションが効いてるかどうかわからないときが多い. ということでいい?