Monday, March 21, 2011

Mengenal Apa itu Kernel ???

Kernel merupakan bagian inti dari suatu sistem operasi, dengan kata lain dia adalah jantung dari sistem operasi. Kernel ini mengendalikan kerja dasar dari sistem operasi dan yang erat kaitannya dengan perangkat keras, misal pengelolaan memori (memori management), pengelolaan proses (process management) termasuk job scheduling dan context switching, pengelolaan Input Output (I/O) termasuk filesystem dan driver perangkat I/O serta beberapa fungsi mendasar lainnya seperti kontrol akses. Kernel Linux dikembangkan oleh pengembang sedunia yang dipimpin oleh Linus Torvald. Untuk memperbaharui kernel Linux tak perlu dilakukan penggantian seluruh sistem operasi, cukup melakukan kompilasi kernel yang baru. Kernel dan informasi terbaru dapat diperoleh di http://www.kernel.org 


Definisi yang lain mengatakan Kernel adalah sebuah perangkat lunak yang membuat komunikasi / mediator antara aplikasi komputer dan perangkat keras, yang menyediakan pelayanan sistem seperti pengaturan memori untuk proses-proses yang sedang berjalan, pengaturan file-file, input-output terhadap dan dari suatu device dan masih banyak lagi fungsi tambahan yang lainnya. Intinya adalah kernel merupakan suatu penghubung (antara software dan hardware).
Dalam makalah ini penulis mencoba untuk mengemukakan bagaimana cara kerja kernel sebagai sistem operasi, mengkompile ulang kernel untuk suatu kebutuhan, format dari kernel, serta berbagai dasar dasar kernel Linux sebagai aplikasi GPL (General Public License).

1. Pendahuluan
Kernel merupakan inti dari Operating System berisikan instruksi- instruksi yang bertindak sebagai mediator antara hardware dengan software. Kernel baru pada umumnya menawarkan dukungan yang lebih banyak terhadap berbagai jenis hardware, memiliki manajemen proses yang lebih baik, berjalan lebih baik dari versi sebelumnya, dan lebih stabil karena adanya perbaikan pada bug-bug yang ditemukan pada versi sebelumnya.

2. Format Kernel
Kernel sebagai jantungnya sistem operasi menyediakan format yang sesuai dengan kebutuhan anda. Sebelum kita memilih kernel sebaiknya kita dapat menentukan terlebih dahulu, kira-kira format kernel yang bagaimana yang sesuai dengan kebutuhan yang diinginkan. Sistem kernel ada berupa Modular dan Monolitik ,sebagai contoh jika sering gonta-ganti hardware, sistem kernel yang modular akan lebih cocok daripada sistem kernel yang builtin (monolitik). Kedua system ini mempunyai keuntungan dan kelebihan masing-masing,
  • Kernel Modular. Seperti pada kernel Linux mempunyai rancangan modular. Pada saat boot time, hanya minimal resident kernel yang di-load ke dalam memori. Ini di karenakan hanya modul-modul yang dibutuhkan saja serta di inginkan user yang akan diproses, sebuah modul kernel dapat secara dinamik di-load ke dalam memori.
    Kemudian secara periode spesifik modul tidak ingin di aktifkan maka modul dapat di hapus dari memori. Mekanisme dynamic loading ini dinamakan kmod. Dengan kata lain modul tidak akan di-load apabila tidak diinginkan dan modul akan di gunakan apabila di butuhkan. Salah satu keuntungan kernel yang bersifat modular, onta-ganti hardware menjadi lebih mudah, karena tinggal menge-probe suatu modul, atau jika belum ada hanya tinggal mem-build satu modul saja. Kerugiannya adalah relatif rentan terhadapat masalah security, karena biasanya script kiddies memasukkan suatu modul ke dalam kernel (dengan harapan proses yang dimilikinya tidak diketahui oleh admin sistem yang bersangkutan)
  • Kernel buildin(Monolitik). Dengan Kernel monolitik lebih baik dari segi security, sebuah kernel builtin (monolitik) akan relatif aman. Namun dari segi kemudahan, jika kita menambah atau mengganti suatu hardware, maka otomatis harus mengkompilasi ulang kernel .Namun demikian, skema kernel bagaimana yang lebih sesuai, itu bisa diklarifikasi sesuai kebutuhan dan implementasi sistem yang digunakan. Jika kernel monolitik ingin di jadikan modular, itu bisa dilakukan oleh dari kernel monolitik, dengan cara setelah konfigurasi ditetapkan dalam kernel monolitik dan di kompilasi maka dapat di ambil, bagian-bagian mana saja yang akan dipisahkan untuk dijadikan modul-modul.
3. Kompilasi Modul Kernel
Apabila kita akan menambahkan suatu modul ke dalam kernel maka kita dapat melakukan kompilasi ulang kernel. Modul merupakan bagian dari kode kernel yang tidak secara langsung dimasukan kedalam kernel. Modul dapat di masukan atau dihilangkan kedalam kernel yang sedang berjalan kapanpun diperlukan. Modul biasanya digunakan untuk mendukung pekerjaan yg tidak di gunakan terus-menerus. Misal, jika kita tidak membutuhkan dukungan networking sepanjang waktu, seperti ppp, maka lebih baik ppp dijadikan sebagai modul.
Ketika kita memerlukannya (untuk koneksi ke isp) modul kita panggil dan setelah selesai koneksi modul dapat kita matikan. Penerapan modul seperti ini akan mengurangi jumlah memori yang di butuhkan kernel sehingga mempercepat operasi.

Catatan:
Modul: adalah program yang menangani perangkat Input Output. Dalam dunia Windows dikenal dengan istilah device driver. Pada Linux modul ini dapat disertakan dalam kernel, dan dapat pula dimuatkan secara dinamis. Sehingga dengan cara pemuatan secara dinamis, perubahan device driver tidak
membutuhkan proses boot dari sistem operasi. Setiap perangkat keras
membutuhkan modul masing-masing, misal modul untuk network card, modul untuk SCSI. Sedangkan untuk card monitor keperluan grafis tidak termasuk dalam modul utama (kecuali framebuffer dan standard console) device driver untuk card monitor diimplementasikan pada beragam X server yang tersedia misal : xvga16 untuk VGA card, xsvga untuk super VGA dan sebagainya.

No comments:

Post a Comment