Kernel dan Linux adalah 2 istilah yang sailng melekat satu sama lain. Setiap kali berbicara tentang distribusi Linux, istilah Kernel selalu disebut. Apakah yang disebut Kernel itu? Serta kaitannya dengan distribusi Linux. Check it out :
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.



0 comments:
Post a Comment