Kernel merupakan program komputer yang menjadi inti dari sebuah sistem operasi komputer, dengan kontrol terhadap segala hal atas sistem tersebut. Pada kebanyakan sistem, kernel merupakan salah satu dari program yang dijalankan dalam urutan pertama saat komputer dinyalakan atau bisa disebut jantung dari sistem operasi.
Kernel menangani fungsi-fungsi selanjutnya dari proses penyiapan komputer sejak komputer dinyalakan seperti menangani layanan input/output dari program lain, menerjemahkannya ke dalam instruksi-instruksi untuk dieksekusi oleh processor.
Kernel juga menangani perangkat kerja lain seperti memori, keyboard, mouse, printer, speaker dan lain sebagainya. Karena ada lebih dari program yang harus dilayani dalam waktu bersamaan sedangkan akses terhadap perangkat keras terbatas, maka kernel juga bertugas untuk mengatur kapan dan berapa lama suatu program dapat menggunakan satu bagian perangkat keras tersebut. Hal itu dinamakan multiplexing.
Kernel mengakses kepada perangkat keras secara langsung sehingga dapat menimbulkan masalah yang kompleks, untuk itu kernel biasanya mengimplementasikan sekumpulan abstraksi hardware. Abstraksi-abstraksi tersebut merupakan sebuah cara bagi kernel untuk menyembunyikan kompleksitas, dan memungkinkan akses pada perangkat keras menjadi mudah dan berseragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan programmer.
Pada dasarnya, untuk menjalankan sebuah komputer tidak harus menggunakan kernel sistem operasi. Sebuah program dapat saja langsung dijalankan oleh komputer, yaitu sebuah program komputer akan digunakan tanpa bantuan abstraksi perangkat keras atau bantuan sistem operasi. Teknik ini umumnya digunakan oleh komputer-komputer generasi awal, sehingga jika ingin berpindah dari satu program ke program yang lain, maka pengguna harus mereset dan menjalankan kembali program-program tersebut.
Para arsitek sistem operasi mengembangkan kernel sistem operasi yang pada akhirnya terbagi menjadi empat bagian yang di desain berbeda, sebagai berikut :
- Kernel monolitik. Kernel ini mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi perangkat keras secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
- Mikrokernel. Mikrokernel menyediakan sedikit saja dari abstraksi perangkat keras dan menggunakan aplikasi yang berjalan di atasnya yang disebut dengan server untuk melakukan beberapa fungsionalitas lainnya.
- Kernel hibrida. Kernel hibrida adalah pendekatan desain microkernel yang dimodifikasi. Pada hybrid kernel terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
- Eksokernel. Eksokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatan desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desain kernel monolitik.
Referensi
https://id.wikipedia.org/wiki/Kernel_(ilmu_komputer)
Tidak ada komentar:
Posting Komentar