The end of a rant?

I’ve had this rant for a few years now, and I repeat it every time I need to reboot my computer or phone for a system update. Why, in this day and age, should I need to reboot for a system update? The updates should just happen automatically in the background (with my permission, of course) without disrupting my work. The technology to do this has existed for decades. It’s a lot of work to get this to work seamlessly for legacy PC programs, but smart phones run apps in a more controlled environment where this sort of thing wouldn’t be difficult.

Now RIM, maker of BlackBerry smart phones, has purchased QNX, maker of highly robust real-time operating systems. Since 1980, QNX is what you used if your computer happened to be running a nuclear power plant, medical device, car, or anything else that must not fail. System updates don’t even slow it down.

The trick is that QNX is a microkernel operating system. The kernel (the part of the OS that is always running) is tiny. Traditional kernels contain all the code for handling the video display, the hard disk, the keyboard and mouse, and various other services that user-visible programs use. A microkernel is more like a traffic cop, handling messages to and from the programs that provide those services. Need to update your video driver? A new video driver program gets installed, and takes over from the old one. No reboot required. The only thing that requires a reboot is a change to the microkernel itself. And because the microkernel is so small and simple, there’s not much room for bugs to hide. And QNX has had 30 years to shake the bugs out. If RIM decides to go with a no-reboot-ever policy for system updates, they could do it.


2 thoughts on “The end of a rant?

  1. Thanks– Ksplice looks like a very clever service. (As well it should be, as it started from an MIT research project.) It uses a fancy algorithm to generate hot splices when data structures don’t change. And it looks like they might to custom programming to migrate data when data structures do change.

    But patching a live kernel is an inherently dangerous operation, since one misstep can cause serious problems. Imagine if, for example, you applied the wrong filesystem update patch and ended up confusing the device driver files with the web browser cookies. You’d end up with a system that won’t boot. Especially for consumer appliances, Ksplice is no replacement for a system that’s designed from the bottom up for hot patching.

Comments are closed.