Grafik perbandingan
Dasar untuk Perbandingan | Mikrokernel | Kernel Monolitik |
---|---|---|
Dasar | Dalam layanan pengguna dan kernel mikrokernel, layanan disimpan di ruang alamat yang terpisah. | Dalam kernel monolitik, layanan pengguna dan layanan kernel disimpan dalam ruang alamat yang sama. |
Ukuran | Mikrokernel berukuran lebih kecil. | Kernel monolitik lebih besar dari kernel mikro. |
Eksekusi | Eksekusi lambat. | Eksekusi cepat. |
Dapat diperpanjang | Microkernel mudah diperpanjang. | Kernel monolitik sulit diperluas. |
Keamanan | Jika layanan macet, itu berpengaruh pada kerja microkernel. | Jika layanan macet, seluruh sistem macet di kernel monolitik. |
Kode | Untuk menulis microkernel, diperlukan lebih banyak kode. | Untuk menulis kernel monolitik, lebih sedikit kode yang diperlukan. |
Contoh | QNX, Symbian, L4Linux, Singularity, K42, Mac OS X, Integrity, PikeOS, HURD, Minix, dan Coyotos. | Linux, BSD (FreeBSD, OpenBSD, NetBSD), Microsoft Windows (95, 98, Me), Solaris, OS-9, AIX, HP-UX, DOS, OpenVMS, XTS-400 dll. |
Definisi mikrokernel
Microkernel menjadi kernel mengelola semua sumber daya sistem. Tetapi dalam sebuah microkernel, layanan pengguna dan layanan kernel diimplementasikan dalam ruang alamat yang berbeda. Layanan pengguna disimpan di ruang alamat pengguna, dan layanan kernel disimpan di bawah ruang alamat kernel . Ini mengurangi ukuran kernel dan selanjutnya mengurangi ukuran sistem operasi.
Selain komunikasi antara aplikasi dan perangkat keras sistem, microkernel menyediakan layanan minimal proses dan manajemen memori. Komunikasi antara program / aplikasi klien dan layanan yang berjalan di ruang alamat pengguna dibuat melalui pengiriman pesan. Mereka tidak pernah berinteraksi secara langsung. Ini mengurangi kecepatan eksekusi microkernel.
Dalam microkernel, layanan pengguna diisolasi dari layanan kernel sehingga jika ada layanan pengguna gagal itu tidak mempengaruhi layanan kernel dan karenanya sistem Operasi tetap tidak terpengaruh . Ini adalah salah satu kelebihan di microkernel. Microkernel mudah diperpanjang . Jika layanan baru akan ditambahkan, mereka ditambahkan ke ruang alamat pengguna dan karenanya, ruang kernel tidak memerlukan modifikasi apa pun. Microkernel juga mudah dibawa-bawa, aman, dan andal.
Definisi Kernel Monolitik
Kernel monolitik mengelola sumber daya sistem antara aplikasi dan perangkat keras sistem. Tetapi tidak seperti microkernel, layanan pengguna dan layanan kernel diimplementasikan di bawah ruang alamat yang sama. Ini meningkatkan ukuran kernel lebih lanjut meningkatkan ukuran sistem operasi.
Kernel monolitik menyediakan penjadwalan CPU, manajemen memori, manajemen file dan fungsi sistem operasi lainnya melalui panggilan sistem. Karena layanan pengguna dan layanan kernel keduanya berada di ruang alamat yang sama, ini menghasilkan sistem operasi yang menjalankan cepat.
Salah satu kelemahan dari kernel monolitik adalah jika salah satu layanan gagal seluruh sistem macet. Jika layanan baru akan ditambahkan dalam kernel monolitik, seluruh sistem operasi harus dimodifikasi.
Perbedaan Kunci Antara Microkernel dan Kernel Monolitik
- Titik dasar di mana microkernel dan monolithic kernel dibedakan adalah bahwa microkernel mengimplementasikan layanan pengguna dan layanan kernel di ruang alamat yang berbeda dan kernel monolitik mengimplementasikan layanan pengguna dan layanan kernel di bawah ruang alamat yang sama .
- Ukuran microkernel kecil karena hanya layanan kernel yang berada di ruang alamat kernel. Namun, ukuran kernel monolitik relatif lebih besar dari microkernel karena layanan kernel dan layanan pengguna berada di ruang alamat yang sama.
- Eksekusi kernel monolitik lebih cepat karena komunikasi antara aplikasi dan perangkat keras dilakukan menggunakan system call . Di sisi lain, eksekusi microkernel berjalan lambat karena komunikasi antara aplikasi dan perangkat keras sistem dilakukan melalui pengiriman pesan .
- Mudah untuk memperluas microkernel karena layanan baru akan ditambahkan dalam ruang alamat pengguna yang terisolasi dari ruang kernel, sehingga kernel tidak perlu dimodifikasi. Berlawanan dengan kernel monolitik jika layanan baru ditambahkan ke kernel monolitik maka seluruh kernel perlu dimodifikasi.
- Microkernel lebih aman daripada kernel monolitik seolah-olah sebuah layanan gagal di microkernel sistem operasi tetap tidak terpengaruh. Di sisi lain, jika sebuah layanan gagal di kernel monolitik seluruh sistem gagal.
- Perancangan kernel monolitik membutuhkan lebih sedikit kode, yang selanjutnya menyebabkan bug lebih sedikit. Di sisi lain, perancangan kernel mikro membutuhkan lebih banyak kode yang lebih mengarah ke lebih banyak bug.
Kesimpulan:
Microkernel lebih lambat tetapi lebih aman dan dapat diandalkan daripada kernel monolitik. Kernel monolitik cepat tetapi kurang aman karena setiap kegagalan layanan dapat menyebabkan sistem crash.