Pengertian Kernel Sistem Operasi

Linux tidak memakai driver melainkan Linux menggunakan sebuah system dari kernel tetapi khusus bagi pengguna Nvidia dan Amd di khususkan untuk menginstall driver di Linux. Lebih dari 13 juta baris kode, kernel Linux adalah salah satu proyek open source yang terbesar di dunia, tetapi apa itu kernel dan untuk apa kernel itu?
Pengertian Kernel Sistem Operasi
Struktur Kernel

Apa itu kernel?

Kernel adalah tingkat terendah dari suatu perangkat lunak yang menjadi bagian utama dari sebuah sistem operasi yang berinteraksi langsung dengan perangkat keras di komputer Anda dan juga mudah di ganti. Kernel bertanggung jawab melayani bermacam program aplikasi untuk mengakses perangkat keras komputer secara aman.

Akses kepada perangkat keras secara langsung merupakan sebuah masalah yang kompleks, maka dari itu kernel biasanya mengimplementasikan sekumpulan abstraksi dari hardware. Abstraksi-abstraksi tersebut adalah sebuah cara untuk menyembunyikan kompleksitas, dan memungkinkan akses kepada perangkat keras menjadi mudah dan seragam. Sehingga abstraksi pada akhirnya memudahkan pekerjaan para programer.

Beberapa macam desain Kernel

Sistem operasi mengembangkan beberapa kernel sistem operasi dan pada akhirnya terbagi menjadi empat bagian yang memiliki desain yang berbeda, untuk lebih jelas sebagai berikut:

1. Microkernel

Sebuah mikrokernel mengambil pendekatan hanya mengelola apa yang harus: CPU, memori, dan IPC. Hampir semua hal lain di komputer dapat dilihat sebagai aksesori dan dapat ditangani dalam mode pengguna. Microkernels memiliki keuntungan portabilitas karena mereka tidak perlu khawatir jika Anda mengubah kartu video grafis (VGA) atau bahkan sistem operasi Anda selama sistem operasi masih mencoba mengakses perangkat keras dengan cara yang sama.

Microkernels juga memiliki footprint yang sangat kecil, baik untuk memori dan ruang penyimpanan, dan mereka cenderung lebih aman karena hanya proses tertentu yang dijalankan dalam mode pengguna yang tidak memiliki izin tinggi sebagai mode supervisor.

Baca Juga

2. Kernel Monolitik

Kernel monolitik merupakan kebalikan dari mikrokernel karena tidak hanya mencakup CPU, memori, dan IPC, tetapi juga mencakup hal-hal seperti driver perangkat, manajemen sistem file, dan panggilan server sistem. Kernel monolitik cenderung lebih baik dalam mengakses perangkat keras dan multitasking karena jika suatu program perlu mendapatkan informasi dari memori atau proses lain yang menjalankannya memiliki jalur yang lebih langsung untuk mengaksesnya dan tidak harus menunggu dalam antrian untuk menyelesaikan berbagai hal. Namun ini dapat menyebabkan masalah karena semakin banyak hal yang berjalan dalam mode supervisor, semakin banyak hal yang dapat menurunkan sistem Anda jika seseorang tidak berperilaku dengan benar.

3. Microkernel

Sebuah mikrokernel mengambil pendekatan hanya mengelola apa yang harus: CPU, memori, dan IPC. Hampir semua hal lain di komputer dapat dilihat sebagai aksesori dan dapat ditangani dalam mode pengguna. Microkernels memiliki keuntungan portabilitas karena mereka tidak perlu khawatir jika Anda mengubah kartu video atau bahkan sistem operasi Anda selama sistem operasi masih mencoba mengakses perangkat keras dengan cara yang sama.

Microkernels juga memiliki footprint yang sangat kecil, baik untuk memori dan ruang penyimpanan, dan mereka cenderung lebih aman karena hanya proses tertentu yang dijalankan dalam mode pengguna yang tidak memiliki izin tinggi sebagai mode supervisor.

4. Exokernel 

Exokernel menyediakan hardware abstraction secara minimal, sehingga program dapat mengakses hardware secara langsung. Dalam pendekatannya sebuah desain exokernel, library yang dimiliki oleh sistem operasi dapat melakukan abstraksi yang sama dengan abstraksi yang dilakukan oleh desain monolithic kernel.

Tentu saja ada bermacam cara untuk membangun sebuah kernel dan pertimbangan arsitektural ketika membangunnya dari awal. Linux menggunakan kernel monolitik sementara OS X (XNU) dan Windows 7 menggunakan kernel hibrida.

0 Comments

Post a Comment