Ada beberapa alasan yang bagus untuk menggunakan kerneld. Berikut ini
yang akan penulis sebutkan adalah alasan penulis sendiri - yang lain
mungkin ingin menggunakan alasan lainnya.
Jika Anda harus membuat kernel untuk berbagai sistem yang hanya sedikit
berbeda - jenis network card yang berbeda, sebagai contohnya - kemudian Anda
bisa membangun kernel tunggal dan beberapa modules, daripada harus membangun
satu kernel untuk setiap sistem.
modules lebih mudah untuk di test oleh developer - tidak perlu reboot
sistem untuk load / dan unload driver. (Ini berlaku untuk seluruh modules,
tidak hanya untuk yang di load / kerneld.
Modules mengurangi penggunaan memori oleh kernel, artinya Anda punya
lebih banyak memori yang tersedia untuk aplikasi. Penggunaan memori oleh
kernel *TIDAK PERNAH* diswap, sehingga jika digunakan memori 100Kb
dari driver-driver yang tidak digunakan yang dicompile kedalam kernel,
ini merupakan pemborosan RAM.
Beberapa peralatan yang penulis gunakan -- misalnya ftape floppy-tape driver,
atau iBCS -- hanya tersedia sebagai modules, tapi penulis
tidak ingin berurusan dengan proses load / dan unload ketika tidak
membutuhkannya.
Orang-orang membuat distribusi linux tidak perlu membangun 284 boot image
yang berbeda - setiap pemakai me load / driver yang ia butuhkan hanya untuk
hardwarenya. Ini digunakan, contohnya oleh RedHat 4.0 didalam installasinya.
Tentu saja, juga ada alasan mengapa tidak ingin untuk menggunakannya
- Anda mungkin lebih suka untuk hanya memiliki satu file image kernel
dengan seluruh driver di dalamnya. Dalam kasus ini, Anda membaca dokumen yang
salah.