Mengenal Kernel, Fungsi dan Tipe Pada Sistem Operasi
Kernel adalah hal paling penting dalam sistem operasi yang memili tanggung jawab dalam manajemen sumber daya (CPU, Memmory, Device) dan berkomunikasi dengan perangkat keras yang ada.
Apa Itu Kernel
Kernel adalah fondasi utama dari setiap sistem operasi, yang menjadi perantara antara software(perangkat lunak) dengan hardware(perangkat keras). Kernel yang melakukan inisialiasi hardware pertama kali sistem oeprasi booting, seperti Device, File System, Networking, CPU, Memory dan setiap perangkat input output yang terhubung ke Komputer.
Fungsi Kernel
Fungsi Kernel didalam Sistem Operasi adalah sebagai berikut ;
- Memory management: Mengatur lokasi memory, kapan dan dimana block memory yang digunakan.
- Process management: Mengatur dan menentukan proses yang menggunakan CPU dari awal dan selesai.
- Device drivers: Sebagai perantara antara perangkat keras dan proses
- System calls and security: Melayani permintaan proses aplikasi dan menjaga keamanan.
Tipe Kernel
Umumnya Tipe kernel ada 5 yang dikembangkan saat ini.
1. Monolithic Kernel
Kernel dan layanan pengguna berada di ruang alamat yang sama. Kernel Monolithic menggunakan protokol komunikasi panggilan sistem yang lebih cepat untuk menjalankan proses antara perangkat keras dan perangkat lunak. Mereka kurang fleksibel dibandingkan mikrokernels dan membutuhkan lebih banyak pekerjaan; admin harus merekonstruksi seluruh kernel untuk mendukung layanan baru.
Kernel Linux adalah Monolithic Kernel yang terus berkembang, memiliki 20 juta baris kode pada tahun 2018. Dari tingkat dasar, berlapis menjadi berbagai subsistem. Grup utama ini mencakup system call interface, process management, memory management, network stack, device drivers dan virtual file system.
Administrator dapat mem-port kernel Linux ke OS mereka dan menjalankan pembaruan langsung. Fitur-fitur ini membuatnya lebih cocok untuk sistem server dan lingkungan yang memerlukan real-time maintenance.
Contoh OS :
Unix, Linux, Open VMS, XTS-400, TempleOS
2. Microkernels
Menempatkan semua layanan mereka di ruang alamat kernel. Untuk protokol komunikasinya, mikrokernel menggunakan pengiriman pesan, yang mengirimkan paket data, sinyal, dan fungsi ke proses yang benar. Mikrokernel juga memberikan fleksibilitas yang lebih besar daripada kernel Monolithic; untuk menambahkan layanan baru, admin memodifikasi ruang alamat pengguna untuk mikrokernel.
Karena sifatnya yang terisolasi, mikrokernel lebih aman daripada kernel Monolithic. Mereka tetap tidak terpengaruh jika satu layanan dalam ruang alamat gagal.
Contoh OS :
L4, AmigaOS, Minix, K42
3. Hybrid kernels
Penggabungkan monolitik dan mikrokernel. Mereka menyertakan lebih banyak layanan daripada mikrokernel tetapi lebih sedikit dari kernel monolitik. Ini memungkinkan mereka untuk menawarkan beberapa manfaat dari kedua kernel. Ia meminjam kecepatan dari kernel monolitik dan modularitas dari mikrokernel.
Dikembangkan lebih lanjut oleh Apple dengan nama XNU Kernel, Windows dengan NT kernel
Contoh OS :
MacOS, TVOS, Windows NT, DragonFlyBSD
4. ExoKernel
Kernel yang dikembangkan oleh grup MIT Parallel and Distributed Operating Systems. Sistem operasi umumnya menghadirkan sumber daya perangkat keras ke aplikasi melalui abstraksi tingkat tinggi seperti sistem file (virtual).
Ide di balik Exokernel adalah untuk memaksakan abstraksi sesedikit mungkin pada pengembang aplikasi, memungkinkan mereka membuat keputusan sebanyak mungkin tentang abstraksi perangkat keras. Exokernel berukuran kecil, karena fungsionalitasnya terbatas untuk memastikan perlindungan dan multiplexing sumber daya, yang jauh lebih sederhana daripada implementasi pesan lewat microkernel konvensional dan implementasi abstraksi tingkat tinggi kernel Monolithic.
Contoh OS :
ExOS
5. Nano Kernel
kernel berukuran kecil yang menawarkan abstraksi perangkat keras, tetapi tanpa layanan sistem. Agak sedikit ambigu dengan Microkernel
Contoh OS :
KeyKOS
Pada System Linux untuk mengecek Kernel bisa menggunakan perintah :
[root@alma targeted]# uname -rs
Linux 5.14.0-162.22.2.el9_1.x86_64
Sumber :
https://en.wikipedia.org/wiki/Hybrid_kernel
https://www.kernel.org/
https://www.geeksforgeeks.org/kernel-in-operating-system/