Arhitectura micronucleară

Microkernel arhitectura este o alternativă la modul clasic de construire a unui sistem de operare.


Esența arhitecturii micronucleare este după cum urmează. În modul privilegiat, doar o foarte mică parte a sistemului de operare, numită microkernel, rămâne să funcționeze (figura 14). Microkernelul este protejat de alte părți ale sistemului de operare și de aplicații. Microkernelul include, de obicei, module dependente de mașină, precum și module care execută funcții de bază (dar nu toate!) Ale Kernel-ului pentru controlul proceselor, manipularea întreruperilor, gestionarea memoriei virtuale, transferul mesajelor și gestionarea I / O asociate cu registrele de încărcare sau citire dispozitive. Setul de funcții al microkernelului corespunde de obicei funcțiilor stratului mecanismelor de bază ale kernelului obișnuit. Asemenea funcții ale sistemului de operare sunt dificile, dacă nu chiar imposibil, să se realizeze în spațiul utilizatorilor.







Toate celelalte funcții ale kernelului la nivel superior sunt concepute ca aplicații care rulează în modul utilizator. O decizie cu valoare unică în privința funcțiilor sistemului care trebuie lăsate în modul privilegiat și a celor care urmează să fie transferate în modul utilizator nu există.

În general, mulți administratori de resurse, care sunt părți integrante ale kernelului obișnuit - sistemul de fișiere, subsistemele și procesele de gestionare a memoriei virtuale, managerul de securitate etc. - devin module "periferice" care funcționează în modul utilizator.







Managerii de resurse gestionați de utilizatori sunt fundamental diferiți de utilitățile tradiționale și programele de procesare ale sistemului de operare, deși cu arhitectura microkernel toate aceste componente software sunt, de asemenea, concepute ca aplicații. Utilitățile și programele de procesare sunt solicitate în principal de către utilizatori. Situațiile în care o cerere este necesară pentru a efectua funcția (procedura) unei alte aplicații este extrem de rară.

Prin urmare, în sistemele de operare cu o arhitectură clasică, nu există niciun mecanism prin care o aplicație ar putea invoca funcțiile altui.

Destul de diferită situație apare atunci când o parte a sistemului de operare este întocmită în formularul de cerere. Prin definiție, scopul principal al unei astfel de aplicații este servirea cererilor din alte aplicații, cum ar fi crearea unui proces, alocarea memoriei, verificarea drepturilor de acces la o resursă și așa mai departe.

Acesta este motivul pentru care managerii de resurse care sunt redate în modul de utilizator sunt numiți servere de OS, adică module, al căror scop principal este de a satisface cererile pentru aplicații locale și alte module de OS. Evident, pentru implementarea unei arhitecturi microkernel, prezența în sistemul de operare a unei modalități convenabile și eficiente de a apela procedurile unui proces de la altul este o condiție prealabilă. Sprijinul pentru un astfel de mecanism este una dintre principalele sarcini ale microkernelului.

Schematically, mecanismul de accesare a funcțiilor OS, conceput sub formă de servere, arată după cum urmează (figura 15).







Articole similare

Trimiteți-le prietenilor: