De fapt, sistemul de operare - acesta este un program comun, asa ca ar fi logic și să-l organizeze precum și aranjate majoritatea programelor, care este, de a face procedurilor și funcțiilor. În acest caz, componentele sistemului de operare nu sunt module independente, precum și componente ale unui program de mari dimensiuni. Acest sistem de operare se numește o structură monolitică nucleu (kernel monolitic). miez solid este un set de proceduri, din care fiecare poate fiecare cauză. Toate procedurile sunt de lucru într-un mod privilegiat. Astfel, un nucleu monolitic - este un astfel de sistem de operare schemă. prin care toate componentele sunt componente ale unui singur program, prin intermediul unor structuri de date comune și interacționează unele cu altele, prin apelul de procedură directă. Pentru un sistem de operare nucleu monolitic este întregul sistem.
În multe sisteme de operare cu un nucleu monolitic construi un nucleu, care este, pentru realizarea sa este realizată separat pentru fiecare computer pe care instalați sistemul de operare. Puteți alege o listă de protocoale de hardware și software, al căror suport vor fi incluse în kernel. Deoarece kernel-ul este un singur program, recompilarea - este singura modalitate de a adăuga noi componente sau elimina neutilizate la acesta. Trebuie remarcat faptul că prezența unor componente suplimentare în nucleu este extrem de nedorit, deoarece miezul este întotdeauna complet în RAM. În plus, eliminarea componentelor inutile crește fiabilitatea de funcționare a sistemului în ansamblu.
Monolitice nucleu - cea mai veche modalitate de organizare a sistemelor de operare. Un exemplu de sistem cu un nucleu monolitic este mai multe sisteme bazate pe Unix.
Chiar putem aloca o anumită structură în sistemele monolitice. Ca un bloc de beton de incluziuni pot distinge pietriș și într-un serviciu de proceduri blotches nucleu monolitic alocate corespunzătoare apelurilor de sistem. Procedurile de service sunt în mod privilegiat, în timp ce programul de utilizator - în neprivilegiați. Pentru a trece de la un nivel la altul privilegiu poate fi uneori programul de servicii la domiciliu, care determină ceea ce a fost făcut un fel de apel de sistem utilizat, corectitudinea datelor de intrare pentru controlul apelurilor și transferuri la procedura de serviciu corespunzătoare pentru trecerea la modul privilegiat. Uneori, emit un set de utilitare software care ajuta la realizarea unor proceduri de service.
Sisteme multinivel (sisteme Layered)
Continuând structurarea, este posibil să se rupă întregul sistem de calcul într-un număr de niveluri mai mici, cu relații bine definite între ele, astfel încât obiectele de nivel N ar putea determina numai nivelul instalațiilor N-1. Nivelul inferior în aceste sisteme este de obicei hardware-ul, nivelul superior - interfața cu utilizatorul. Nivelul inferior, comenzile și acțiunile privilegiate pentru a efectua modulul care se află la acest nivel. Această abordare a fost folosit pentru prima dată pentru configurarea THE (Hogeschool Eindhoven de Tehnica) Dijkstra (Dijkstra) și studenții săi în 1968. Acest sistem are următoarele niveluri:
Sistemele Layered sunt puse în aplicare bine. Atunci când se utilizează un strat de operațiuni mai mici nu trebuie să știe modul în care acestea sunt puse în aplicare, este necesar doar pentru a înțelege ceea ce fac. Sistemul Layered testat bine. Debugging începe cu stratul inferior și este menținut în straturi. Atunci când apare o eroare, putem fi siguri că este în patul de testare. Sistemul Layered este modificat bine. un singur strat poate fi înlocuit, dacă este necesar, fără a atinge restul. Dar sistemele stratificate sunt complexe pentru a proiecta: dificil de a determina corect ordinea straturilor, și care se aplică la orice strat. Sistemele sunt Layered mai puțin eficiente decât monolitic. Astfel, de exemplu, pentru efectuarea operațiunilor de intrare-ieșire programul de utilizator va trece succesiv prin toate straturile de sus în jos.