Kernel Monolitik vs Mikro

8

Apa perbedaan antara kernel monolitik dan microkernel sehubungan dengan struktur dan keamanan. Teman saya mengatakan kepada saya bahwa sistem Linux memiliki kernel monolitik dan karenanya tidak lebih mudah untuk diretas, tetapi saya pikir dia tidak benar.

Seseorang tolong beri saya pencerahan.

Prasoon Saurav
sumber
Untuk sedikit latar belakang sejarah, Anda dapat membaca The Tanenbaum-Torvalds Debate dari tahun 1992.
Dijeda hingga pemberitahuan lebih lanjut.

Jawaban:

6

Perbedaan mendasar adalah bahwa kernel mikro (MK) sangat kecil dan hanya menyediakan serangkaian layanan yang sangat minim. Sebagian besar layanan sistem operasi yang biasanya dianggap disediakan oleh proses terpisah yang mengeksekusi di luar kernel, dan dalam mode yang kurang istimewa. Proses-proses ini perlu dikomunikasikan melalui beberapa dari IPC, alih-alih hanya membaca / menulis ke struktur data apa pun yang ingin mereka akses.

MK cenderung mudah port karena kernelnya kecil, upaya portingnya rendah.

Karena banyak layanan yang disediakan berpotensi berjalan di ruang pengguna alih-alih ruang kernel, mereka tidak dapat dengan mudah membuang proses lain. Ini adalah keamanan plus.

Misalnya mengatakan bagian dari tumpukan jaringan berada di userspace, dan dikompromikan itu mungkin tidak dapat mengganggu proses / tugas lain. Sedangkan jika bagian yang sama dari tumpukan jaringan dalam kernel monolitik mungkin berjalan di ruang kernel di mana jika dikompromikan akan dapat membuang proses lain, karena itu akan menjadi hak istimewa.

Jason Tan
sumber
1

Untuk mengilustrasikan pembicaraan Jason, berikut adalah ilustrasi untuk melihat perbedaan antara kernel mikro-hybrid dan monolitik:

inti

File sumber gambar yang dapat dibaca di Wikipedia .

Studer
sumber