Struktura operativnog sistema

MONOLITNI SISTEMI
Operativni sistem koji koristi ovakvu strukturu (UNIX) je realizovan kao skup procedura (tj.  funkcija koje su organizovane po modulima), od kojih svaka može pozvati svaku ako je to potrebno. Monolitni operativni sistemi nemaju pravilnu strukturu kao slojeviti operativni sistemi, jer se sastoje od modula čija saradnja nije ograničena pravilima kao kod slojevitih operativnih sistema. To znači da se iz svakog od modula monolitnih operativnih sistema mogu slobodno pozivati operacije svih ostalih modula.
Ovo je dosad najviše korišćena organizacija i može se sa punim pravo nazvati “Velika zbrka”. Struktura je takva da uopšte nema strukture.  Što se tiče sakrivanja informacija, to ovdje uopšte ne postoji, tj. svaka procedura je vidljiva u odnosu na bilo koju drugu proceduru, za razliku od strukture koja sadrži module ili pakete, u kojoj je većina informacija sakrivena unutar modula, tako da se samo u određenim tačkama mogu pozvati van modula.
Čak je i u monolitskim sistemima moguće postići malo strukturnosti:

  • Glavni program koji priziva zahtjevanu uslužnu proceduru.
  • Skup uslužnih procedura koje izvršavaju pozive sistema.
  • Skup korisničkih procedura koje pomažu uslužnim procedurama.

U ovom modelu, za svaki poziv sistema postoji jedna uslužna procedura koja odrađuje taj poziv. Na sljedećoj slici je strukturni model monolitnog sistema.

Mogu se uočiti tri nivoa.Na najvišem nivou (1) glavni program poziva zahtijevanu uslužnu (servisnu) proceduru (2) koja izvršava sistemski poziv.Za svaki sistemski poziv postoji po jedna servisna procedura.Korisničke (”utility”) procedure koja se nalaze na trećem nivou vrše neku obradu podataka ili pristup hardveru. Korisničke procedure se pozivaju od strane uslužnih procedura.

MIKRO JEZGRO
Alternativa strukturi monolitnog operativnog sistema je arhitektura sa mikro jezgrom(microkernel) kao što je prikazano na slici:

Kod arhitekture sa mikro jezgrom samo najvažnije funkcije OS-a se nalaze u jezgru. Manje važni servisi i aplikacije su van jezgra i izvršavaju se u korisničkom režimu rada. Komponente OS izvan mikro jezgra se implementiraju kao server procesi.Ove komponente komuniciraju međusobno tako što šalju poruke preko mikro jezgra.Mikro jezgro vrši validaciju poruka, prenosi poruke između komponenata i daje komponentama pristup hardveru.Komponente mogu biti drajveri uređaja, server datoteka, server procesa, programi za upravljanje virtuelnom memorijom…Npr.ako aplikacija treba da otvori datoteku tada ona šalje poruku serveru datoteka preko mikro jezgra.Svaki od servera može da pošalje poruku drugim serverima i može da poziva primitivne funkcije unutar mikro jezgra.Tako je ostvarena klijent-server arhitektura unutar jednog računara.
Osnovne prednosti OS sa mikro jezgrom su sljedeće:

  • Dodavanje novog servisa na zahtijeva modifikovanje jezgra OS,
  • Sistem je bezbjedniji jer se više operacija izvršava u korisničkom režimu rada,
  • Predstavlja podršku distribuiranim sistemima,
  • Predstavlja podršku objektno-orijentisanim OS,
  • Omogućava jednostavnije projektovanje jezgra i pouzdaniji OS.

MODULARNI OS
Savremeni OS se može dekomponovati u module koji obezbijeđuju sljedeće funkcije:

  • upravljanje procesima
  • upravljanje memorijom
  • upravljanje U/I uređajima
  • upravljanje datotekama
  • upravljanje mrežom.

Na slici je dat prikaz modularnog OS koji sadrži sve prethodno navedene module.Postoji nekoliko prednosti modularnih OS:

  • lakše je modifikovati sistem i ispravljati greške jer promjene utiču samo na neke dijelove sistema,
  • informacije se čuvaju samo gdje je to potrebno,
  • informacijamma se pristupa samo unutar definisane i ograničene oblasti.