Kernel: Difference between revisions

Drop dubious claims about "hybrid kernels"
[unchecked revision][unchecked revision]
(Drop dubious claims about "hybrid kernels")
 
(2 intermediate revisions by 2 users not shown)
Line 20:
==Subset Kernel Models==
 
These models can usually be categorized as either of the above and usualusually mix concepts from both.
 
===Hybrid Kernel===
{{main|Hybrid Kernel}}
TheThis hybridis kernel,a oftencontroversial calledterm thefor macrokernel,a isvariant primarily aof monolithic kernelkernels. ItThe differsdefinition invaries thatand thehas partsbeen ofapplied itto arekernels usuallywhich segmentedare eitherlayered in codedesign, bysuch aas few[[XNU]] physicaland modulesWindows orNT, aas mixturewell ofas both.to Unlikesome microkernels,kernels which(such as DragonFly BSD) that internally use atechniques such as message passing systemthat toare communicateoften associated with user space modules,microkernels. hybridHybrid kernels are usually linked together at run time and still exist as a whole in kernel space. The term is usually reserved for kernels whose core functions are modularisedlayered or where microkernel-like design patterns are employed, not for systems whothat have the ability to load drivers as separate kernel modules.
 
===Modular Kernel===
{{main|Modular Kernel}}
Also a monolithic model, the modular kernel, which is usually far more modular than the hybrid kernel, is based upon the same concept. The major difference is the usual ability for the kernel to load numerous unknown core modules, as opposed to simply loading in known kernel parts. It is also never considered modular because of the use of namespaces, or a simplified codebase.
 
===Nanokernel===
Line 37:
{{main|Exokernel}}
Also a tiny kernel design, the exokernel represents as little abstraction as possible, the complete opposite of the nanokernel. An exokernel is intended to give untrusted programs as much control over the hardware as possible, and in a secure way. This allows programs to take advantage of the details of present hardware instead of having to rely on the kernel to do this, which in some cases can result in drastic performance improvements. This goes however at the cost of having to write more complex software. This is quite often programmed in system libraries which provide the abstraction on the kernel's behalf.
 
[[de:Kernel]]
[[Category:Kernel]]
4

edits