Integrate the Microkernel FAQ into the general FAQ.
[hurd-web.git] / faq / multiserver_microkernel.mdwn
diff --git a/faq/multiserver_microkernel.mdwn b/faq/multiserver_microkernel.mdwn
new file mode 100644 (file)
index 0000000..b4edd9a
--- /dev/null
@@ -0,0 +1,27 @@
+[[!meta copyright="Copyright © 2001, 2002, 2003, 2004, 2005, 2008, 2009, 2013
+Free Software Foundation, Inc."]]
+
+[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
+id="license" text="Permission is granted to copy, distribute and/or modify this
+document under the terms of the GNU Free Documentation License, Version 1.2 or
+any later version published by the Free Software Foundation; with no Invariant
+Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
+is included in the section entitled [[GNU Free Documentation
+License|/fdl]]."]]"""]]
+
+[[!tag faq/general]]
+
+[[!meta title="What is a Multiserver Microkernel?"]]
+
+A Microkernel has nothing to do with the size of the kernel.  Rather, it refers
+to the functionality that the kernel provides.  It is generally agreed that
+this is; a set of interfaces to allow processes to communicate and a way to
+talk to the hardware.  *Software drivers*, as we like to call them, are then
+implemented in user space as servers.  The most obvious examples of these are
+the TCP/IP stack, the ext2 filesystem and NFS.  In the case of the Hurd, users
+now have access to functionality that, in a monolithic kernel, they could never
+use, but now, because the server runs in user space as the user that started
+it, they may, for instance, mount an FTP filesystem in their home directory.
+
+For more information about the design of the Hurd, read the paper by Thomas
+Bushnell, BSG: [[Towards a New Strategy of OS Design|hurd-paper]].