社本@元ネオニート Blog

社本@元ネオニート (元々ワック) のいたずら書き (for Programmers)

AILight Banner
AILight Blog

プロフィール

社本@元ネオニート Blog
働いたら負けかなと思っていたのですが。。とうとう働き始めました。アメリカのシアトル・エリアにある企業向けのバックアップソフトを開発している会社です。日本人は私だけ。なんとか。。やっていけてるようです。

目次

Blog 利用状況

記事分類

過去の記事

タグ

Hotpatching (in-memory patching)

あーーーっ。コレだーーーっ!!
#TechEdで某部屋にいた人には分かるよね?(笑)

Windows Server 2003 SP1 から、プロセスに読み込まれた(メモリ内にある)DLLを
置き換えることができるようです。すげ~~~。

でも、きっと、ステートレスなDLLじゃないとダメだよね。


---
Hotpatching

Hotpatching, also known as “in-memory patching,” is designed to reduce server downtime when you install updates onto computers that are running 32-bit versions of Windows Server 2003 with Service Pack 1 (SP1). The goal is to enable the installation of software updates without having to restart your servers.

If a file is in use when you install a software update, it usually cannot be replaced with the new version until the computer restarts. Hotpatching, however, allows for the automatic insertion of code from a simple software update into a running process. This means that system files can be updated while they are in use.

When a file is hotpatched, the new version of a function from the software update is loaded into memory, and a single line of code in the original function is changed to branch to the new version. After the jump to the new function is injected, each subsequent execution of the function points to the new version. (The next figure illustrates this process.) Applications that are in the middle of a call to the function before the software update was applied are allowed to terminate normally.

Hotpatching is complemented by the usual software update process in which the file on disk is replaced, allowing future spawns of the affected process to contain the software update. Hotpatching is possible only for software updates that provide isolated fixes for individual functions; it is not compatible with software updates that update several interdependent functions. The Knowledge Base article that describes a particular software update will clearly indicate that it is compatible with hotpatching if this is the case.
---


■The Package Installer (Formerly Called Update.exe) for Microsoft Windows Operating Systems and Windows Components - TechNet
http://www.microsoft.com/technet/prodtechnol/windowsserver2003/deployment/winupdte.mspx

投稿日時 : 2005年8月6日 23:06


コメントを追加

#  re: Hotpatching (in-memory patching) 2005年8月7日 2:36 とっちゃん

ほほぉ...

インプロセスでアップデートするって言ってたのは
これだったのね(^^;

#  re: Hotpatching (in-memory patching) 2005年8月7日 3:30 石野 光仁

ほぉ。
これでしたか。 すごいですね。

#  re: Hotpatching (in-memory patching) 2005年8月8日 13:45 菊池

なるほど。

 別にシャドーコピーとかに絡んではいないっぽいねぇ

#  Hot-patching 2006年7月22日 21:11 NyaRuRuの日記

これ 読んでいて思い出しましたが,Windows の Hot-patching について. 以前社本さんに教えていただいたアレです. あーーーっ。コレだーーーっ!! #TechEdで某部屋にいた人には分かるよね?(笑) Windows Server 2003 SP1 から、プロセスに読み込まれた(メモリ内にある)D
タイトル
名前
URL
コメント