Jawaban:
Ini adalah cara memuat kode secara dinamis ke dalam kernel Linux, yang merupakan bagian level terendah dari sistem operasi GNU / Linux. Driver perangkat Windows sering digunakan untuk tujuan serupa. Anda dapat membaca FAQ yang agak lama ini . Beberapa hal telah berubah, tetapi ide dasarnya tetap sama.
Modul kernel adalah bagian kode yang berdiri sendiri yang dimuat ke dalam kernel untuk memberikan dukungan untuk perangkat keras tertentu.
Misalnya kernel Linux itu sendiri tidak dapat menggunakan port serial (RS-232), tetapi ketika Anda memuat modul kernel yang sesuai, itu bisa.
The lsmod
perintah akan menampilkan daftar modul kernel dimuat.
Modul kernel Linux setara dalam konsepnya dengan driver perangkat Windows.
Agar perangkat keras berfungsi, Anda memerlukan driver untuknya di Windows, dan Anda memerlukan modul kernel driver perangkat di Linux.
Driver perangkat harus secara langsung mengakses perangkat keras dan karenanya dijalankan dalam mode kernel. Aplikasi pengguna normal dijalankan dalam mode pengguna. Program mode pengguna memiliki perlindungan terhadap MMU CPU dan tidak dapat mengganggu pengoperasian program mode pengguna lain atau apapun yang berjalan dalam mode kernel. Hal-hal yang berjalan dalam mode kernel tidak memiliki perlindungan ini, tetapi dapat mengakses perangkat keras secara langsung. Jadi ini sebabnya mereka disebut modul kernel.
Anda dapat membangun kernel Linux Anda sendiri, dan memasukkan modul ke dalam kernel. Mereka kemudian berhenti menjadi modul pada saat itu dan merupakan bagian dari kernel. Biasanya bermanfaat jika hanya membangun sejumlah kecil driver yang diperlukan untuk mem-boot dan membiarkan deteksi perangkat keras memuat sisa dari apa yang dibutuhkan, meskipun Anda dapat membangun kernel "statis" yang sepenuhnya tidak mengandalkan memuat modul apa pun jika Anda mau.