Pengertian dan jenis kernel


Pengertian Kernel

Kernel adalah sebuah bagian sangat penting yang ada dalam sistem operasi. Kernel merupakan inti dari sistem operasi dan bagian yang pertama kali di load ke memori ketika sistem mulai dan tetap berjalan sampai sistem berhenti. Servisnya diperlukan oleh bagian dari sistem operasi lainnya dan program aplikasi.

Kernel menjalankan servis dasar dari sistem operasi seperti manajemen memori, manajemen proses, manajemen file, dan manajemen i/o (input/output). Untuk menjalankan servis-servis tersebut, kernel terdiri dari bermacam isi tergantung dari sistem operasinya, tetapi umumnya pasti ada scheduler, supervisor, interrupt handler, dan memory manager. Scheduler berfungsi untuk mengatur pembagian waktu dan urutan dari proses-proses yang ingin mendapatkan servis dari kernel. Supervisor berfungsi untuk memberikan servis oleh kernel kepada proses yang sudah dijadwalkan. Interrupt handler berfungsi untuk menangani seluruh permintaan dari hardware yang ingin mendapatkan servis dari kernel. Memori manager berfungsi untuk mengatur alokasi alamat di memori.

Semua sistem operasi yang ada mempunyai kernel didalamnya, biasanya sebuah kernel didisain untuk sebuah sistem operasi yang spesifik. Kernel yang didisain untuk microsoft windows 98 hanya akan dipakai oleh sistem operasi tersebut. Linux juga mempunyai kernel yang didisain untuknya tetapi user bisa memodifikasinya sesuai kebutuhannya masing-masing. Hal tersebut juga yang membuat terminologi kernel lebih dikenal di linux karena sifat kernelnya yang terbuka, berbeda dengan sistem operasi lainnya yang kernelnya tidak bisa dimodifikasi.

Fungsi Kernel

Fungsi utama kernel adalah untuk mengelola sumber daya komputer dan memungkinkan program lain untuk menjalankan dan menggunakan sumber daya komputer tersebut.

Jenis Kernel

1.      kernel monolitik
berguna mengintegrasikan banyak fungsi didalam kernel dan menyediakan secara penuh perangkat keras yang berada dibawah sistem operasi.
2.      mikrokernel
menyediakan sedikit saja dari perangkat keras dan menggunakan aplikasi yang berjalan diatasnya untuk melakukan beberapa fungsi lain.
3.      kernel hybrida
pendekatan disain mikrokernel. pada kernel ini memiliki beberapa kode tambahan didalam ruang kernel untuk meningkatkat performanya.
4.      exokernel
menyediakan hardware abstrack secara minimal, sehingga program dapat mengakses hardware secara langsung.

Cara Kerja Kernel

