アカウント名:
パスワード:
0dayのパッチがWindowsだけ遅い状況が解消されて、うれしい限り
しかし、Windowsのパッチが遅いと書いたときに月1回じゃないととか、過去の経緯が云々とかいってたMS信者は、月1回を貫き通してほしいものですなw
というか、なぜWindowsはシステム更新でOS再起動が必要なのだろう?
サービス更新なら、サービス立ち上げなおせばいいし。設定ファイル更新なら、読み込め直せばいいし。9x時代から(それ以前から?)、なぜこれを改善しないのか。
なにか認識不足だろうか。
あんだけ大量にあるサービス全部立ち上げなおすの?それなら再起動したほうが早いだろ
パッチに関連するのだけで良いだろ、って話なんじゃないかな。それとも毎回kernelいじってるの?
Windowsの場合、OS側のファイル操作仕様が強制ロック (mandatory lock) なので、UNIXで一般的なアドバイザリロック (advisory lock) とは異なり、何をどうやっても排他ロックのかけられたファイルに書き込むことができません。これを回避する目的で、再起動後に反映する仕組み(MoveFileExのMOVEFILE_DELAY_UNTIL_REBOOTフラグ)がありますが、これによって関連するサービスの再起動だけでは済まない事情が発生してしまっています。(プログラムファイル自身もそうですし、それらが使用しているデータファイルも同様です)
UNIXで一般的なアドバイザリロックの場合は、逆に「パッチは適用したつもりだけど、サービス類の再起動を忘れて実は新しいモジュールやデータが反映されてなかった」事態が起こりえますので、一長一短ではあります。
別にWindowsだって、実行中のファイルは上書きできないだけで、リネームはできるよ。だからDLLを再起動せずに入れ替える事もできる。「パッチは適用したつもりだけど、サービス類の再起動を忘れて実は新しいモジュールやデータが反映されてなかった」のが発生するのも同じ。
それで思い出したので貼っておきます。Windows 秘話 : Windows では可能でも行わないことがある [microsoft.com]
実は、Windows では元の DLL の名前を変更し、そこに新しいファイルをコピーすることで、使用中の DLL を置き換えることができます。しかし、Windows ではこの処理が行われていません。なぜでしょう。
>Windows では、再起動しない場合に発生する複雑さを回避しているだけこれは酷い言い訳ですね…。脆弱性の修正については、構造体の意味を変更しない小さな修正の方が多いというのに。まぁ、この先、live patchingの流行(*1)によって、Microsoftも方針を見直すでしょう、多分。
*1 Oracleが、Kspliceをユーザー空間向けに拡張中http://japan.zdnet.com/article/35063253/3/ [zdnet.com]
Hotpatching ぐらい、Windows Server 2003 以降には搭載されています。
おお、本当だ、凄い。既にWindowsには搭載されてますね>Hotpatching。ただし、Windows Updateからは利用不可(*1)と。ダメじゃん。Hotpatchingを有効にするためには、アップデータのインストール時の引数に"/hotpatch:enable"を渡す必要があるらしいです。ううむ、何が問題なんでしょうね。
*1http://jpassing.com/2011/05/01/windows-hotpatching/ [jpassing.com]
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あと、僕は馬鹿なことをするのは嫌いですよ (わざとやるとき以外は)。-- Larry Wall
パッチの提供が早くなるのであれば歓迎 (スコア:0, おもしろおかしい)
0dayのパッチがWindowsだけ遅い状況が解消されて、うれしい限り
しかし、Windowsのパッチが遅いと書いたときに月1回じゃないととか、
過去の経緯が云々とかいってたMS信者は、月1回を貫き通してほしいものですなw
Re: (スコア:0)
というか、なぜWindowsはシステム更新でOS再起動が必要なのだろう?
サービス更新なら、サービス立ち上げなおせばいいし。
設定ファイル更新なら、読み込め直せばいいし。
9x時代から(それ以前から?)、なぜこれを改善しないのか。
なにか認識不足だろうか。
Re: (スコア:0)
あんだけ大量にあるサービス全部立ち上げなおすの?
それなら再起動したほうが早いだろ
Re: (スコア:0)
パッチに関連するのだけで良いだろ、って話なんじゃないかな。
それとも毎回kernelいじってるの?
Re: (スコア:2, 参考になる)
Windowsの場合、OS側のファイル操作仕様が強制ロック (mandatory lock) なので、UNIXで一般的なアドバイザリロック (advisory lock) とは異なり、何をどうやっても排他ロックのかけられたファイルに書き込むことができません。
これを回避する目的で、再起動後に反映する仕組み(MoveFileExのMOVEFILE_DELAY_UNTIL_REBOOTフラグ)がありますが、これによって関連するサービスの再起動だけでは済まない事情が発生してしまっています。
(プログラムファイル自身もそうですし、それらが使用しているデータファイルも同様です)
UNIXで一般的なアドバイザリロックの場合は、逆に「パッチは適用したつもりだけど、サービス類の再起動を忘れて実は新しいモジュールやデータが反映されてなかった」事態が起こりえますので、一長一短ではあります。
Re: (スコア:1)
別にWindowsだって、実行中のファイルは上書きできないだけで、リネームはできるよ。だからDLLを再起動せずに入れ替える事もできる。
「パッチは適用したつもりだけど、サービス類の再起動を忘れて実は新しいモジュールやデータが反映されてなかった」のが発生するのも同じ。
Re: (スコア:3, 参考になる)
それで思い出したので貼っておきます。
Windows 秘話 : Windows では可能でも行わないことがある [microsoft.com]
実は、Windows では元の DLL の名前を変更し、そこに新しいファイルをコピーすることで、使用中の DLL を置き換えることができます。しかし、Windows ではこの処理が行われていません。なぜでしょう。
Re: (スコア:0)
>Windows では、再起動しない場合に発生する複雑さを回避しているだけ
これは酷い言い訳ですね…。脆弱性の修正については、構造体の意味を変更しない小さな修正の方が多いというのに。
まぁ、この先、live patchingの流行(*1)によって、Microsoftも方針を見直すでしょう、多分。
*1 Oracleが、Kspliceをユーザー空間向けに拡張中
http://japan.zdnet.com/article/35063253/3/ [zdnet.com]
Re:パッチの提供が早くなるのであれば歓迎 (スコア:0)
Hotpatching ぐらい、Windows Server 2003 以降には搭載されています。
Re:パッチの提供が早くなるのであれば歓迎 (スコア:1)
おお、本当だ、凄い。既にWindowsには搭載されてますね>Hotpatching。ただし、Windows Updateからは利用不可(*1)と。ダメじゃん。
Hotpatchingを有効にするためには、アップデータのインストール時の引数に"/hotpatch:enable"を渡す必要があるらしいです。
ううむ、何が問題なんでしょうね。
*1
http://jpassing.com/2011/05/01/windows-hotpatching/ [jpassing.com]