Dalam komputer, kernel merupakan komponen utama sistem komputer
yang paling penting, yang merupakan jembatan antara aplikasi dan
pengolahan data yang sebenarnya dilakukan pada bagian hardware. Tanggung
jawab Kernel termasuk mengelola sumber daya sistem (komunikasi antara hardware dan komponen software).
Biasanya sebagai komponen dasar dari suatu sistem operasi, kernel dapat
menyediakan lapisan abstraksi terendah-level untuk sumber daya
(terutama prosesor dan perangkat Input Output) bahwa perangkat lunak
aplikasi harus terkontrol untuk melakukan fungsinya. Kernel biasanya
membuat fasilitas tersebut tersedia untuk proses aplikasi melalui inter-process communication mechanisms dan system calls.
Tugas sistem operasi dilakukan secara berbeda oleh kernel yang berbeda
pula, tergantung pada desain dan implementasi. Meskipun kernel monolitik
mengeksekusi semua kode sistem operasi di ruang alamat yang sama untuk
meningkatkan kinerja sistem, microkernels menjalankan sebagian besar
layanan pengguna sistem operasi di ruang sebagai server, yang bertujuan
untuk meningkatkan pemeliharaan dan modularitas dari sistem operasi.
Fungsi utama kernel adalah untuk mengelola sumber daya komputer dan
memungkinkan program lain untuk menjalankan dan menggunakan sumber daya
koputer tersebut. Biasanya, sumber daya komputer terdiri dari:
Central Processing Unit (CPU/prosesor)
Ini adalah bagian paling sentral dari sebuah sistem komputer,
bertanggung jawab untuk menjalankan atau mengeksekusi program di
atasnya. Kernel bertanggung jawab untuk memutuskan setiap saat dimana
banyak program yang berjalan serta harus dialokasikan ke prosesor (yang
biasanya masing-masing prosesor hanya dapat menjalankan satu program
pada satu waktu)
Memori komputer.
Memori digunakan untuk menyimpan instruksi program baik dan data.
Biasanya, berdua harus hadir dalam memori agar program untuk
mengeksekusi. Seringkali beberapa program akan menginginkan akses ke
memori, sering menuntut memori lebih dari komputer telah tersedia.
Kernel bertanggung jawab untuk menentukan memori memilih proses yang
dapat menggunakan, dan menentukan apa yang harus dilakukan bila tidak
cukup kapasitas memori yang tersedia.
Input / Output (I / O)
Perangkat-perangkat komputer I/O, seperti keyboard, mouse, disk drive,
printer, monitor, dll kernel mengalokasikan permintaan dari aplikasi
untuk melakukan I/O ke perangkat yang sesuai (atau pemilihan perangkat,
misal dalam kasus pemilihan file pada disk atau menampilakan windows
pada monitor) dan memberikan metode mudah untuk menggunakan perangkat
(biasanya diabstraksikan ke titik di mana aplikasi tidak perlu tahu
rincian pelaksanaan perangkat).
Kernel juga biasanya menyediakan metode untuk sinkronisasi dan
komunikasi antara proses (disebut antar-proses komunikasi atau IPC
inter-process communication).
Kernel dapat mengimplementasikan fitur-fitur ini sendiri, atau
bergantung pada beberapa proses dijalankan untuk menyediakan fasilitas
untuk proses lainnya, meskipun dalam hal ini harus menyediakan beberapa
cara untuk memungkinkan proses IPC untuk mengakses fasilitas yang
disediakan oleh masing-masing lain.
Tidak ada komentar:
Posting Komentar