Modul kernel

Modul kernel atau lebih dikenal dalam bahasa Inggris sebagai loadable kernel module (atau disingkat LKM) merupakan berkas berformat biner sebagai kode mesin yang ditujukan untuk menambah fungsionalitas kernel pada sebuah sistem operasi. Umumnya hampir semua sistem operasi bertipe Unix saat ini mendukung pemanfaatan modul kernel meskipun dengan penamaan yang berbeda-beda, seperti kext di Mac OS X. LKM biasanya digunakan untuk mendukung perangkat keras baru, mekanisme sistem berkas baru, ataupun untuk menambahkan mekanisme pemanggilan antar modul. Saat fungsionalitas yang didukung oleh sebuah modul kernel tidak lagi diperlukan, maka modul tersebut dapat dibebaskan untuk memberikan ruang memori yang lebih besar.

Deskripsi 
Tanpa keberadaan modul kernel, sebuah sistem operasi harus menyediakan semua kemungkinan fungsionalitas yang sekiranya dibutuhkan ke dalam basis kernel. Banyak dari fungsionalitas tersebut akan tetap berada dalam memori meskipun tidak digunakan sehingga sehingga membatasi ketersediaan memori yang ada. Untuk mengatasi permasalahan tersebut, pengguna diharuskan melakukan rekonfigurasi serta rekompilasi sehingga kernel tersebut dapat bekerja sesuai dengan kebutuhan pengguna. Hal ini tidak terjadi apabila fungsionalitas tersebut disediakan dalam bentuk modul-modul kernel, sistem ataupun pengguna dapat dengan mudah mengaktifkan sebuah modul saat membutuhkan fungsionalitas tertentu ataupun menonaktifkannya saat fungsionalitas tersebut tidak lagi dibutuhkan.

Masalah lisensi 
Dalam opini para pengembang sistem operasi linux, LKM merupakan turunan dari proses penulisan kernel. Mereka mentolelir pendistribusian modul-modul berbasis sumber tertutup, tetapi semua simbol yang ada pada modul tersebut harus berbasis pada penggunaan lisensi GNU.

Lihat pula 
 Device driver

Pranala luar 
  IBM DeveloperWorks in-depth article on LKM
  Online kext database for OSX / Hackintosh 
  Ori Pomerantz, Linux Kernel Module Programming Guide
  Copyright Considerations With LKMs 
  Another LKM programming tutorial 
  "Kernel Extension Programming Topics" document for Mac OS X

Teknologi sistem operasi