Pengertian Modul Kernel Linux
Modul kernel Linux adalah bagian dari kernel Linux
yang dapat dikompilasi, dipanggil dan dihapus secara terpisah dari bagian
kernel lainnya saat dibutuhkan. Modul kernel dapat menambah fungsionalitas
kernel tanpa perlu me-reboot sistem. Secara teori tidak ada yang dapat
membatasi apa yang dapat dilakukan oleh modul kernel. Kernel modul dapat
mengimplementasikan antara lain device driver, sistem berkas, protokol
jaringan.
Modul kernel Linux memudahkan pihak lain untuk
meningkatkan fungsionalitas kernel tanpa harus membuat sebuah kernel monolitik
dan menambahkan fungsi yang mereka butuhkan langsung ke dalam image dari
kernel. Selain hal tersebut akan membuat ukuran kernel menjadi lebih besar,
kekurangan lainnya adalah mereka harus membangun dan me-reboot kernel setiap
saat hendak menambah fungsi baru. Dengan adanya modul maka setiap pihak dapat
dengan mudah menulis fungsi-fungsi baru dan bahkan mendistribusikannya sendiri,
di luar GPL.
Kernel modul juga memberikan keuntungan lain yaitu
membuat sistem Linux dapat dinyalakan dengan kernel standar yang minimal, tanpa
tambahan device driver yang ikut dipanggil. Device driver yang dibutuhkan dapat
dipanggil kemudian secara eksplisit mau pun secara otomatis saat dibutuhkan.
Terdapat tiga komponen untuk menunjang modul kernel
Linux:
v
managemen modul,
v
registrasi driver, dan
v
mekanisme penyelesaian konflik.
Manajemen Modul Kernel Linux
Manajemen modul akan mengatur pemanggilan modul ke
dalam memori dan berkomunikasi dengan bagian lainnya dari kernel. Memanggil
sebuah modul tidak hanya memasukkan isi binary-nya ke dalam memori kernel, namun
juga harus dipastikan bahwa setiap rujukan yang dibuat oleh modul ke symbol
kernel atau pun titik masukan diperbaharui untuk menunjuk ke lokasi yang benar
di alamat kernel. Linux membuat tabel simbol internal di kernel. Tabel ini
tidak memuat semua simbol yang didefinisikan di kernel saat kompilasi, namun
simbol-simbol tersebut harus diekspor secara eksplisit oleh kernel. Semua hal
ini diperlukan untuk penanganan rujukan yang dilakukan oleh modul terhadap
simbol-simbol.
Pemanggilan modul dilakukan dalam dua tahap:
v
Utilitas pemanggil modul akan meminta kernel untuk mereservasi tempat di
memori virtual kernel untuk modul tersebut, kemudian Kernel akan memberikan
alamat memori yang dialokasikan dan utilitas tersebut dapat menggunakannya
untuk memasukkan kode mesin dari modul tersebut ke alamat pemanggilan yang
tepat. Berikutnya system calls akan membawa modul, berikut setiap tabel simbol
yang hendak diekspor, ke kernel. Dengan demikian modul tersebut akan berada di
alamat yang telah dialokasikan dan tabel simbol milik kernel akan diperbaharui.
v
Komponen manajemen modul yang lain adalah peminta modul. Kernel
mendefinisikan antarmuka komunikasi yang dapat dihubungi oleh program managemen
modul. Saat hubungan tercipta, kernel akan menginformasikan proses managemen
kapan pun sebuah proses meminta device driver, sistem berkas, atau layanan
jaringan yang belum terpanggil dan memberikan manajer kesempatan untuk
memanggil layanan tersebut. Permintaan layanan akan selesai saat modul telah
terpanggil. Manajer proses akan memeriksa secara berkala apakah modul tersebut
masih digunakan, dan akan menghapusnya saat tidak diperlukan lagi.
0 komentar:
Posting Komentar