Care este diferența dintre nucleul microkernel și nucleul monolitic

principala diferență între kernelul microkernel și monolit este că sistemele bazate pe microkernel au servicii de OS și kernel în spații de adrese separate, în timp ce sistemele bazate pe kernel monolit au servicii de OS și kernel în același spațiu de adresă.

Microkernelul și kernelul monolit sunt două tipuri de kernel. Kernel-ul este nucleul sistemului de operare. Prin urmare, există o zonă de memorie specială pentru stocarea codului critic al kernelului. Kernel-ul este o componentă importantă deoarece menține buna funcționare a întregului sistem. Realizează gestionarea hardware și proces, gestionarea fișierelor și multe alte sarcini.

Domenii cheie acoperite

1. Ce este Microkernelul?
     - Definiție, funcționalitate
2. Ce este Kernel-ul monolitic
     - Definiție, funcționalitate
3. Care este diferența dintre nucleul microkernel și nucleul monolitic
     - Compararea diferențelor cheie

Termeni cheie

Kernel, Microkernel, Kernel monolit, Sistem de operare

Ce este Microkernelul?

Microkernel este un tip de kernel care permite personalizarea sistemului de operare. Funcționează pe un mod privilegiat și oferă managementul spațiului de adrese la nivel scăzut și comunicarea inter proces (IPC). Mai mult decât atât, serviciile de operare, cum ar fi sistemul de fișiere, managerul de memorie virtuală și programatorul CPU, se află pe partea de sus a microkernelului. Fiecare serviciu are propriul spațiu de adrese pentru a le asigura. În plus, aplicațiile au și propriile spații de adrese. Prin urmare, există o protecție în rândul aplicațiilor, a serviciilor de operare și a kernel-ului OS.

Figura 1: Arhitectura microkernel

Când aplicația solicită serviciile OS pentru un serviciu, serviciile OS comunică între ele pentru a furniza serviciul necesar aplicației. Aici comunicarea inter proces (IPC) ajută la stabilirea acestei comunicări. În general, sistemul de operare bazat pe microkernel oferă un nivel ridicat de extensibilitate. De asemenea, este posibilă personalizarea serviciilor sistemului de operare în funcție de cerințele aplicației.

Ce este Kernel-ul monolitic

În sistemele bazate pe kernel monolit, fiecare aplicație are propriul spațiu de adrese. Prin urmare, fiecare aplicație este sigură. De asemenea, kernelul conține toate serviciile OS. Prin urmare, aplicațiile pot solicita servicii din kernel. Unele servicii de sistem de operare sunt sistemul de fișiere, programatorul CPU, accesul la rețea, managerul de memorie etc. Cu toate acestea, sistemul de operare se află într-un spațiu de adrese separat. Prin urmare, este protejat de aplicațiile normale și de aplicațiile defectuoase.

Figura 2: Arhitectura pe bază de kernel monolit

Dacă o aplicație necesită un serviciu, spațiul de adrese al aplicației hardware trece la spațiul de adrese al sistemului de operare pentru al executa.

Diferența dintre nucleul microkernel și kernelul monolitic

Definiție

Un microkernel este un tip de kernel care oferă mecanisme cum ar fi gestionarea spațiului de adrese de nivel scăzut, gestionarea firului și comunicarea interprocesă pentru implementarea unui sistem de operare. În schimb, un kernel monolit este un tip de kernel în sistemele de operare în care întregul sistem de operare funcționează în spațiul kernel-ului. Aceste definiții explică principala diferență dintre kernelul microkernel și monolitic.

Servicii OS

O diferență notabilă între kernelul microkernel și monolitic este că, într-un sistem bazat pe microkernel, serviciile de operare și kernel-ul sunt separate. Dar, într-un sistem de kernel monolit, kernelul conține serviciile de operare.

Viteză

Viteza este, de asemenea, o diferență majoră între kernelul microkernel și monolitic. Un sistem microkernel este lent în timp ce sistemul de kernel monolit este rapid.

eşecurile

Într-un sistem bazat pe microkernel, eșecul într-o componentă nu va afecta celelalte componente. Cu toate acestea, într-un sistem bazat pe kernel monolitic, eșecul într-o componentă va afecta întregul sistem. Prin urmare, aceasta este, de asemenea, o diferență importantă între kernelul microkernel și monolitic.

Personalizare

O altă diferență între microkernel și kernelul monolit este că este mai ușor să adăugați noi funcționalități microkernelului; prin urmare, este mai personalizabil. Cu toate acestea, este dificil să adăugăm noi funcționalități nucleului monolitic; prin urmare, nu este personalizabil.  

mărime

Mai mult, microkernelul are dimensiuni mai mici, în timp ce kernelul monolit are o dimensiune mai mare.

Concluzie

Microkernelul și kernelul monolit sunt două tipuri de kernel. Diferența dintre kernelul microkernel și monolit este că sistemele bazate pe microkernel au servicii de OS și kernel în spații de adrese separate, în timp ce sistemul bazat pe kernel monolit are servicii de OS și kernel în același spațiu de adresă.

Referinţă:

1. Structura monolitice - Georgia Tech - Sisteme de operare avansate, Udacity, 23 Feb. 2015, Disponibil aici.
2. Structura sistemelor de operare Microkernel - Georgia Tech - Sisteme de operare avansate, Udacity, 23 Feb. 2015, Disponibil aici.