Messages in this thread | | | Date | Mon, 31 May 1999 23:35:37 +0100 (GMT) | From | Bryn Paul Arnold Jones <> | Subject | Re:Linux is a MicroKernal? (was:is linux obsolete) |
| |
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
On Sun, 30 May 1999, Michael B. Trausch wrote: > > Excuse my ignorance, as I'm only 16 and I haven't had the oppourtunity to > take any CS related classes on OS design or anything -- but what is a > monolithic kernel and microkernel, and what is the difference between the > two, from a technical standpoint? >
Ok... Linux is a monolithic kernel, there is one binary which has everything in[1]. If one function needs to call annother, it can do so directly, but there is usally a set interface which should be called and lower level functions which shouldn't.
A microkernel is a very different thing, at the core is the microkernel, which dosn't do very much at all, just message passing and memory management is all. There are then userspace servers (which are priviliged) which do everything else (networking, disk drivers, block IO, filesystems, what have you). It's all tied together by the message passing...
The ironic thing is that the microkernel (in total) is larger than a monolithic kernel...
Bryn
[1] the binary may never exist as a whole execpt in the memory of a running box, this is the case with solaris[2], and linux with modules loaded[3] [2] the modules exist in directory structure and are loaded and linked together at boot time (or shortly after). [3] The modules really are linked into the running kernel when they are loaded. - -- Or words to that effect ... PGP pubkeys from http://www.gytha.demon.co.uk/pubkey.asc.
-----BEGIN PGP SIGNATURE----- Version: PGPfreeware 5.0i for non-commercial use Comment: Silly comment here ... Charset: noconv
iQA/AwUBN1MOvt94IUtvfSqaEQJ/EACgtElGivFOBdwyTfeTGtbqpJTokPwAoL1f 4phX8QdgFku+NMT3Zh/ZzrKh =sGun -----END PGP SIGNATURE-----
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |