福原です. y_shiro@xxxxxxxxxxxxxxxx wrote: > そこで、いろいろと実験してみたところ、USB2.0ケースに入れたハードディスク > (以下、USBハードディスク)をmountするときに > USBハードディスクを認識したときに/mnt以下に自動でできるmountポイント > と > 自分で/mnt以下に作成したmountポイント > にmountした場合、USBハードディスクの読み込み、書き込みの速度が大きく異な > ることが分かりました。 mount コマンドを引数無しで使うとマウントの状況を表示しますが,これら2つの 場合で mount コマンドを実行してみると違いがあるのではないでしょうか. 想像ですが,自動でできるマウントポイントの方には sync オプションがついて いるのではないでしょうか.jman mount を見ると async そのファイルシステムに対するすべての I/O が非同期 (asynchronous) に行われる。 sync そのファイルシステムに対する I/O がすべて同期的 (synchronous) に 行われる。 というのがあります.普通は async で,書き込みや読み込みはメモリ上にキャッシュを とって行うのでしょう.(キャッシュへの書き込み(からの読み込み)が終わればプロンプトが 戻ってくるので見かけ上速くなります.)そのかわり,umount せずに抜いたりすると, キャッシュ上のデータの書き込みが行われないままで,ファイルの内容が失われたり するのでしょう. # async の場合,書き込んだ後にすぐに umount すると,プロンプトが戻ってくるまで # しばらく時間がかかると思います.ある程度時間がたてば,その間にディスクに # 書き込んでしまうので,umount してすぐにプロンプトが戻ってくると思います. sync オプション付ならば,ファイル自体の書き込みが終わらないとプロンプトが戻って こないので,その後いきなり抜いた場合,次に mount する時に「正しく umount されて いない」というメッセージが出るかもしれませんが,ファイルの内容はディスクに残るのでは ないでしょうか. -- 福原 <makoto@xxxxxxxxxxxxxxxxxx>