Menu
News
EkBis
New Economy
Kabar Finansial
Sport & Lifestyle
Government
Video
Indeks
About Us
Social Media

Apa Itu Kernel?

Apa Itu Kernel? Kredit Foto: Unsplash/Anete Lusina
Warta Ekonomi, Jakarta -

Sebagai pengguna biasa, pasti Anda mengenal Linux sebagai sistem operasi saja. Namun, bagi para penggemarnya, Linux dicadangkan untuk Kernel yang menggerakkan sistem operasi.

Sebelum kita membahas apa itu kernel, penting untuk pertama kali memahami istilah user mode dan Kernel mode. User mode adalah ketika kode yang dieksekusi tidak memiliki kemampuan untuk mengakses hardware atau memori referensi secara langsung. Untuk mendapatkan akses ke hardware dan memori, kode yang berjalan dalam user mode harus mendelegasikan instruksi ke sistem Application Programming Interface (API). Sementara itu, Kernel mode adalah saat mengeksekusi kode memiliki akses tak terbatas ke semua hardware, dan ini dicadangkan untuk fungsi sistem operasi yang paling tepercaya.

Baca Juga: Apa Itu Docker?

Jadi, Apa Itu Kernel?

Kernel adalah program komputer yang merupakan jantung dan inti dari sistem operasi (OS). Karena OS memiliki kendali atas sistem, Kernel juga memiliki kendali atas semua yang ada di dalam sistem. Kernel adalah bagian terpenting dari OS itu sendiri. Setiap kali sistem dimulai, Kernel adalah program pertama yang dimuat setelah bootloader karena Kernel harus menangani sisa sistem untuk OS. Kernel tetap berada di memori sampai OS dimatikan.

Kernel bertanggung jawab untuk melakukan tugas tingkat rendah seperti disk management, memory management, task management, dan lainnya. Kernel menyediakan interface antara pengguna dan komponen hardware di sistem tersebut. Ketika suatu proses membuat permintaan ke Kernel, itu disebut sebagai System Call.

Kernel dilengkapi dengan Kernel Space yang merupakan area terpisah dari memori dan area ini tidak dapat diakses oleh program aplikasi lain. Jadi, kode Kernel dimuat ke dalam Kernel Space yang dilindungi ini. Selain itu, memori yang digunakan oleh aplikasi lain disebut User Space. Karena ini adalah dua ruang yang berbeda dalam memori, komunikasi di antara mereka akan sedikit lebih lambat.

Secara umum, ada tiga jenis Kernel, yaitu:

  • Monolithic Kernel: Kernel ini mencakup CPU, memori, IPC, driver perangkat, manajemen sistem file, dan panggilan server sistem. Ini juga bertanggung jawab untuk menyerahkan memori sistem gratis ke aplikasi. Jenis Kernel ini biasanya lebih baik dalam mengakses hardware dan melakukan multitasking;
  • Microkernels: Microkernels mengambil pendekatan minimalis dan hanya mengelola CPU, memori, dan IPC;
  • Hybrid Kernel: Hybrid Kernel memiliki kemampuan untuk memutuskan apa yang ingin dijalankan dalam User Mode atau Kernel Mode. Meskipun ini memberikan yang terbaik dari kedua hal tadi, Hybrid Kernel membutuhkan lebih banyak dari produsen hardware untuk membuat driver yang berfungsi sebagai interface antara kode yang sedang berjalan dengan hardware-nya.

Linux menggunakan open-source Monolithic Kernel, sedangkan macOS dan Windows keduanya menggunakan Hybrid Kernel. Linux Kernel dibuat pada tahun 1991 oleh Linus Torvalds. Sampai hari ini, Torvalds terus menjadi developer utama Linux Kernel, sementara developer lainnya dari seluruh dunia juga turut berkontribusi terhadap pengembangan Linux Kernel. Faktanya, diperkirakan hampir 10.000 developer, dari lebih dari 1.000 perusahaan, telah berkontribusi pada Linux Kernel Linux sejak dimulainya pada tahun 2005 silam.

