Cara Kerja dan Fungsi Kernel

Cara Kerja dan Fungsi Kernel

Cara Kerja dan Fungsi Kernel

Mungkin ada yang bertanya apa perbedaan antara Windows dan Linux? Atau ada juga yang bertanya apa bedanya Linux dan Unix? Atau juga yang bertanya kenapa Apple menuduh Google, bahwa OS Android mejiplak iOS dari iPhone. Padahal kalau di lihat sekilas sama saja. Iya kesemuanya itu adalah Sistem Operasi, tetapi apa yang membedakannya. Google menolak tuduhan dari Apple persoal penjiplakan dari Android, karena Google mengatakan Android menggunakan sistem kernel yang mereka tulis sendiri dan tidak menjiplak atau menggunakan Kernel dari OS dari Apple.
Dan persoalan dari sistem kernel inilah yang membedakan secara dasar dari semua sistem Operasi. Lalu apa kernel itu? Seberapa penting fungsi kernel itu?
Kernel itu apa? Kernel adalah suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi. Tugasnya melayani berbagai macam progra aplikasi untuk mengakses perangkat keras komputer secara aman.
Selain itu, kernel juga berfungsi untuk me-manage atau mengatur kapan dan berapa lama sebuah program dapat enggunakan satu bagian perangkat keras.
Kernel di bagi ke dalam 4 bagian yang secara desain berbeda:
  • Kernel Monolitik, Kernel monolotik mengintegrasikan banyak fungsi di dalam kernel dan menyediakan lapisan abstraksi Hardware secara penuh terhadap perangkat keras yang berada di bawah sistem operasi.
  • Mikrokernel, Mikrokernel menyediakan sedikit saja dari abstraksi perngakat keras dan menggunakan aplikasi yang berjalan di atasnya untuk melakukan beberapa fungsionalitas lainnya.
  • Kernel hibrida, kernel hibrida adalah pendekatan desain microkernel yang di modifikasi. Pada hybrid kernel, terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
  • Kernel Hybrida, kernel hybrida terdapat beberapa tambahan kode di dalam ruangan kernel untuk meningkatkan performanya.
  • Exokernel, Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendeketana desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang mirip dengan abstraksi yang dilakukan dalam desan monolithic kernel.
Di dalam kernel
  1. Process Management, bagian ini kernel mengatur dari proses antara aplikasi dan hardware. Kapan mereka akan keluar masuk untuk melakukan proses.
  2. Memory management, kernel akan mengatur proses penggunaan memori oleh aplikasi. Kadi kernel akan mengatur kapan aplikasi akan menggunakan memori, dan akan menggunakan addressing mana yang akan di pakai.
  3. Device management, kernel juga akan berfungsi untuk menjadi jembatan penggunaan dari hardware yang berada dalam sistem. Dengan begini hardware bisa dikenali dan digunakan oleh aplikasi dan sistem operasi.
  4. Systems call, pada bagian ini kernel mengatur antara hubungan dari aplikasi dan sistem operasi.
Pembagian kernel ini menjadi perdebatan panjang antara tanenbaum dan torvald, yang keduannya merupakan arsitek dari sistem operasi. Jika linus torvald, menjadi arstitek dari kelahiran dari Linux dan Tanenbaum menjadi arsitek dari sistem operasi MINIX.
Monolitik
Di dalam sistem monolitik diartikan sebagai sebuah antarmuka virtual yang berada pada tingkat tinggi di atas perangkat keras. Monolitik ini dilengkapi dengan sekumpulan primitif atau system call untuk mengimplementasikan layanan – layanan sistem operas, seperti halnya manajemen proses, konkurensi, dan manajemen memori pada modul – modul kernel yang berjalan di dalam mode supervisor.
Mikrokernel
Mikrokernel menggunakan pendekatan berbeda dalam desainnya, karena itu mikrokernel berisi sebuah abstraksi yang sederhana terhadap hardware, dengan sekumpulan primitif, atau system call yang dpat dgunakan untuk membuat sebuah sistem operasi agar dapat berjalan, dengan layanan – layanan seperti manajemen thread, komunikasi antar address space, dan komunikasi antar proses. Layanan yang biasanya disediakan oleh kernel, seperti halnya dukungan jaringan, pada pendekatan microkernel justru di implementasikan di ruangan pengguna atau server. Contohnya Minix buatan Andrew taneunbaum, dan QNX yang menjadi fondaasi dari BlackBerry 10.
Perbedaan keduanya inilah yang menjadi peredebatana panjang antara linus torvald dan Andrew tanenbaum. Keduanya memiliki pendapat yang berbeda mengenai sebuah sistem antara MINIX dan LINUX. Meskipun perdebatan ini sudah dibicarakan 20 tahun lalu, dan sudah mulai di lupakan, tetapi esensi mengenai pembicaraan keduanya masih menjadi sebuah bahan pelajaran. Karena di dalam perdebatan keduanya kita mengenal sistem Monolitik yang digunakan oleh Linux dan sistem mikrokernel yang digunakan MINIX, dan mengenai perbedaan keduanya.
2