Coolest patch ever

So, I was recently talking to a colleague of mine who has spent a good number of years in the defense industry. As he was reminiscing the good old days, the conversation gradually drifted to a more interesting discussion about a guy who was a software developer: It was the cold war era and there was this critical monitoring system (with some version of MULTICS running on it) that needed an important kernel update. And the catch: the system can't be switched off even for a second and (probably) it was a core update or may be LKMs didn't exist then :)

So, our smart guy did something that no one had ever done in those times. He built a system with an exactly similar configuration and made whatever changes needed to the kernel. Then, he compiled it and came up with a binary diff between the changed kernel and the original one. The next step: Yes, you guessed it, he identified sections of the running kernel where there have been changes and set the non-executable bits on them (in the critical system). After that, it was just a matter of applying the patch. And there you are! the system stayed on as it always was :)

PS: I am really not sure how possible it is with today's OSes but I find the whole idea quite fascinating.

recykling (not verified) on June 12th 2008

Thanks.Your blog is useful.

Miciah Dashiel Butler Masters (not verified) on June 12th 2008

Apparently, it is possible: see Ksplice.

Sujata (not verified) on June 07th 2008

Yeah, it's possible today using the active-passive (or executive-standby) nodes of the cluster server where the two nodes are connected thru heartbeat network that's nothing but a watchdog imlementation in the cluster for monitoring both the nodes.
Whenever u make changes, u do in the passive one and then swap the control. Now the previoulsy active node that is now passive, updates itself via UPB (update bus). Both are in synch now again.

But, i wonder how that sw developer was able to keep that real time configuration the same during the compilation of the other one for getting the diff.

Don't u think it's like a system switch-off for few seconds or milliseconds??!!

Sridhar (not verified) on June 06th 2008

nice.. one of my friend(from the same era) was more on the network engineering end.. most of his reminiscing digressions ends with "this talk never happened" :P

BTW your captcha just gave me an awesome idea.. what if instead of simple addition, you put a partial differential equation to solve.. and write.. "Ahem.. you may be human.. are you.. I mean.. intelligent" :D ...

bandan on June 06th 2008

>>BTW your captcha just gave me an awesome idea.. what if instead of >>simple addition, you put a partial differential equation to >>solve.. and write.. "Ahem.. you may be human.. are you.. I mean.. >>intelligent" :D

LOL! Nice.. "Are you intelligent enough to post a comment ?" LOL