Modular Kernel: Difference between revisions

m
Formating Fixes
[unchecked revision][unchecked revision]
No edit summary
m (Formating Fixes)
Line 3:
==What is a Modular Kernel==
 
A modular kernel is an attempt to merge the good points of kernel-level drivers and third-party drivers. In a modular kernel, some part of the system core will be located in independent files called _modules_''modules'' that can be added to the system at run time. Depending on the content of those modules, the goal can vary such as:
* only loading drivers if a device is actually found
* only load a filesystem if it gets actually requested
Line 28:
== How can such a system boot in first place ?==
 
Modularization must be done within certain limits if you still want your system to be able to boot. Pushing _all_''all'' the filesystems and device drivers (including boot device driver) into module will probably make the boot time a hard time. Following solutions can however be used:
* 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 EXT2, [[ReiserFS|reiser]], FAT, NTFS ...).
* The kernel comes with a built-in native file system driver and other storage modules as well as primary configuration files should be stored using that native filesystem. This was the approach followed by Linux, and as soon as some people decided to have [[ReiserFS|reiser]] everywhere, ext2-fs only kernels start having trouble on some machines.
* The bootloader knows it should not only load the _kernel_''kernel'' but also a collection of pre-configured modules so that the kernel only needs to check those pre-loaded modules and initialize them to access other modules and primary configuration files. This basically means that your bootloader is somehow an OS of its own such as [[GRUB]]
 
Anyway, ramdisk drivers and dedicated boot partitions/reserved sectors will be your friends.
50

edits