1. Pengurusan proses.
Tugas utama sebuah system pengoperasian kernel ialah membenarkan aplikasi yang lain untuk berjalan dan menyokong mereka dengan ciri-ciri tambahan, seperti pengabstrakan perkakasan, untuk menjalan proses, kernel mesti memuat turun failnya kepada ingatan, menyediakan stack untuk program dan pergi ke lokasi yang diberikan di dalam program, ini memulakan perjalanan sesebuah program, cara ini dipanggil scheduling. Dalam sistem berbilang kerja, kernel secara asasnya akan memberikan setiap program sedikit masa dan menukarkan dari proses ke proses dengan cepat dengan itu ia akan muncul kepada pengguna jika proses ini dijalankan secara terus menerus. Kernel mesti juga menyediakan proses ini untuk berkomunikasi, ini dikenali sebagai inter-process communication. Ini kemungkinan ada multipemprosesan yang menyokong kernel tersebut.
2. Pengurusan ingatan.
Kernel mempunyai akses penuh dalam ingatan sistem dan menyediakan cara-cara untuk membenarkan userland program untuk mengakses memori ini dengan selamat. Cara pertama untuk mengurus ingatan ialah virtual addressing, biasanya arkib dengan mukasurat atau segmentation. Virtual addressingmembenarkan kernel untuk memberikan alamat fizikal yang muncul sebagai alamat yang lain iaitu virtual address, ini membenarkan setiap program mempercayai ia hanya satu program (sebahagian daripada kernel) yang berjalan, dan ini mengelakkan aplikasi daripada berlanggar antara satu sama lain.
3. Pengurusan peranti.
Dalam arahan untuk melakukan sesuatu tugas, kernel perlu untuk mengakses perbagai peranti yang bersambungan di dalam komputer, sebagai contoh, dalam arahan untuk memaparkan pengguna apa-apa sahaja, pemacu monitor perlu untuk muncul, peranti ini boleh dikawal melalui pemacu, di mana ia mesti dibuat oleh pembangun dan/atau disediakan oleh pengilang sesuatu peranti tersebut.
Pengurus peranti pertamanya akan melakukan semakan keatas bas perkakasan yang berbeza (seperti USB, PCI), dalam arahan unruk mengesan semua peranti yang telah dipasang dan kemudiannya mencari pemacu yang bersesuaian, selepas ini, semuanya bergantung kepada jenis kernel dan rekaan kernel.
4. Sistem panggilan.
Dalam arahan untuk menyediakan kerja yang berguna, program userland mesti mempunyai akses kepada semua perkhidmatan yang disediakan oleh kernel. Ini dilaksanakan secaar berbeza-beza oleh kernel yang berlainan, tetapi mesti disediakan oleh C library, dimana ia menukarkan kelemahan kesemua system panggilan, sama ada diberikan atau melalui memori yang dikongsi.
5. Shell.
Shell adalah perisian atau aplikasi yang menjadi alat untuk perhubungan antara pangguna untuk berhubung dengan sistem operasi, shella akan membaca apa sahaja yang dimasukkan oleh pengguna dan memahaminya sebagai arahan untuk menjalankan perisian lain, memanipulasi fail, dan memberikan output. Shell juga turut dikenali sebagai command line interface.
Langkah-Langkah kompilasi Kernel
Langkah-langkahnya sebagai berikut :
1.     Silahkan unduh terlebih dahulu kernel linux sesuai dengan versi kernel yang ada di komputer atau laptop anda, di : http://download.filesystems.org/linux/kernel/v3.0/ Atau di http://www.kernel.org/
2.     Masuk ke root dan login sebagai Administrator.
$ sudo su
            $ Masukkan password
Masuk ke direktori Download, untuk melihat file yang sudah di unduh.
Catatan : Nama file yang kami unduh disini linux-3.3.22.tar.bz2
3.     Ekstrak kernel tersebut
# tar -xf linux-3.3.22.tar.bz2
4.     Pindahkan hasil extract ke direktory /usr/src/
# mv linux-3.3.22 /usr/src/
5.     Install paket dependensi untuk dukungan kompilasi nantinya.
# aptitude install build-essential qt4-dev-tools ncurses-dev
-> Pilih Y (untuk install), pilih N (untuk membatalkan)
6.     Masuk ke directory /usr/src/ untuk mengecek kembali kernel yang sudah di extract sebelumnya.
# cd /usr/src/
7.     dan lakukan perintah ls untuk melihat list nya.
# ls
8.     Jika sudah ada silahkan masuk ke direktori tersebut dengan cara :
            # cd linux-3.3.22
9.     Konfigurasi dari kernel yang akan di compile. Pada pengaturan ini Saya setting konfigurasinya sesuai dengan perangkat yang ada pada laptop Saya.
-> Prosesnya silahkan lihat video dibawah ini. 
           # make menuconfig
           -> Masuk ke halaman konfigurasi settingan kernel.
10.  Untuk melakukan proses compile, gunakan perintah :
# make
Catatan : Proses ini akan memakan waktu yang lumayan lama.
11.  Membuat paket modul
# make modules
Jika terjadi error, gunakan perintah berikut :
# make CONFIG_DEBUG_SECTION_MISMATCH=y
Perintah ini akan melakukan re-compile terhadap paket-paket error yang sudah dikompile sebelumnya, ini akan memakan waktu yang lumayan lama juga.
12.  Menginstall modul-modul kernel
# make modules_install
13.  Installasi kernel
# make install
14.  Membuat initial ramdisk image
# cd /boot
# mkinitramfs -o initrd.img-3.3.22
15.  Perbaharui grub
# update-grub
16.  Proses selesai dan restart untuk melihat perubahan
# reboot
Previous
This is the oldest page