In the old days (Win 3.1, Win 9x) poor memory management of the operating
system required periodic shutdowns simply to "release" memory and prevent
applications from crashing.
Nowadays, well-written applications can run indefinitely under Win2K and
higher O/S's with no rebooting required. Poorer apps will leak memory and
you may still need to reboot occasionally. A buzz phrase among CIO's is
"five nines," which is a theoretical and generally unobtainable goal to keep
systems up and running 99.999% of the time.
What stops us from achieving this?
Installing applications or upgrading drivers usually require reboots.
Of course, many patches and all service packs require reboots, so if you
want to stay current, you are required to reboot according to Microsoft's
schedule. Although I hear they are working on that issue.
Cluster aware apps and load balancing can workaround the issue by failing
over the app while you patch the servers allowing high availability.
Bottom line, if you load balance or cluster or have no need to patch or
upgrade and have plenty of gas for your generator in the event of an
extended power failure, you could probably keep your system up for years,
and obtain the five nines.
Or, if you want to save electricity, simply shutdown when not in use ;-)