So Microsoft has announced that a new feature in Vista will be something called the Vista Restart Manager (/. discussion). Describing what this is in the article:
“If a part of an application, or the operating system itself, needs to updated, the Installer will call the Restart Manager, which looks to see if it can clear that part of the system so that it can be updated. If it can do that, it does, and that happens without a reboot,”
First lets get the obvious out of the way. Unix has had this for a few decades now. I can update every part of my system except for the kernel without rebooting it. I can do everything from updating applications to replacing core system libraries without the need to reboot my linux box. In fact, with Two Kernel Monte you can (in theory, haven’t tried this myself) even replace the kernel without a reboot. Of course running services and applications aren’t magically updated with the latest versions without restarting, but most times if you upgrade a package that is a service (say, dhcpd), it’ll restart the service for you.
If you recall I talked about this a few days ago regarding removing files that are in use (which is I belive why a reboot is required to update windows). To inject a bit of sarcasm, thanks Microsoft for finally bringing us this great feature to us (in a couple of years).
The direction that this Restart Manager is going with this worries me for a couple of reasons. The first one has already been said in the article:
“Get the ‘latest and “greatest’ the minute it’s available. But I do not like it, because it is trying to solve the effect, and not the cause,” he said.
Why not fix the core of the problem (which again, I believe has to do with the fact they can’t replace in-use files), or refactor things so that upgrading the fucking built in music and video player doesn’t require a reboot! I understand that the windows system is huge, it’s more lines of code than I’ve ever seen I’m sure, but hey, wasn’t Vista supposed to be a rewrite?
The second thing is the idea of the “Restart Manager”. Since I’ve heard no details outside of the article I can only make guesses here, but I’m going to say that this “feature” will involve more infrastructure, complexity, and popups. I can imagine that if you go to update something that could possibly affect anything else (be it in-use libraries or running apps), you will end up with a dialog telling you that it’s been updated properly, but until you restart the application (or reboot the OS) the following features won’t work, or something like that. Or this will be tied into some sort of control panel application that has a pretty-but-overyly-wordy GUI to let you do things, giving you all sorts of information about what will work or won’t work until you do the following…
This will of course be tied into a larger app that lets you do this for a whole network of computers, but requires a six-figure MCSE to set it up and manage it.
That’s my predication anyway.
Of course, it seems that MS does understand that rebooting a lot is a bad thing. Jim Allchin says the following
There would be an option in both Microsoft Update and Windows Update where users would be able to “select and say ‘I want everything from Microsoft. Give me the best that you have, keep me updated to the best you have, not just for security fixes, but for everything.’ With that type of situation, you cannot have the machine rebooting a lot. It’s not that there won’t be reboots, there will be, but we are certainly trying to minimize them to a large degree,” he said.
This sounds like he’s getting people ready for the fact that if they want to be updated, they’ll have to learn to live with reboots. *sigh
The Unix (and now Mac) world have had this problem solved quietly and efficiently for the past few years. The solution is elegant and user friendly. In fact, 99% of the time the user doesn’t even get to worry or think about what happens if their webserver files are updated, it just happens and it just works. I hope that Microsoft is working to make their software less complex instead of more complex in making things less complex (and avoiding reboots (sometimes)).