Computer Articles And Tutorial

Pengertian Kernel




Kernel merupakan sebuah program yang merupakan inti dari sistem operasi komputer. Ia memiliki kontrol penuh atas segala sesuatu yang terjadi dalam sistem. Sebuah kernel dapat dibandingkan dengan shell (seperti bash, csh atau ksh dalam sistem operasi mirip Unix), yang merupakan bagian terluar dari sistem operasi dan program yang berinteraksi dengan perintah pengguna.

Kernel sendiri tidak berinteraksi langsung dengan pengguna, melainkan berinteraksi dengan program shell dan lainnya serta dengan perangkat hardware pada sistem, termasuk prosesor (juga disebut central processing unit atau CPU), memori dan disk drive.

Kernel adalah bagian utama dari sistem operasi, me-load ke memori saat boot (yaitu, startup sistem), dan tetap  selama seluruh sesi komputer, karena perbaikan diwajibkan terus menerus. Dengan demikian, penting untuk itu untuk sekecil mungkin, sementara masih menyediakan semua layanan penting yang dibutuhkan oleh bagian lain dari sistem operasi dan oleh berbagai program aplikasi.

Karena sifat kritis, kode kernel biasanya dimuat dalam lingkungan dari memori, yang mencegah dari  penggandaan oleh yang lain, bagian-bagian yang lebih sering digunakan dari sistem operasi atau program aplikasi. Kernel melakukan tugasnya, seperti melaksanakan proses dan penanganan interrupt, dalam ruang kernel, sedangkan semua pengguna biasa, seperti menulis teks dalam editor teks atau menjalankan program dalam GUI (antarmuka pengguna grafis), dilakukan dalam ruang pengguna . Pemisahan ini dibuat untuk mencegah data pengguna dan data kernel dari gangguan satu sama lain dan dengan demikian mengurangi kinerja atau menyebabkan sistem menjadi tidak stabil (dan mungkin saling tabrakan).

Ketika komputer crash, sebenarnya kernel telah rusak. Jika hanya satu program rusak tetapi sisa sistem tetap beroperasi, maka kernel sendiri tidak rusak. crash adalah situasi di mana suatu program, baik aplikasi pengguna atau bagian dari sistem operasi, berhenti menjalankan fungsi yang diharapkan  dan menanggapi bagian lain dari sistem. Program ini mungkin muncul kepada pengguna untuk membekukan. Jika program tersebut sangat diperlukan untuk pengoperasian kernel, seluruh komputer dapat kios atau mematikan.

Kernel menyediakan layanan dasar bagi semua bagian lain dari sistem operasi, biasanya termasuk manajemen memori, manajemen proses, manajemen file dan I / O (input / output) manajemen (yaitu, mengakses perangkat periferal). Layanan ini diminta oleh bagian lain dari sistem operasi atau program aplikasi melalui serangkaian program interface tertentu disebut sebagai sistem pemanggilan.

Proses manajemen, mungkin aspek yang paling jelas dari kernel kepada pengguna, bagian dari kernel yang memastikan bahwa setiap proses mendapatkan giliran untuk berjalan di prosesor dan bahwa proses individu tidak saling mengganggu dengan menulis keruang memori. Sebuah proses, juga disebut sebagai tugas, dapat didefinisikan sebagai turunan pelaksana (yaitu, menjalankan) dari sebuah program.

Kebanyakan kernel telah dikembangkan untuk sistem operasi tertentu, dan biasanya hanya ada satu versi yang tersedia untuk setiap sistem operasi. Sebagai contoh, Microsoft Windows 2000, kernel hanya untuk Microsoft Windows 2000 dan Microsoft Windows 98, kernel hanya untuk Microsoft Windows 98. Linux jauh lebih fleksibel dalam bahwa ada banyak versi dari kernel Linux, dan masing-masing dapat dimodifikasi dengan cara yang tak terhitung oleh pengguna informasi.

Kernel dibagi menjadi 4 kategori yaitu monolithic, microkernel, hybrid kernel, dan exokernel. Setiap kategori tersebut memiliki perbedaan disain, sehingga masing-masing memiliki kelebihan dan kekurangan dalam pengimplementasiannya.

Monolithic
Kernel monolithic memiliki seluruh servis dasar dari sistem operasi didalamnya. Kelebihan dari disain monolithic adalah efisiensi, sehingga performa sistem juga meningkat. Hal ini dikarenakan keseluruhan proses yang memerlukan fungsi kernel terjadi didalam kernel itu sendiri. Monolithic juga memiliki kelemahan, salah satunya dalam hal stabilitas, dimana kemungkinan sistem crash lebih besar. Contoh kernel berdisain monolithic yang paling dikenal terdapat dalam sistem operasi linux dan microsoft windows 9x.

Microkernel
Disain microkernel hanya mengimplemetasikan servis dasar minimal yang diperlukan, yaitu manajemen pengalamatan memori, manajemen proses/thread, dan inter-process communication. Kelebihan microkernel adalah stabilitas sistem lebih terjaga dan kekurangannya adalah komunikasi antara proses menjadi lebih rumit sehingga sistem menjadi tidak efisien. Contoh kernel berdisain microkernel terdapat dalam sistem operasi mac os x, minix, qnx ,dan lain-lain.

Hybrid kernel
Disain hybrid kernel menyerupai microkernel tetapi dengan tambahan kode yang menyebabkan hybrid kernel dapat berjalan lebih cepat dari microkernel. Hal tersebut yang juga merupakan kelebihan dari hybrid kernel. Contoh kernel berdisain hybrid kernel terdapat dalam sistem operasi microsoft windows nt, windows 2000, dan windows xp.

Exokernel
Disain exokernel masih merupakan disain eksperimental dan dalam tahap penelitian sehingga belum dipakai secara luas. Perbedaan konsep disain exokernel dengan disain kernel lainnya adalah exokernel memiliki fungsi perlindungan dan pembagian resource untuk hardware. Kelebihan exokernel adalah bisa dimasukkan library sistem operasi lebih dari satu sehingga bisa menjalankan program-program untuk sistem operasi yang berbeda secara bersamaan. Contoh exokernel terdapat pada nemesis, masih sistem operasi konsep, ditulis oleh university of cambridge, university of glasgow, citrix systems, dan the swedish institute of computer science.


Responses

0 Respones to "Pengertian Kernel"

Posting Komentar