Vista To Be Updated Without Reboots
UltimaGuy writes "Microsoft is working on a new feature for Windows Vista, known as Restart Manager, which will update parts of the operating system or applications without having to reboot the entire machine. From 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.'"
Part of the problem has always been that their DLL manager couldn't clean itself up without a reboot.
OCO is Loco
If Longhorn (or, Vitsa) is a brand new OS, built from the ground up, how is it they didn't build that in right from the start?
When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
If the 'restart manager' can selectively idle and replace Windows components and then return them to service without rebooting, it seems as though spyware or virii could potentially hijack the restart manager to do the same thing, making them more difficult to detect and remove without reformatting and reinstalling. Even worse would be stealth malware that would hijack a windows service on a running system with a substitute module, do their whatever-it-is dirty work, and then uninstall themselves and disappear without a trace. The user would be totally unaware that they were ever running, would not know what they did, and there would be nothing left to detect by anti-whatever software.
This is based off of transactional NTFS, which is similiar to a writable snapshot that can be committed back to the MFT.
/ 04/25/411874.aspx
It is pretty cool stuff.. some early sample code from one of the developers is here:
http://blogs.msdn.com/because_we_can/archive/2005
Alas, the immutable locked-file-is-in-use problem has to be fixed one Win32::CreateFile() call at a time.
I suppose CreateFile calls without FILE_SHARE_READ (and no FILE_SHARE_WRITE) could be overridden and converted into TNTFS which would solve a huge amount of stupid lock problems.
Except the Vista implementation is better.
Unix systems gladly replace system libraries that are in use, and just hope that not problems happen because two different versions of the same library are in use simultaneously. The further away from the core libraries you get, the lower the odds of a problem, but it's still a risk. The Unix approach is basically "Let's just go ahead and do it, it'll probably be ok."
Windows takes the safe approach of only updating libraries that are not in use. I'm sure you'd wind up with weird glitches if your apps were using multiple versions of GDI simultaneously. The Windows approach is "It may be ok to update this now, or it may not. Just to be safe, let's not update it until we can guarentee it's safe."
The Vista implementation is going to try to free up libraries, and if it can, will then update them in place. If not, you'll still have to reboot.
This could probably be done by adding a signal to UNIX. When a process receives SIGUPDATE it ignores it by default. If it can quit and relaunch preserving state, then it relaunches itself (fork(), then exit and the child process exec()s the original binary with the original launch options and any required state. The install manager would run through all processes, run ldd on all of them, and if they were using a library that was about to be updated send them SIGUPDATE (after the update, since you can do an in-place replacement of files on a UNIX system). If any of the processes still has the same pid as before the update (i.e. it didn't restart) then the installer tells the user to restart that process manually.
I am TheRaven on Soylent News
Now if they could only make it so I don't have to restart Firefox every time I install a new extension.
Oops, wrong company...
But seriously, why do people criticize Microsoft so much for requiring occasional reboots when a much simpler application, Firefox, requires a restart every time an extension is installed. It seems like a browser extension would be much easier to load on-the-fly than an update to a core part of an operating system, so why not harp on Firefox? Is it because it isn't a Microsoft product? There are plenty of threads in this story's comments bashing Microsoft, saying it's about time they got their act together regarding reboots, etc. But what if Mozilla suddenly announced Firefox 1.5.1 would be able to load extensions on-the-fly? Everyone would cheer for Firefox and sing praises of such an innovative new feature. This story just reminded me of the double standard regarding Microsoft and, well, everyone that isn't Microsoft.
This new Windows feature sounds cool and it doesn't. I don't really care about rebooting, to be honest. It takes 30 seconds of my time (big deal). Stop adding things like this to Vista and just get it done and shipped. I'm still not going to use Vista for moral (DRM) reasons, but still... there must be some people who want it done sooner rather than later.
-William Brendel
Because you don't have separation between directory information and disk information (inodes v. directories) you can't pull the great tricks that UNIX uses (delete/overwrite a file while in use, for example, without the program using it freaking out).
LedgerSMB: Open source Accounting/ERP