cellio: (avatar)
[personal profile] cellio
While waiting for assorted software updates to install today I found myself wondering... Mac OS and Windows usually need to reboot your machine to install updates. Yet I have, several times, seen Unix machines that I believe were being maintained with uptimes of more than a year. What's the deal? Is Unix just better able to support hot-fixes, or are Unix updates that rare? (Or am I wrong about the maintenance of those machines?) And if it's that Unix is better at updating, why does Mac OS, which is Unix-based, need to reboot so often? Mind, it's definitely better in this regard than when I was running Windows; this is a puzzle, not a rant.

Edit: Thanks for the comments thus far. I now understand more about how Unix is put together, and why Windows is different. Still not sure about Mac OS but comments suggest it could be UI-related (that is, the GUI might be more tied into the OS than is the case on Unix).

(no subject)

Date: 2010-11-14 11:39 pm (UTC)
dsrtao: dsr as a LEGO minifig (Default)
From: [personal profile] dsrtao
Hi, I run Linux and NetBSD servers for a financial software-as-a-service company that you have not heard of (unless you are a bank, brokerage or RIA). I also manage the desktop infrastructure, which includes Windows and MacOS boxen.

We have updates to various software packages all the time. Mostly we test these, batch them up, and install during maintenance windows. It is very rare to require a reboot, because pretty much the only thing that requires a reboot to replace is the kernel itself. Now, kernels get updates -- but a non-public, no-shell-users machine that is hidden behind a firewall may see a required update rather less than once a year.

That said, our boxes tend to be up for less than a year at a time simply because not all of them have redundant power supplies, and so our annual re-cabling and box-moving day causes them to be shut down. We have a utility box with dual power supplies which has an uptime nearing four years... it may be shut down only when it has a hardware failure or we need beefier hardware.

(no subject)

Date: 2010-11-15 01:39 am (UTC)
From: [identity profile] goldsquare.livejournal.com
Of course, when it comes to this stuff, [livejournal.com profile] dsrtao is correct at all times.

To expand slightly: it was part of the original design theory of the UNIX kernel that the kernel be responsible in largest part only for the management of memory, the running of processes, and the calling of device drivers. As much as possible of the standard operating system services is to be run outside the kernel as can be. That's why the many comments about "patching the kernel" imply that it is so rare. It's very rare.

In older days, replacing device drivers required compiling them into the kernel and rebooting. Some 25 or so years ago (maybe a touch more), the standard kernels were reconfigured and rewritten to allow the dynamic loading and unloading of device drivers.

Some years ago, the Mach project (an UNIX OS off-shoot) tried to make the kernel as small as possible, and many of its designs were reflected and re-absorbed back into the modern UNIX/Linux family of systems.

Windows is megalithic. UNIX (and its children, primarily Linux) are small and intended to be so. I could not tell you with authority why it is that the MacOS system (which is based upon a Berkeley UNIX system) requires reboots. I suspect it is either that the kernel is often patched -OR- that there is something running alongside the kernel that requires a reboot, and is very proprietary.

Expand Cut Tags

No cut tags