Mikrokernel masuk OperaSistem: Architekstur, Keuntungan
Sebelum kita mempelajari MicroKernel, mari kita pahami:
Apa itu Kernel?
Kernel adalah bagian penting dari OS yang mengelola sumber daya sistem. Ini juga bertindak sebagai jembatan antara perangkat lunak dan perangkat keras komputer. Ini adalah salah satu program pertama yang dimuat saat start-up setelah bootloader. Kernel juga bertanggung jawab untuk menawarkan akses aman ke perangkat keras mesin untuk berbagai program. Ini juga memutuskan kapan dan berapa lama aplikasi tertentu menggunakan perangkat keras tertentu.
Apa itu Mikrokernel?
Mikrokernel adalah perangkat lunak atau kode yang berisi jumlah minimum fungsi, data, dan fitur yang diperlukan untuk mengimplementasikan sistem operasi. Ini menyediakan sejumlah mekanisme minimal, yang cukup baik untuk menjalankan fungsi paling dasar dari suatu sistem operasi. Ini memungkinkan bagian lain dari sistem operasi untuk diimplementasikan karena tidak menerapkan banyak kebijakan.
Mikrokernel dan lingkungan penggunanya biasanya diimplementasikan di C++ or bahasa pemrograman C dengan sedikit perakitan. Namun, bahasa implementasi lain dimungkinkan dengan beberapa pengkodean tingkat tinggi.
Apa itu Kernel Monolitik?
Kernel Monolitik menjalankan semua layanan sistem dasar seperti manajemen proses, Manajemen memori, komunikasi I/O, dan penanganan interupsi, sistem file, dll di ruang kernel.
Dalam pendekatan Kernel jenis ini, seluruh sistem operasi berjalan sebagai satu program dalam mode kernel. Sistem operasi ditulis sebagai kumpulan prosedur yang dihubungkan bersama ke dalam program biner besar yang dapat dieksekusi.
Mikrokernel Architekstur
Mikrokernel adalah bagian terpenting untuk implementasi sistem operasi yang benar. Anda dapat melihat pada diagram di bawah ini, bahwa Mikrokernel memenuhi operasi dasar seperti memori, mekanisme penjadwalan proses, dan komunikasi antar proses.
Mikrokernel adalah satu-satunya perangkat lunak yang dijalankan pada tingkat hak istimewa. Fungsi penting lainnya dari OS dihapus dari mode kernel dan dijalankan dalam mode pengguna. Fungsionalitas ini dapat berupa driver perangkat, aplikasi, server file, komunikasi antarproses, dll.
Komponen Mikrokernel
Mikrokernel hanya terdiri dari fungsi inti sistem. Sebuah komponen dimasukkan ke dalam Mikrokernel hanya jika meletakkannya di luar akan mengganggu fungsionalitas sistem. Semua komponen tidak penting lainnya harus dimasukkan ke mode pengguna.
Fungsi minimum yang diperlukan dalam Mikrokernel adalah:
- Manajemen memori mekanisme seperti ruang alamat harus dimasukkan dalam Mikrokernel. Ini juga berisi fitur perlindungan memori.
- Mekanisme penjadwalan prosesor harus berisi penjadwal proses dan thread.
- Komunikasi antar-proses mengelola server yang menjalankan ruang alamatnya sendiri.
Perbedaan Antara Kernel Mikro dan Kernel Monolitik
Parameters | Kernel monolitik | MikroKernel |
---|---|---|
Dasar | Ini adalah proses besar yang berjalan dalam satu ruang alamat | Itu dapat dipecah menjadi proses terpisah yang disebut server. |
Kode | Untuk menulis kernel monolitik, diperlukan lebih sedikit kode. | Untuk menulis mikrokernel, diperlukan lebih banyak kode |
Security | Jika suatu layanan mogok, seluruh sistem akan runtuh dalam kernel monolitik. | Jika suatu layanan mogok, hal itu tidak pernah memengaruhi kerja mikrokernel. |
Komunikasi | Ini adalah file biner statis tunggal | Server berkomunikasi melalui IPC. |
Example | Linux, BSD, Microsoft Windows (95,98, Saya), Solaris, OS-9, AIX, DOS, XTS-400, dll. | L4Linux, QNX, SymbianK42, Mac OS X, Integrity, Dll |
Keunggulan Mikrokernel
Berikut kelebihan/keuntungan menggunakan Microkernel
- Arsitektur mikrokernel kecil dan terisolasi sehingga dapat berfungsi lebih baik.
- Mikrokernel aman karena hanya komponen-komponen yang disertakan yang dapat mengganggu fungsionalitas sistem.
- Perluasan sistem lebih mudah diakses, sehingga dapat ditambahkan ke aplikasi sistem tanpa mengganggu Kernel.
- Mikrokernel bersifat modular, dan modul yang berbeda dapat diganti, dimuat ulang, dimodifikasi bahkan tanpa menyentuh Kernel.
- Lebih sedikit sistem yang crash jika dibandingkan dengan sistem monolitik.
- Antarmuka mikrokernel membantu Anda menerapkan struktur sistem yang lebih modular.
- Tanpa mengkompilasi ulang, tambahkan fitur baru
- Kerusakan server juga diisolasi seperti kerusakan program pengguna lainnya.
- Sistem mikrokernel bersifat fleksibel, sehingga strategi dan API berbeda, diterapkan oleh server berbeda, yang dapat hidup berdampingan dalam sistem.
- Peningkatan keamanan dan stabilitas akan mengakibatkan penurunan jumlah kode yang berjalan pada mode kernel
Kekurangan Mikrokernel
Berikut kekurangan/kekurangan menggunakan Microkernel:
- Memberikan layanan dalam sistem mikrokernel mahal dibandingkan dengan sistem monolitik normal.
- Sakelar konteks atau panggilan fungsi yang diperlukan saat driver diimplementasikan sebagai prosedur atau proses, masing-masing.
- Kinerja sistem mikrokernel dapat berubah-ubah dan dapat menimbulkan beberapa masalah.
Kesimpulan
- Kernel adalah bagian penting dari OS yang mengelola sumber daya sistem.
- Mikrokernel adalah perangkat lunak atau kode yang berisi jumlah minimum fungsi, data, dan fitur yang diperlukan untuk mengimplementasikan sistem operasi.
- Dalam pendekatan Kernel Monolitik, seluruh sistem operasi berjalan sebagai satu program dalam mode kernel
- Mikrokernel adalah bagian terpenting untuk implementasi sistem operasi yang benar.
- Mikrokernel hanya terdiri dari fungsi inti sistem.
- Kernel monolitik adalah proses besar yang berjalan dalam satu ruang alamat, sedangkan Mikrokernel dapat dipecah menjadi proses terpisah yang disebut server.
- Arsitektur mikrokernel berukuran kecil dan terisolasi sehingga dapat berfungsi lebih baik
- Menyediakan layanan dalam sistem mikrokernel mahal dibandingkan dengan sistem monolitik normal