Modular Kernel: Difference between revisions
m
Made it slightly nicer to read.
[unchecked revision] | [unchecked revision] |
m (Fix lack of introduction by making the first section into the introductyion) |
m (Made it slightly nicer to read.) |
||
Line 1:
{{Template:Kernel designs}}
A modular kernel is an attempt to merge the good points of kernel-level drivers and third-party drivers. In a modular kernel, some
* only loading drivers if a device is actually found
* only load a filesystem if it gets actually requested
Line 11:
==What are some advantages and disadvantages for a Modular Kernel?==
===Advantages===
* The
* The core kernel isn't as big
* If you need a new module, you don't have to recompile.
Line 23:
There are several components that can be identified in virtually every modular kernel:
;
:
;
:
;
: This contains additional information about the core and loaded modules that the module loader needs in order to ''link'' a new module to the existing kernel.
;
: As soon as you want to ''unload'' some module, you'll have to know whether you can do it or not. Especially, if a module ''X'' has requested symbols from module ''Z'', trying to unload ''Z'' while ''X'' is present in the system is likely to cause havoc.
;Modules
: Every part of the system you might want (or don't want) to have.
== How can such a system boot in first place ?==
Modularization must be done within certain limits if you still want your system
* The kernel is provided with an extremely simple [[File Systems|filesystem]] (e.g. SCO's [[BFS]]) driver and that filesystem contains modules to access the rest of system storage (e.g. module for ATA, SCSI, EXT2FS, [[ReiserFS]], FAT, NTFS ...).
* The kernel comes with a built-in native file system driver
* The bootloader knows it should not only load the ''kernel'' but also a collection of pre-configured modules so
==See Also==
|