Apa Fungsi dari Kernel?

Berikut ini adalah fungsi dari Kernel:

  1. Akses sumber daya komputer: Kernel dapat mengakses berbagai sumber daya komputer seperti CPU, perangkat I/O, dan sumber daya lainnya. Ini bertindak sebagai jembatan antara pengguna dan sumber daya sistem;
  2. Manajemen sumber daya: Ini merupakan tugas Kernel untuk berbagi sumber daya antar berbagai proses sedemikian rupa sehingga ada akses yang seragam ke sumber daya tersebut di setiap prosesnya;
  3. Memory management: Setiap proses membutuhkan ruang memori. Jadi, memori harus dialokasikan dan tidak dialokasikan untuk eksekusinya. Semua memory management ini dilakukan oleh Kernel;
  4. Device management: Perangkat periferal yang terhubung dalam sistem digunakan saat proses berjalan. Jadi, alokasi perangkat ini dikelola oleh Kernel.

Di Mana Kita Bisa Menemukan Kernel?

Jika Anda membuka terminal window dan mengeluarkan perintah ls /boot, Anda akan melihat file bernama vmlinuz-VERSION (VERSION adalah nama atau nomor rilis). File vmlinuz adalah Linux Kernel yang sebenarnya dapat di-boot, dan z menunjukkan kernel yang dikompresi.

Di dalam direktori /boot tersebut terdapat file kernel penting lainnya, seperti initrd.img-VERSION, system.map-VERSION, dan config-VERSION. File-file lain ini melayani tujuan seperti berikut ini:

  • initrd: Digunakan sebagai RAMdisk kecil yang mampu mengekstrak dan mengeksekusi file kernel yang sebenarnya;
  • system.map: Digunakan untuk melakukan memory management, sebelum dilakukan pemuatan Kernel;
  • config: Menginstruksikan Kernel tentang opsi dan modul apa yang akan dimuat.

Modul pada Kernel

Tanpa modul, Kernel tidak akan banyak berguna. Modul secara efektif mengaktifkan driver yang diperlukan untuk berkomunikasi dengan hardware tanpa menghabiskan semua memori sistem Anda. Modul juga menambahkan fungsionalitas ke Kernel, seperti berkomunikasi dengan periferal, mengelola sistem file, keamanan, dan lainnya. Kita bisa mendaftar, menambah, dan menghapus modul ke Kernel dengan perintah berikut ini:

  • lsmod: mencantumkan semua modul Kernel yang sedang dimuat;
  • insmod: memuat modul Kernel ke dalam Kernel yang sedang berjalan;
  • rmmod: membongkar modul dari Kernel yang sedang berjalan.

Dengan bantuan beberapa perintah sederhana, Linux Kernel bisa menjadi sangat fleksibel. Linux Kernel Linux diperbarui secara berkala, tetapi tidak semua distribusi Linux akan menyertakan Kernel terbaru.

Anda bebas mengunduh versi yang berbeda dari Linux Kernel Linux di situs kernel.org dan mengompilasinya sendiri. Kompilasi Linux Kernel adalah tugas yang sebaiknya diserahkan kepada mereka yang benar-benar tahu apa yang harus mereka lakukan. Kernel yang dikompilasi dengan tidak benar dapat membuat sistem tidak dapat di-boot. Jadi, jika Anda siap untuk menyelami tugas yang menantang dalam mengompilasi kode pada level ini, gunakan Default Kernel yang dikirimkan dan diperbarui pada distribusi pilihan Anda.

Mau Berita Terbaru Lainnya dari Warta Ekonomi? Yuk Follow Kami di Google News dengan Klik Simbol Bintang.

Penulis: Patrick Trusto Jati Wibowo
Editor: Puri Mei Setyaningrum

Tag Terkait:

Bagikan Artikel: