Image
Image
Image
Why the Myth was Woven
This myth is the main thread holding together the
Mac OS X Needs a Linux Kernel Myth. According to the
Copy/Paste Development Myth, this should all be easy to fix: yank out that Mach stuff, and throw in Linux!
The Myth Weavers
This myth is of the wishful thinking type, making it more of an irritating distraction from reality than devious misinformation, but it's also used in fanboyism that borders on FUD.
What is a Kernel?
The Unix
Kernel is the master control program which governs all other programs, schedules access to hardware, and manages the file system and security model. The name kernel differentiates the core system (which runs as the root process with special privileges) from everything else on the system (which runs under restricted user accounts). Everything outside of the kernel space is called the
userland.
In the natural development of Unix, the kernel began to grow rapidly. For example,
Berkeley's famous contribution to Unix was a fully functional TCP/IP networking stack. A rapid influx of other new functionality in the core kernel space has resulted in modern versions of Unix (and Linux, which is essentially a clean room rewrite of Unix) having 2-3 million lines of code in their kernel alone.
What is a Microkernel?
Microkernel refers to an approach to system design that began as a reaction to the rapid expansion of the standard Unix kernel into a fat, monolithic chunk of code.
In Unix,
system complexity is managed by breaking up functions into discreet components. Each component can then be linked together in logical ways to perform very complex tasks. This enables the individual components to be improved and refined in a manageable fashion.
Microkernel development came to be seen as a way to apply this Unix design model, common in userland functions, to the kernel itself. During the mid 80s, academia plunged into microkernel development. One of the more famous projects that involved microkernel design principles was
CMU's Mach project.
Image
Read more about:
Click one of the links above to display related articles on this page.