Pengertian Tentang Kernel
Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari
sebuah sistem operasi. Tugasnya melayani bermacam program aplikasi untuk
mengakses perangkat keras komputer secara aman.
Karena akses
terhadap perangkat keras terbatas, sedangkan ada lebih dari satu
program yang harus dilayani dalam waktu yang bersamaan, maka kernel juga
bertugas untuk mengatur kapan dan berapa lama suatu program dapat
menggunakan satu bagian perangkat keras tersebut. Hal tersebut dinamakan
sebagai multiplexing.
Akses kepada perangkat keras secara
langsung merupakan masalah yang kompleks, oleh karena itu kernel
biasanya mengimplementasikan sekumpulan abstraksi hardware.
Abstraksi-abstraksi tersebut merupakan sebuah cara untuk menyembunyikan
kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi
mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan
programer.
Untuk menjalankan sebuah komputer kita tidak
harus menggunakan kernel sistem operasi. Sebuah program dapat saja
langsung di- load dan dijalankan diatas mesin 'telanjang' komputer,
yaitu bilamana pembuat program ingin melakukan pekerjaannya tanpa
bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik
ini digunakan oleh komputer generasi awal, sehingga bila kita ingin
berpindah dari satu program ke program lain, kita harus mereset dan
meload kembali program-program tersebut.
Ada 4 kategori kernel:
1. Monolithic kernel. Kernel yang menyediakan abstraksi perangkat keras yang kaya dan tangguh.
2. Microkernel. Kernel yang menyediakan hanya sekumpulan kecil
abstraksi perangkat keras sederhana, dan menggunakan aplikasi-aplikasi
yang disebut sebagai server untuk menyediakan fungsi-fungsi lainnya.
3. Hybrid (modifikasi dari microkernel). Kernel yang mirip
microkernel, tetapi ia juga memasukkan beberapa kode tambahan di kernel
agar ia menjadi lebih cepat.
4. Exokernel. Kernel yang tidak
menyediakan sama sekali abstraksi hardware, tapi ia menyediakan
sekumpulan pustaka yang menyediakan fungsi-fungsi akses ke perangkat
keras secara langsung atau hampir-hampir langsung.
Dari
keempat kategori kernel yang disebutkan diatas, kernel Linux termasuk
kategori monolithic kernel. Kernel Linux berbeda dengan sistem Linux.
Kernel Linux merupakan sebuah perangkat lunak orisinil yang dibuat oleh
komunitas Linux, sedangkan sistem Linux, yang dikenal saat ini,
mengandung banyak komponen yang dibuat sendiri atau dipinjam dari proyek
pengembangan lain.
Kernel Linux pertama yang dipublikasikan
adalah versi 0.01, pada tanggal 14 Maret 1991. Sistem berkas yang
didukung hanya sistem berkas Minix. Kernel pertama dibuat berdasarkan
kerangka Minix (sistem UNIX kecil yang dikembangkan oleh Andy
Tanenbaum). Tetapi, kernel tersebut sudah mengimplementasi proses UNIX
secara tepat.
Pada tanggal 14 Maret 1994 dirilis versi 1.0,
yang merupakan tonggak sejarah Linux. Versi ini adalah kulminasi dari
tiga tahun perkembangan yang cepat dari kernel Linux. Fitur baru
terbesar yang disediakan adalah jaringan. Versi 1.0 mampu mendukung
protokol standar jaringan TCP/IP. Kernel 1.0 juga memiliki sistem berkas
yang lebih baik tanpa batasan-batasan sistem berkas Minix. Sejumlah
dukungan perangkat keras ekstra juga dimasukkan ke dalam rilis ini.
Dukungan perangkat keras telah berkembang termasuk diantaranya
floppy-disk, CD-ROM, sound card, berbagai mouse, dan keyboard
internasional. Dukungan juga diberikan terhadap modul kernel yang
loadable dan unloadable secara dinamis.
Satu tahun kemudian
dirilis kernel versi 1.2. Kernel ini mendukung variasi perangkat keras
yang lebih luas. Pengembang telah memperbaharui networking stack untuk
menyediakan support bagi protokol IPX, dan membuat implementasi IP lebih
lengkap dengan memberikan fungsi accounting dan firewalling. Kernel 1.2
ini merupakan kernel Linux terakhir yang PC-only. Konsentrasi lebih
diberikan pada dukungan perangkat keras dan memperbanyak implementasi
lengkap pada fungsi-fungsi yang ada.
Pada bulan Juni 1996,
kernel Linux 2.0 dirilis. Versi ini memiliki dua kemampuan baru yang
penting, yaitu dukungan terhadap multiple architecture dan
multiprocessor architectures. Kode untuk manajemen memori telah
diperbaiki sehingga kinerja sistem berkas dan memori virtual meningkat.
Untuk pertama kalinya, file system caching dikembangkan ke networked
file systems, juga sudah didukung writable memory mapped regions. Kernel
2.0 sudah memberikan kinerja TCP/IP yang lebih baik, ditambah dengan
sejumlah protokol jaringan baru. Kemampuan untuk memakai remote netware
dan SMB (Microsoft LanManager) network volumes juga telah ditambahkan
pada versi terbaru ini. Tambahan lain adalah dukungan internal kernel
threads, penanganan dependencies antara modul-modul loadable, dan
loading otomatis modul berdasarkan permintaan (on demand). Konfigurasi
dinamis dari kernel pada run time telah diperbaiki melalui konfigurasi
interface yang baru dan standar.
Semenjak Desember 2003,
telah diluncurkan Kernel versi 2.6, yang dewasa ini (2008) telah
mencapai patch versi 2.6.26.1 (
http://kambing.ui.edu/kernel-linux/v2.6/). Hal-hal yang berubah dari
versi 2.6 ini ialah:
* Subitem M/K yang dipercanggih.
* Kernel yang pre-emptif.
* Penjadwalan Proses yang dipercanggih.
* Threading yang dipercanggih.
* Implementasi ALSA (Advanced Linux Sound Architecture) dalam kernel.
* Dukungan sistem berkas seperti: ext2, ext3, reiserfs, adfs, amiga
ffs, apple macintosh hfs, cramfs, jfs, iso9660, minix, msdos, bfs, free
vxfs, os/2 hpfs, qnx4fs, romfs, sysvfs, udf, ufs, vfat, xfs, BeOS befs
(ro), ntfs (ro), efs (ro).
Senin, 28 Januari 2013
PENGERTIAN KERNEL
Diposting oleh Unknown di 18.41
Langganan:
Posting Komentar (Atom)
0 komentar:
Posting Komentar