Helping people with computers... one answer at a time.

When Windows updates itself it's subject to many of the same rules other software is. One rule: you can't make changes to running software.

Why is a system restart required on installing any patches OR any specific software (E.g. Windows update)? Exactly What happens in the system during such restart?

Have you ever run into the "File In Use" problem? You know, the one where you can't delete a file because someone else is using it? Or perhaps you've encountered "device cannot be stopped right now" when trying to safely remove a USB device?

Windows runs into exactly the same problems.

Only worse, actually.

Windows update is, of course, about updating Windows itself - that much is clear.

There are two important things to realize about Windows:

"... you can't make changes to a computer program while it's running."
  • It's huge. Patches or updates actually only strategically update portions of Windows. The portions that are updated vary from patch to patch depending on what parts of Windows are considered to need immediate updating. Updating all of Windows at once is the stuff of service packs or completely new releases.

  • It's just a computer program. Yes, it's a big, complex and important computer program, but it's a computer program nonetheless. In many ways a Windows computer program which means that it's subject to all of the rules of Windows computer programs that it, itself imposes.

The rule that second point imposes is very simple: you can't make changes to a computer program while it's running.

And some portions of Windows are always running.

The good news is that Windows is huge, and some portions - many portions perhaps - either aren't running or can be temporarily stopped so that they can be updated. When only these portions of Windows are updated, no reboot is required.

The other portions pose a problem.

The solution is a sequence that looks something like this (over simplifying somewhat, as usual) :

  • Windows update notices that a file it wants to update is in use, and cannot be updated.

  • The new version of the file is copied to a temporary location instead.

  • Instructions are added to the system which are to be executed on the next boot.

  • Windows Update informs you or annoys you with the message that a reboot is required - or if so configured just reboots the machine when it's done.

  • Windows reboots.

  • As early in the boot sequence as possible, before the affected programs have begun to run, the instructions left behind delete or move the old version of the file to be updated, and replace it with the new one from the temporary location.

  • The boot sequence then proceeds and the new version of the file is used.

The old version of the file may be preserved if the update can be reverted, otherwise it's simply deleted.

I'm sure you've also seen updates that happen as the machine is shutting down - the same concept applies: components are updated after they've shut down as Windows shuts down, and Windows elects to update them as it closes so that when it starts up again the new versions will be in place.

There's a lot of effort that's gone into reducing the number of reboots an update (or even an install) requires. Given the complexity of the software managing all the possible combinations and possible "in between" states is a pretty large undertaking. By and large reboots now happen only when they really need to.

Even if that still seems to be more often than we might want.

Article C4367 - July 10, 2010 « »

Share this article with your friends:

Share this article on Facebook Tweet this article Email a link to this article
Leo Leo A. Notenboom has been playing with computers since he was required to take a programming class in 1976. An 18 year career as a programmer at Microsoft soon followed. After "retiring" in 2001, Leo started Ask Leo! in 2003 as a place for answers to common computer and technical questions. More about Leo.

Not what you needed?

6 Comments
Soul
July 11, 2010 12:55 AM

What will happen if when Windows or any other software for that matter requires a reboot to update, but then I do not reboot until the very last minute then I just shut down the computer. Will the software be updated the next time I turn the computer on??

Yes. A reboot is nothing more than a shutdown (without turning off the power) and immediate boot, so whenever the next boot happens the updates will install then.
Leo
11-Jul-2010

Mark Jacobs
July 11, 2010 2:39 AM

If you don't update right away when asked it won't harm anything. You can simply wait until you shut down to reboot. Some programs are friendly and let you know this. Others are written by more arrogant programmers who make you think your computer will suffer if you don't reboot immediately. MS is in the arrogant category and not only scares you but until recent versions would bug you every few minutes to reboot. Now at least they give you the option of postponing the warning for 4 hours.

Ken B
July 12, 2010 10:21 AM

Mark:

until recent versions would bug you every few minutes to reboot
I learned long ago to simply not answer the "reboot now, or bug you again in 5 minutes" dialog. Instead, I would drag the window as far to the edge of the screen as I could, leaving only a few pixels visible, and ignore it.
Funny. That's my solution too. Smile
Leo
13-Jul-2010

Bob.
July 13, 2010 5:02 AM

The last dialog I saw went along the lines of "Windows IS rebooting in 15 minutes" with a button for 'reboot now' and one for 'reboot later'. The only problem being, the 'reboot later' button was greyed out.
Most of the time, this is not a problem, but if you're in the middle of something that will take longer than 15 minutes....

prk
July 13, 2010 1:41 PM

It used to be said that Unix OS ( and Perhaps Linux too) do not have this Need to reboot for installing OS Updates, as an unvarying UNIX/Linux core/kernel keeps running, overlaid on which are the other and changeable /upgradable parts of the OS. So except for the rare kernel change, reboot is never needed for a Unix/Linux system. And definitely not needed for installing ANY Applications, whatever they be, WordProcessing, Spreadsheets, CAD and so on. Whereas Windows needs reboot for practically Every Application for completing the installation of that application.

bobvdk
November 12, 2011 7:17 AM

Is it really true that all MS patches can be "installed" on running system with no potential for bad behavior? I have anecdotes which suggest otherwise, especially if you wait a long time (months) before rebooting. I don't have any hard, repeatable proof of this sort of failure, but it seems to occur from time to time.

Comments on this entry are closed.

If you have a question, start by using the search box up at the top of the page - there's a very good chance that your question has already been answered on Ask Leo!.

If you don't find your answer, head out to http://askleo.com/ask to ask your question.