de la PIE.Wiki
Sistemele de operare microkernel pot distinge modulul central-com compact cu privire la partea de supraveghere a sistemului. Acest modul IME, o dimensiune foarte mică, și efectuează un număr relativ mic de funcții de control, dar vă permite să treacă controlul altor module-ING gestionate și îndeplini funcția solicitată. Microkernel - este în E minimalitate majoră (tijă) a sistemului de operare, care servește ca extensii modulare și portabile-ing Ba. Microkernel în sine este un modul al software-ului de sistem, care funcționează în starea de înaltă prioritate a calculatorului și să comunice cu restul sistemului de operare termen, care este văzută ca un set de aplicații server (servicii)
În 90-e ai secolului XX, a fost o credință foarte frecvente că cele mai multe sisteme de operare, următoarea generație va fi construit ca un microkernel. Cu toate acestea, practica arată că acest lucru nu este adevărat. Dezvoltatorii doresc să aibă un microkernel compact, dar pentru a include cat mai multe caracteristici, efectuate direct de acest modul software. Pentru executarea altor funcții modul de cerere este numit de microkernel, și conduce la întârzieri suplimentare, precum și la complicații suplimentare. Mai mult decât atât, există o mulțime de opinii diferite cu privire la modul de organizare a sistemului de operare de serviciu utilizat în legătură cu micro-kernel; cum să proiecteze drivere de dispozitiv pentru a asigura o eficiență maximă, dar să păstreze funcția de drivere cât mai independentă de echipamentul; dacă pentru a efectua radio operator mod care nu fac parte din nucleul spațiului nucleu sau în spațiul de utilizare; dacă să continue programul subsistemele existente (de exemplu, UNIX), sau mai bine las totul baltă și să înceapă de la zero.
Ideea principala din spatele tehnologiei microkernel este necesară pentru a crea o ierarhie de nivel superior a mediului din care puteți accesa cu ușurință toate funcționalitatea nivel hardware. Astfel microkernel este punctul de plecare pentru crearea tuturor celorlalte module ale sistemului. Toate celelalte module care implementează funcțiile sistemului req-Sary sunt numite de microkernel și îndeplini rolul de serviciu. În același timp, ele dobândesc statutul unui proces obișnuit sau de activitate. Putem spune că arhitectura microkernel corespunde tehnologiei client-server. Nume-dar tehnologia permite o mai mare măsură și cu mai puțin efort principiile EeJ-ondulație enumerate mai sus de proiectare de operare SIS.
Cea mai importantă sarcină a proiectului microkernel este de a alege tivov prima de bază care ar trebui să fie în microkernel să furnizeze serviciul necesar și suficient. Microkernel conținea și executat cantitatea minimă de cod necesare pentru punerea în aplicare a apelurilor de sistem de bază. Num-Lo aceste provocări includ mesaje și alte mijloace de comunicare între organizație face extern la procesele de micro-nucleu, întrerupe suport de management, precum și o serie de alte foarte puține funcții. Celelalte funcții la nivel de sistem, care sunt tipice „normale“ (nu micronucleului) sisteme opera ționale sunt furnizate ca procese adaosurile modulare care interacționează în principal cu altele și efectuarea de interacțiune prin transmitere de mesaje.
Pentru majoritatea sistemelor de operare microkernel ca bază pentru un astfel de arc-tecture standuri tehnologie microkernel Mach. Acest sistem de operare a fost creat la Universitatea Carnegie Mellon, și mulți dezvoltatori au luat cu exemplul ei.
Funcții Microkernel sunt limitate în executabile pentru a reduce domeniul său de aplicare-ING și de a maximiza cantitatea de cod care rulează ca un program de aplicație. Microkernel include doar acele funcții care sunt necesare în scopul de set definiție TION a mediilor de procesare abstracte pentru aplicații și aplicații de colaborare. Ca urmare, microkernel oferă doar cinci tipuri diferite de servicii:
- gestionarea memoriei virtuale;
- locuri de muncă și fluxuri de sprijin;
- comunicarea între procese (Inter-Process Communication, IPC);
- sprijin de management al IO și întrerupe;
- Servicii de gazdă (gazdă) și procesorul.
Alte subsisteme și funcții ale sistemului de operare, cum ar fi sistemele de fișiere, suport pentru dispozitive externe și interfețele de programare tradiționale sunt realizate ca un serviciu de sistem sau de a primi statutul de ordinare obrabaty-lev els sarcini. Aceste programe rula ca o aplicație de pe un microkernel.
Odată cu aplicarea conceptului de mai multe fire pentru a efectua o sarcină royadro creează mediul de micro-aplicație, oferind utilizare Multipro tsessorov; în acest caz, nu este necesar ca aparatul este un multiprocesor: pe de o CPU diferite fluxuri doar efectuate la momente diferite. Este nevoie de tot sprijinul pentru mașini multi-procesor, skontsentri-ment într-un microkernel relativ mic și simplu.
Datorita dimensiunilor sale mici și capacitatea de a sprijini alte servicii sub forma unor procese convenționale, care rulează cu aplicarea pro-grame se Microkernel mai ușor decât nucleu sisteme de operare monolitice sau modulare. Cu sistemul de operare microkernel de supraveghere parte tern INDICA în părți modulare, care pot fi configurate într-un număr de moduri, permițând sistemului de a construi plus mare pentru părți mai mici. De exemplu, fiecare dispozitiv independent și neutru de serviciu logic otde-in și poate fi configurat în diferite moduri. Microkernel, de asemenea, să faciliteze crearea de multi-procesoare sprijini mediul de programare standard, care pot folosi mai multe procesoare în cazul în care acestea sunt, dar în cazul în care nu sunt de lucru pe unul. Codul specializat pentru multiprocesor este limitată de microkernel. Mai mult decât atât, o rețea de comunicare cu fiecare alte micro-royader poate fi utilizat pentru suportul sistemului de operare-tam-tam penitentă clasa mașini masiv paralele.
În unele cazuri, utilizarea abordării microkernel în practica zvelt-INDICA cu anumite dificultăți, care se manifestă într-o încetinire a vitezei de apeluri de sistem, atunci când trimiterea unui mesaj prin intermediul microkernel, în comparație cu abordarea clasică. Pe de altă parte, poate fi constative-ment și în alt mod. Deoarece microkernel este mic și în mare parte Optimizați-ment, în anumite condiții, acestea permit caracteristici în timp real, necesare pentru gestionarea dispozitivelor de mare viteză a vitezei de comunicații. În cele din urmă, bine structurat microkernel Secu Chiva strat izolator pentru diferențele de hardware care nu sunt mascate folosind limbaje de programare de nivel înalt. Astfel, acestea facilitează transferul codului și de a crește nivelul de re-TION Utilizată.
Cel mai important reprezentant al sistemului de operare microkernel este sistemul de operare QNX în timp real. QNX microkernel acceptă numai procesele de planificare și programare, comunicare inter-proces, de manipulare de întrerupere și servicii de rețea la nivelul inferior. Acest microkernel oferă doar câteva zeci de apeluri de sistem, dar de acest lucru, deoarece acesta poate fi plasat în întregime în memoria cache internă chiar și astfel de procesoare Intel 486. După cum știți, o altă versiune a sistemului de operare utilizat și au diferite cantități de miezuri - 8 până la 46 Kbytes .
Pentru a construi un sistem minimal QNX. Se dorește să adauge la managerul procesului de micro-nucleu, care creează și gestionează procesele și procesele de memorie. sistem de operare QNX să fie aplicabilă nu numai în sistemele vstroeynyh și fără disc, trebuie să adăugați managerul de sistem de fișiere și gura-roystv. Acești manageri sunt executate în afara spațiului kernel-ului, astfel încât nucleul rămâne mic.