Kerneled More

Speaking of kernel bugs, Windows is up to thirteen this year; the latest is expected to go unpatched until at least September. However, like the Linux vulnerability, this is an isolated local issue, so users have very little to worry about unless others have physical access to their PCs.
Whew! Just got back from a whirlwind trip to Swaziland, where I met with a series of foreign investors. I am more and more impressed with the technical savvy of exiled Nigerian royalty, by the way.

But seriously, thanks for stopping by. What we have here is a monster in the making, a virtual hierophant of websites. All about the fascinating and deep topic of kernels.

The kernel is basically the heart of your operating system, just as the CPU is the heart of your computer’s hardware. The kernel will allow your hardware and software to communicate — as a matter of fact, it actually makes calls on a regular basis. System calls, that is. Plus loading and unloading modules, and all sorts of other stuff that the operating system needs to do to connect the applications to the hardware.

These lines of communication are (to use a seriously flawed analogy) somewhat like the difference between serial and parallel…the first being mainly consecutive stages, the latter being simultaneous stages. It is nowhere near that simple, of course, but we only have so much space…

Monolithic kernels: all layers are consecutive; the app communicates with the hardware through a series of operating system software stages. A single address space is used to execute OS code – – sort of a “one – stop execute” model, with the obvious drawback that any localized issue can affect the entire system.

Microkernels: the kernel itself has minimal OS – to – hardware demands (multitasking, memory management, etc.), instead turning over many hardware-related services to modular ‘servers’ in the user space. The obvious theoretical advantages were not often borne out by actual performance until fairly recently. “Nanokernels” take this approach even farther, with even basic services handled by device drivers.

Exokernels: similar to microkernels and nanokernels in that the kernel is kept as small as possible, simply delivering the basic hardware resources directly and letting the apps sort it all out. Very intriguing, but so far mostly relegated to the academic research stage for now.

Did these strategies include:

  • the publication of a ridiculously slanted book (“Samizdat”) attacking open source and the Linux kernel in particular? Well, the Alexis deTocqueville Institution, the publishers of the book, were funded by Microsoft…
  • SCO Group lawsuits against several major companies over alleged (as in, fictitious) ownership of Unix source code, which had been allegedly (as in, not at all) misappropriated into Linux? Well, SCO has received over $112 Million from Microsoft…