Kernel adalah bagian dari sebuah Software yang menyediakan sebuah lapisan antara Hardware dengan Software yang sedang aktif atau lebih tepatnya jembatan antara Software dan Hardware. Dalam Dunia Komputer, istilah Linux selalu merujuk pada istilah Kernel, yang ditulis Linus Torvald pada awal 1990-an.
Semua bagian yang ada pada distribusi Linux KDE window manager, Bash shell, web browser, X server, dan lain-lain hanyalah Software yang berjalan pada Linux.
Sebagai contoh, instalasi baru Linux Redhat 5 menempati sekitar 2,5 GB ruang Harddisk (tentunya berdasarkan aplikasi apa saja yang disertakan). Dari keseluruhan jumlah ini, Kernel termasuk modulnya, hanya menempati ruang 2% / sekitar 47 MB.
Abstraksi
Apa yang dilakukan oleh Kernel? Kernel membuat layanan yang ada didalamnya, tersedia untuk Software yang sedang berjalan, melalui sekumpulan besar entry point yang secara teknis, dikenal system call. Kernel menggunakan system call read and writer unutk memberikan abstraksi Hardware PC Anda.
Dari pandangan seorang Programmer hal seperti ini terliohat fungsi call biasa. Secara bersama, sekumpulan system call menyediakan Linux Virtual Machine yang dibayangkan sebagi abstraksi Hardware utama. Salah satu abstraksi yang disediakan oleh Kernel sebagai file system.
Lantas apa yang dimaksud abstraksi tersebut? Ketika Anda membuka suatu file serangkaian byte data memiliki nama, Kernel akan membuat dari ilusi tersebut, dan menampilkannya. Dengan demikian Anda terhindar dari track, sector, head dan free blocklist, yang harus dilalui bila ingin terhubung dengan Hardware.
Ilusi
Filesystem adalah salah satu abstraksi yang disediakan oleh Kernel. Ada pula beberapa fitur yang tidak begitu jelas terlihat, misalnya Kernel bertanggung jawab unutk proses penjadwalan. Dalam satu waktu, kemungkinan ada beberapa program yang menunggu unutk dijalankan. Kernel yang mengatur penjadwalan mengalokasikan waktu CPU untuk setiap proses.
Hasilnya, Anda akan me;ihat ilusi seolah-olah CPU menjalankan beberapa aplikasi secara bersamaan. Fungsi lain dari Kernel yang tidak terlihat, bahkan oleh Programmer sekalipun, adalah memory management. Setiap proses, berjalan dibawah ilusi yang memiliki address space range memory address yang valid sendiri-sendiri.
Padahal, dalam kenyataanya, setiap proses berbagi memory fisik dengan proses lainnya. Bila system mengalami low memory, sebagian address space akan diparkir di area swap pada Harddisk. Aspek lain dari memory management adalah mencegah sebuah proses akses address space lainnya. Tindakan ini diperlukan untuk menjaga integritas dari Sistem Operasi yang multi-processing.
Kernel juga menerapkan protokol jaringan IP, TCP, dan UDP yang menyediakan komunikasi machine-to-machine dan process-to-process melalui jaringan. Sekali lagi, semua ini adalah ilusi. TCP memberikan ilusi dari sambungan permanen antara dua proses seperti sepotong kawat tembaga yang menghubungkan dua telepon tetapi pada kenyataanya, tidak pernah ada sambungan permanen.
Perlu diketahui bahwa spesifik aplikasi protocol seperti FTP, DNS / HTTP diimplementasikan oleh user-level program, dan bukan merupakan bagian dari Kernel.
Kernel Modular
Sekarang, kita telah memiliki gambaran seputar Kernel bekerja. Selanjutnya, kita lihat cara kerja Kernel. Pada generasi awal, Kernel Linux bersifat monolitik yakni, semua bit dan bagian terhubung secara statis dengan file executable (yang biasanya berukuran besar). Tapi kini, Kernel Linux modern telah bersifat modular. Banyak fungsiolisasi di dalam modul, yang di-loadning secara dinamis.
Hal ini menjaga agar init kernel tetap kecil, dan memungkinkan me-loading atau mengganti modul ke dalam Kernel yang sedang berjalan tanpa harus melakukan rebooting. Inti dari Kernel di-loading ke dalam memory pada saat booting dari sebuah file bernama vmlinuz [versi kernel] di direktori /boot. Sementara modulnya tersimpan dalam direktori /lib/modules/[versi kernel]. Semua bagian ini akan disalin ke tempatnya, ketika Kernel telah terinstall.
Semoga Anda para pengunjung yang saya banggakan mengerti tentang Artikel yang saya jelaskan ini. Mohon maaf bila ada kata-kata yang salah.
Informasi Lebih Lanjut dan Lebih Lengkapnya : http://en.wikipedia.org/wiki/linux_kernel