Sabtu, 25 Juni 2011

Pengertian / Arti Modul Kernel Linux


a.       Modul KernelLinux
            Modul kernelLinux adalah bagian dari kernel Linux yang dapat dikompilasi, dipanggil dandihapus secara terpisah dari bagian kernel lainnya saat dibutuhkan. Modulkernel dapat menambah fungsionalitas kernel tanpa perlu me-reboot sistem.Secara teori tidak ada yang dapat membatasi apa yang dapat dilakukan oleh modulkernel. Kernel modul dapat mengimplementasikan antara lain device driver,sistem berkas, protokol jaringan.
            Modul kernel Linux memudahkan pihaklain untuk meningkatkan fungsionalitas kernel tanpa harus membuat sebuah kernelmonolitik dan menambahkan fungsi yang mereka butuhkan langsung ke dalam imagedari kernel. Selain hal tersebut akan membuat ukuran kernel menjadi lebihbesar, kekurangan lainnya adalah mereka harus membangun dan me-reboot kernelsetiap saat hendak menambah fungsi baru.

            Dengan adanya modul maka setiappihak dapat dengan mudah menulis fungsi-fungsi baru dan bahkanmendistribusikannya sendiri, di luar GPL. Kernel modul juga memberikankeuntungan lain yaitu membuat sistem Linux dapat dinyalakan dengan kernelstandar yang minimal, tanpa tambahan device driver yang ikut dipanggil.Device driver yang dibutuhkan dapat dipanggil kemudian secara eksplisit maupunsecara otomatis saat dibutuhkan.
            Terdapat tiga komponen untukmenunjang modul kernel Linux. Ketiga komponen tersebut adalah manajemen modul,registrasi driver, dan mekanisme penyelesaian konflik. Berikut akan dibahas ketigakomponen pendukung tersebut.

1.      ManajemenModul Kernel Linux
         Manajemen modul akan mengaturpemanggilan modul ke dalam memori dan berkomunikasi dengan bagian lainnya darikernel. Memanggil sebuah modul tidak hanya memasukkan isi binarinya ke dalammemori kernel, namun juga harus dipastikan bahwa setiap rujukan yang dibuatoleh modul ke simbol kernel atau pun titik masukan diperbaharui untuk menunjukke lokasi yang benar di alamat kernel.
         Linux membuat tabel simbol internal dikernel. Tabel ini tidak memuat semua simbol yang didefinisikan di kernel saatkompilasi, namun simbol-simbol tersebut harus diekspor secara eksplisit olehkernel. Semua hal ini diperlukan untuk penanganan rujukan yang dilakukan olehmodul terhadap simbol-simbol. Pemanggilan modul dilakukan dalam dua tahap. Pertama,utilitas pemanggil modul akan meminta kernel untuk mereservasi tempat di memorivirtual kernel untuk modul tersebut.
         Kernel akan memberikan alamat memoriyang dialokasikan dan utilitas tersebut dapat menggunakannya untuk memasukkankode mesin dari modul tersebut ke alamat pemanggilan yang tepat. Berikutnyasystem calls akan membawa modul, berikut setiap tabel simbol yang hendakdiekspor, ke kernel.
         Dengan demikian modul tersebut akanberada di alamat yang telah dialokasikan dan tabel simbol milik kernel akandiperbaharui. Komponen manajemen modul yang lain adalah peminta modul. Kernelmendefinisikan antarmuka komunikasi yang dapat dihubungi oleh program manajemenmodul. Saat hubungan tercipta, kernel akan menginformasikan proses manajemenkapan pun sebuah proses meminta device driver, sistem berkas, ataulayanan jaringan yang belum terpanggil dan memberikan manajer kesempatan untuk memanggillayanan tersebut. Permintaan layanan akan selesai saat modul telah terpanggil.Manajer proses akan memeriksa secara berkala apakah modul tersebut masihdigunakan, dan akan menghapusnya saat tidak diperlukan lagi.

2.      RegistrasiDriver
         Untuk membuat modul kernel yang barudipanggil berfungsi, bagian dari kernel yang lain harus mengetahui keberadaandan fungsi baru tersebut. Kernel membuat tabel dinamis yang berisi semua driveryang telah diketahuinya dan menyediakan serangkaian routines untuk menambah danmenghapus driver dari tabel tersebut. Routines ini yang bertanggung-jawab untukmendaftarkan fungsi modul baru tersebut.
Hal-hal yang masukdalam tabel registrasi adalah:
devicedriver
• sistem berkas
• protokoljaringan
• format binari

3.      ResolusiKonflik
         Keanekaragaman konfigurasi perangkatkeras komputer serta driver yang mungkin terdapat pada sebuah komputer pribaditelah menjadi suatu masalah tersendiri. Masalah pengaturan konfigurasiperangkat keras tersebut menjadi semakin kompleks akibat dukungan terhadap devicedriver yang modular, karena device yang aktif pada suatu saatbervariasi.
         Linux menyediakan sebuah mekanismepenyelesaian masalah untuk membantu arbitrasi akses terhadap perangkat kerastertentu. Tujuan mekanisme tersebut adalah untuk mencegah modul berebut aksesterhadap suatu perangkat keras, mencegah autoprobes mengusik keberadaan driver yangtelah ada, menyelesaikan konflik di antara sejumlah driver yang berusahamengakses perangkat keras yang sama.
         Kernel membuat daftar alokasi sumberdaya perangkat keras. Ketika suatu driver hendak mengakses sumber daya melaluiM/K port, jalur interrupt, atau pun kanal DMA, maka driver tersebut diharapkanmereservasi sumber daya tersebut pada basis data kernel terlebih dahulu. Jika reservasinyaditolak akibat ketidaktersediaan sumber daya yang diminta, maka modul harus memutuskanapa yang hendak dilakukan selanjutnya. Jika tidak dapat melanjutkan, maka modultersebutdapat dihapus.

Tidak ada komentar:

Posting Komentar