“For all its virtues as an open operating system, however, Linux
— or specifically the Linux kernel — throws significant obstacles
in the way of developers wishing to modify it. The first thing you
encounter when studying it is its sheer size, consisting of
thousands of source files. The amount of functionality included in
the Linux kernel is impressive but daunting, with everything from
the lowest level scheduling and memory management to higher level
networking included in the kernel. Also, Linux kernel development
is dominated by a hacker ethos, in which external documentation is
held in contempt, and even code comments are viewed with
suspicion.”
“One possible approach to managing OS complexity is the use of
an OS based on a “microkernel” architecture, of which the Hurd is a
promising example. Originally a project of the Free Software
Foundation, the Hurd has caught the interest of a number of other
groups. (The Hurd is always referred to as “the Hurd,” not just
“Hurd.” The word stands for “Hird of UNIX-replacing daemons.” For
more information about the genesis of the Hurd, see
http://www.cs.pdx .edu/~trent/gnu/hurd/. “Hird,” on the other hand,
stands for “Hurd of interfaces representing depth.”) Work began on
the Hurd in 1990, just before Linux was started, with the goal of
it becoming the centerpiece of the GNU operating system.”
“The Hurd’s attempt at modularity goes beyond using a
microkernel with clean interfaces. It also organizes the extra
kernel OS facilities into modules called “servers” (or daemons;
these are the “UNIX-replacing daemons” referred to in the Hurd
acronym). Each provides a fixed set of services to user
applications. They communicate with each other, the kernel, and
user processes by a set of clean interfaces.”