Opentopia Directory Encyclopedia Tools

Hybrid Kernel

Encyclopedia : H : HY : HYB : Hybrid Kernel


Graphical overview of a hybrid kernel
Graphical overview of a hybrid kernel

Hybrid kernels are a controversial category; they have been dismissed by some as just marketing. The usually accepted categories are monolithic kernels and microkernels (with nanokernels and picokernels seen as more extreme versions of microkernels).

The idea behind this quasi-category is that they have some "non-essential" machine code in the kernel address space in order for that code to run more quickly than it would were it to be in user space. In the case of Windows NT, for example, depending on your definition of "non-essential", this could have been the case since the first release, as file systems, networking code up to the transport layer, and many device drivers run in the kernel address space, or could have happened in NT 4.0, when the graphical subsystem was brought into the kernel to improve performance.

The lowest level of Windows NT's kernel code is called the kernel, while higher-level services are implemented by the NT executive, which also runs in the kernel address space. Various servers communicate through a cross-address-space mechanism called Local Procedure Call (LPC), and notably use shared memory in order to optimize performance.

Putative hybrid kernel examples

Just marketing?

Many operating systems and kernel experts have dismissed the label as meaningless.

Linus Torvalds said of this issue: "As to the whole 'hybrid kernel' thing - it's just marketing. It's 'oh, those microkernels had good PR, how can we try to get good PR for our working kernel? Oh, I know, let's use a cool name and try to imply that it has all the PR advantages that that other system has'"[Linus Torvalds, Real World Technologies Discussion Forum] (2006-05-09)

Sonny Rao of the IBM LTC Kernel Performance File/IO team said: "It's wrong...I think this talk ... was born from some kind of half-assed marketing game to try and make XXX kernel seem 'more advanced.' 'Micro' and 'hybrid' are always better/more advanced than 'Monolithic' right??[Sonny Rao, Real World Technologies Discussion Forum] (2006-05-08)

Tzvetan Mikov (compiler practitioner) writes: "Networking, storage, filesystems, usb, audio and everything else is in the same kernel address space, sharing data structures, etc, and has always been since the very inception of NT. That's how it was designed and as far as I know, there was never any intent to implement any of that in user mode... I guess we could call it a hybrid if it was designed to support user-mode drivers, at least optionally, e.g. for USB, file systems, and it offered at least some guarantees that a crash in such a user-mode driver would not bring down the system, but it isn't."[Tzvetan Mikov, Real World Technologies Discussion Forum] (2006-05-08)

Notes

}

References

See also

 


From Wikipedia, the Free Encyclopedia. Original article here. Support Wikipedia by contributing or donating.
All text is available under the terms of the GNU Free Documentation License See Wikipedia Copyrights for details.

Search Titles
0123456789
ABCDEFGHIJ
KLMNOPQRST
UVWXYZ?

E-mail this article to:

Personal Message: