Why Does Windows Require Excessive Rebooting?
psxndc asks: "Ever since I installed the Detonator 3 drivers for my TNT2 card (under windows), I've been having issues with my TVTuner card. I've tried installing older drivers with minimal success. The drivers are easy to select between in the Adapter menu and after rebooting my machine for the umpteen-millionth time, I began to wonder 'Since drivers for the display are so modular, why do I need to reboot my entire machine each time? Why couldn't I do the equivalent of just killing and restarting X?' Why did Microsoft (and other OSs for that matter) make the GUI totally integrated with the OS? There must have been a reason. They could have still kept the modules (kernel, GUI, etc) proprietary binaries and not released the source, so control can't be the reason. What is it then?"
Remember when you couldn't even change resolution or colour depth without a reboot? Well, that time has passed.
I used to think that if a program crashed will using the sound card I wouldn't be able to get a peep from the PC until I rebooted, but go into the system control panel and click on "refesh" and you'll probably get the device back.
Remember, Win9x is an OS for personal PC. It expects to be shut down at night. I have a PC at home I keep running that will often go for weeks without needing to be rebooted, but I don't do much on it and it's the exception.
I can tell you little of what Microsoft does has any technical reasoning. In fact, if irresponsible marketing that really doesn't make a difference (e.g., no 'emergency' CLI mode like OS/2) conflicts with technical reasoning of the utmost concern, that marketing, no matter how flawed, still wins. Everything from drive letters, to symbolic links to many other ideas were dropped for 'marketing' considerations.
[ And we all know how "customizable" NT is -- e.g., ever try using the POSIX subsystem in NT to implement symlinks like someone did in the NT Resource Kit? Pow! Corrupted filesystem! ]
Coming from OS/2, NT was a _real_ disappointment. I got involved in NT because the first native app for NT was Integraph/Bentley Microstation (a traditionally UNIX CAD program, with them trying to cut into AutoDesk AutoCAD PC share via NT). Boy did they make a mistake by going with NT. From lack of dual-monitor support (after request after request) to various, almost anti-CAD decisions, it makes you wonder if Microsoft really cares about the people that use their system (I mean, the only people that did NT for awhile were Integraph users!).
And it got worse. Not even Microsoft's own application group was supporting NT -- heck, that still exists today. Every freak'n ignorant ISV (independent software vendor) to Microsoft themselves totally ignores NT when it comes to designing their applications. As such, we have a wealth of NT ignorant applications resulting in users having to run with full administrator privaledges which, of course, defeat security, yada yada yada.
The only vendor I have ever seen support NT 100% in their installer as well as their apps operation is Digital. Makes you wonder just who wrote Windows NT??? NT = "Not our Technology". And now Digital is all but gone, Compaq does not seem to be holding much of a candle to their old software development attitude.
In 1993, I discovered Linux. In 1994, Gates chose to support "Chicago" (aka MS-DOS 7.x with the GUI atop we now know as Windows 9x), that killed any chance of NT becoming a good product. It had the potential to be one, but hey, it's Microsoft we're talking about here! And they were able to dupe companies like Integraph, Bentley, Micrografx and a host of other companies we can talk about sometime. ;-> Yes, by 1995, I saw Linux was the future!
System administrators have had it with multiuser and network ignorant OSes from Microsoft. I'm one of them. TOC (total cost of ownership) of Microsoft products is a freak'n nightmare. I'm seeing this first hand as I roll out a new batch of dual-booting NT/Linux systems. Thank God my servers are 100% Linux/Solaris at my current job (so it's just the desktop TCO nightmare for now, until Linux takes over ;-).
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
Indeed, MS-DOS wasn't modular either. Many operating systems designed with sane control mechanisms have a way of dealing with disk drives coming on-line and off-line...but not Microsoft (nee Seattle Data Systems) software. In some respects, this "simplifies" the code (read: get it out the door faster) because you don't have to test the boundary conditions of changing the status of a device.
Ask the designers of drivers for removable hard drives what hoops they have to jump through to operate in Windows, or in MS-DOS.
Before anyone thinks I'm bashing Microsoft, I worked with embedded computer systems that didn't carry the baggage of loadable and unloadable drivers -- if you change the hardware configuration you had to reboot and let the initialization software do its thing while the initialization software is in memory. Once initialization is complete, you don't need that code hanging around anymore. It meant, though, that the system didn't gracefully deal with hardware "going away"...but then, neither does Windows as I learned this morning when multiple power sags finally did in a system in my farm...
As to your Detonator 3 driver issues on your Nvidia TNT2-based graphics card:
- Set your graphics drivers to Generic VGA drivers
- Reboot in "Safe Mode"
- Reinstall your Detonator 3 drivers
- Reboot into "Normal" mode
- Test to make sure everything went allright
By the way - install the "Coolbits" keys into your registry and enable all of the tweak settings in the drivers - built-in overclocking!I don't read ACs: If a post isn't worth so much as a nom de plume to its author then I wont bother either.
Win2k doesn't require reboots when changing IP-address etc., *but* it still requires a reboot when you change the network identification (host name). Good work, Microsoft...
This sig under construction. Please check back later.
Yes, I became desensitized to the unforsakable "You must restart your computer for changes to take effect" dialog that I sought out and learned the trick of holding down shift as you click "OK" in the restart dialog to only restart Windows, and not reboot. So I got in the habit of telling Windows, "No, dammit, I don't want to restart now!" and later, when I finished all my finagling, do a quick restart. I kept this up until very recently, using 98se, when I once clicked on "Yes" and lo-and-behold, Windows was smart (sic) enough to do a quick restart on its own. 'Course, I don't think it does so when changing the display adapterr.
;-)
Okay, sure, quick restarts are nothing compared to `killall -HUP inetd` (or similar procedures in BeOS), but what do you expect from an OS that doesn't even know the difference between a device and a regular file. (Ever try renaming something to 'NUL'?)
The only other saving grace is that often, particularly with the Network cpanel, the message to restart is just a suggestion, and not a requirement. I've ignored it plenty of times after changing, say, DNS, and it accepts the changes without restarting. Sure, you'd probably want to fit in a restart sometime in the not-too-distant future, but this *is* Windows we're talking about -- it'll eventually schedule a restart whether you like it or not.
As for your video card troubles, why are you bothering with Detonator3 for a TNT2? I don't know of any significant changes in the TNT portion since Detonator2. In fact, a few benchmarks show a decrease in performance for older cards. I've settled on 5.33 for my TNT, and am leaving the 6.x< for the GeForce and beyond.
Any sufficiently advanced civilization is indistinguishable from Gods.
I have this same problem (kinda) with my computer
I had to do a cold boot last night (without shuting down) and now the computer won't detect my video card, it will only use vga.
So I re-install my video drivers (it tells me they are not made for my video card), reboot, and it still says it only has a VGA adapter, not my Voodoo3! So after good while of reinstalling the driver, it finally says the adapter is a voodoo3, but will only use it in VGA mode. so then it won't let me install my monitor drivers so that I can have better resolution. I don't know what to do, it took my 3 hours to get that far, anyone have any idea?
(Btw, my cards not broken because it works under Win2K and Linux)
- 'Since drivers for the display are so modular, why do I need to reboot my entire machine each time? Why couldn't I do the equivalent of just killing and restarting X?'
X is just an application. Killing & restarting X is like quiting Word then launching it again. Linux can be so much smarter than that.Nice little story: a while back I was working with a small network with a mix of Win & Linux boxen on it. We made some changes to the stuff shared over Samba, but for some reason (memory fails me) these changes were not available on the client machines. So on the linux boxen, we stopped and started Samba (a kernel service). The Windoze boxen... naturally a reboot. Linux providing better support for an MS service :-)
- Why did microsoft (and other OSs for that matter) make the GUI totally integrated with the OS? There must have been a reason. They could have still kept the modules (kernel, GUI, etc) proprietary binaries and not released the source, so control can't be the reason. What is it then?
Why did MS do it? Probably because the suits wanted to exorcise the spectre of DOS that was hanging over the marketing department.But there are valid arguements that the GUI is part of the OS. The OS should provide a useful abstraction of the underlying hardware - e.g. you want a hard disk that stores files rather than blocks of data. Equally, a CLI is a very weak abstraction of the capabilities of a TNT2.
G
If I was taught right, NT was designed be much more modular and robust. But performance was simply pitiable. So, they integrated the GUI and few other tidbits into the kernel to speed it up (to "crawling").
The other reason is simply laziness. It is way easier to simply tell the user to restart instead of cleaning things up.
if you read the PNP spec carefully, it clearly states that most things take affect AFTER a reboot. most of the reboots in windows are caused by hardware modification (add/remove/alter) the state of a device. this requires a reboot. i can only guess why installation of a program would cause a reboot. obviously some parts (dlls) are cached in memory and contain state information that cant handle a simple reload. how otyher OS like beos get around the PNP + PCI specifications i dont know...
Write your Own Operating System [FAQ]!
no sig for you
To update an open driver/executable/DLL, the new file is put into a tempoary storage are, and copied over during the early stages of the next reboot. Windows 95 had an .INI file that contained the files to be updated. NT does it by some other means, possibly involving the registry. I've no idea on Windows 2000, having never touched it.
Of course *real* operating systems do things by better means. Memory mapped executables are refered to purely by the combination of inode and device major/minor pair. Under Linux, even if a running executable is unlinked, the program still runs, and the diskspace is only freed up when the last process unmaps the file. I believe the same is true with kernel modules. Hence running code can be easily updated without a reboot (unless updating the kernel or init).
I've had numerous problems with the OEM Hauppauge WinTV drivers under W95/OSR2.1 on my P2-233 with an ATI 3d Rage Pro. Sound would randomly work or not, and the teletext application vtplus works only once, with one channel, after a clean reboot. The bttv driver for Linux, however, works absolutely great.. Apparently the Hauppauge drivers suck :(
Apparently the Hauppauge drivers suck.. ;)
I mean, on Windows. At least I didn't have display problems with the ATi.. (Next time I'll press preview
Plug and Play is for allocation of IRQ's and IO addresses, which has absolutely nothing to do with the loading, unloading, and configuration of driver software. Windows automatically configures PnP devices at boot time independant of the drivers.
When a program makes a call to a windows/driver function windows actually modifies the code of that program, so that insted of a call to a function it's a direct jump.
eg:
.
mov eax, 55 ; sum assembly code ??
.
call "some system function" - is modified to a jump directly to the memery address.
effectively windows shortcirkets all function calls so that nextime it is called it will be faster. Thus making it quite imposible to unload a system function such as a divice driver (apart from restarting the computer).
This is probly one of the very few "optermizations" that windows has to offer. Althou it's not for the better.
Plz note: I've limmited knolage of assembly language.
Not in Windows 2000. They actually made IP configuration a little more robust. I know this sounds like flamebait, but Windows 2000 isn't all that bad. I still prefer Linux, but I'm getting really sick of X not working right with my GeForce 256.
I don't have to reboot to change my IP address on my WinNT4.0 box (It doesn't ask to). However I remember that it used to ask for reboot when I was running IPX+TCPIP (now its only TCPIP).
Last time I installed an ethernet card on a win98 box, I had to reboot 3 times! (times 5, for the unsuccessful tries). I think it's basically due to lazy programmers - they only readin configuration on startup of program/service. Many programs seem to ask for reboot as a "safty measure" - I often refuse to do so and they work anyway.Aw man, you had to mention the Central Point shell. Boy did I hate the world when Windows 3.1 died and I couldn't run that anymore.
Luckily for us, Gnome/E became stable about 12 months ago and I've been hooked since. Sure there are "similiar" offers for Windows, but not one that works so intelligently like Central Point's did.
Now if Eazel could get a good file manager out for Gnome ... I'd be in heaven!
-- Bryan "TheBS" Smith
-- Bryan "TheBS" Smith
Independent Author, Consultant and Trainer
The reason why NT has graphic subsystem in kernel is performance of it's GUI. Common' the same thing goes for Linux and alike, microkernel OS's were really slow. And graphic subsystem moved out of kernel is also very slow. But when you put it in, you get nice flakky and unstable system. Besides, in new linux kernels you also 'v got framebuffer support, it's just that framebuffers are quite new, ain't they?
I guess that's because switching between Small Fonts and Large Fonts goes a bit deeper than changing all the font sizes: it doesn't change the font sizes, but instead changes the dots per inch setting of the display. Still no reason to require a complete reboot, if you ask me. But Bill Gates & friends didn't ask me, obviously.
This sig under construction. Please check back later.
You CAN do the equivalent of killing and restarting X. Click the start button, select Shut Down, and when it pops open the option box, select Restart. Now, instead of just clicking Ok, hold shift down while clicking it. You'll drop to a dos-like state for a second, and Windows will come back online.
The os loads executable images into memory and backs those executable memory pages with the image on the disk. Unlike unix the file is locked by name instead of by inode so when you try to over write the file Windows complains (the file is locked so that any code that is swapped out to disk can be reloaded).
Now if the filesystem was based on inodes and the inode was locked instead the file could be unlinked from the directory and an new one created and linked to the same directory entry.
Instead to replace files there is a special API that tells Windows that the next time it reboots to do the file replacement before any applications load the executable images and they are locked into memory.
Apparently the Hauppauge drivers suck :(
A-men, brotha! Either the Huppaguge drivers, Windows, or a combination of the two. I've had my WinTV car dunning in Win98, WinNT, Win2K, and BeOS. Guess which one does it best? Be, hands down.
In Windows, the TV app takes 5-10 seconds to start, and sometimes fails to initialize the card until I launch the app a second time. In Be, the card works flawlessly and comes up instantly. While I have found Windows 2000 to be fairly enjoyable in comparison to earlier revisions, it's still nowhere near the quality it could be.
Personally, I think it's an issue of so much legacy code that is still in the way. MS is moving backwards with their OSes lately, dumbing down NT in stead of bringing 9x up to date. It's sad, really. At least I can reboot into a better OS whenever I want...
-Smitty
± 29 dB
Only 3 reboots? Try putting an already installed Windows hard disk into a different computer - I've had over *10* reboots before it was up and running again.