BLOGTIMES
2015/11/05

Windows のディスクのプロパティにある設定項目は元々はバグだった

  microsoft  windows 
このエントリーをはてなブックマークに追加

ディスクのプロパティ ポリシー - Windows のディスクのプロパティにある設定項目は元々はバグだった

Windows にはディスクのプロパティのポリシー設定の部分にライトキャッシュのフラッシュを強制的にオフにするためのオプションがあります。画像の以下のような部分です。

デバイスで Windows による書き込みキャッシュ バッファーのフラッシュをオフにする(F)
データの損失を避けるため、デバイスに別の電源を使用して、停電の際にデバイスのバッファーをフラッシュできる状態でない限り、このチェック ボックスをオンにしないでください。

この設定は Windows のかなり古い頃からあるのですが、ちょっと調べ物をしていたらこの機能は元々はバグだったという興味深い記事をMSのサイトで見つけました。バグといっても始まりは Windows 3.1 時代、再発は Windows Server 2003 ということで、この設定が名前を変えつつも受け継がれているのが面白いですね。

Windows 秘話: バグの力

[バッファの同期を取らない] チェック ボックスがオンになっていると、データが書き込まれるまで待機することなく、すぐに制御が戻ります。もちろん、これは機能仕様に違反します。機能仕様では、データが書き込まれるまで制御を戻さないように規定されています。このオプションにより、フラッシュの要求を発行するプログラムで、実際にはデータがディスクに書き込まれていないのに、データがディスクに書き込まれたと判断されるというリスクが増大します。
不適切な結果が生じるのに、なぜこのオプションが提供されたのでしょうか。その理由は、Windows® 3.11 にあるバグです。
歴史は繰り返されるということが判明しました。Windows Server® 2003 では、I/O の開発メンバが、Forced Unit Access (FUA) としてタグ付けされている要求が、FUA タグを失い、通常の I/O として実行されるバグを発見しました。これはフラッシュの要求を無視するという問題の現代版です。

ちなみに性能が上がるからといって UPS がないマシンや不安定なマシンでこの設定をオンにすると痛い目に遭うのでやめましょう。


    トラックバックについて
    Trackback URL:
    お気軽にどうぞ。トラックバック前にポリシーをお読みください。[policy]
    このエントリへのTrackbackにはこのURLが必要です→https://blog.cles.jp/item/8030
    Trackbacks
    このエントリにトラックバックはありません
    Comments
    愛のあるツッコミをお気軽にどうぞ。[policy]
    古いエントリについてはコメント制御しているため、即時に反映されないことがあります。
    コメントはありません
    Comments Form

    コメントは承認後の表示となります。
    OpenIDでログインすると、即時に公開されます。

    OpenID を使ってログインすることができます。

    Identity URL: Yahoo! JAPAN IDでログイン