Cilji:
Pri opisu struktur operacijskega sitema bomo izhajali iz spodnje slike, kjer je prikazana logična zgradba računalniškega sistema. Na najnižji ravni leži strojna oprema.
Bančni sistem |
Rezervacija kart |
Spletni brskalnik |
Prevajalnik |
Urejevalnik |
Ukazni tolmač |
Operacijski sistem |
||
Strojna oprema |
Slika: Shema računalniškega sistema
Strojno opremo izkorišča operacijski sistem, katerega jedro je lahko zelo različnih struktur. Operacijski sistem nudi storitve sistemski programski opremi in uporabniški programski opremi.
MS-DOS je bil narejen za mikroprocesorje brez načina delovanja dual-mode in zaščite pomnilnika. Nič ni preprečilo nekemu programu, da bi neposredno dostopal do ROM-BIOS-a. Programska združljivost je preprečila kar nekaj časa vsako pomembno spremembo v notranjosti datotečnega sistema.
Resident System Program |
MS-DOS gonilniki naprav |
ROM BIOS gonilniki naprav |
Jedro je dostopno preko vmesnika sistemskih klicev in uporabnik preko jedra dostopa do vira, ki ga upravlja jedro. Vsebuje vse kar ni specifično določeni napravi, vključno z datotečnim sistemom, omrežno kodo... Rezultat je ogromno jedro, ki ga je težko upravljati, spreminjati in razhroščevati.
Uporabniški programi in ostali pripomočki |
Monolitsko jedro |
Terminal, memory controllers |
Jedro je izpopolnjeno kot hierarhija plasti. Vsaka plast določa nov podatkovni objekt, ki skriva pred višje nivojskimi plastmi razne funkcije, v zameno pa priskrbi nove.
Primer (E. Dijkstra, T. U. Eindhoven)
Uporabniški programi |
Medpomnenje za vhodno-izhodni enote |
Operator Console Device Driver (?) |
Upravljanje s pomnilnikom |
CPE razvrščanje |
Strojna oprema |
Na žalost je težko določiti razpored plasti. Na primer, nekateri so mnenja,i da bi preložili plast za upravljanje s pomnilnikom na vrh plasti datotečnega sistema (olajšali bi svapanje) ali pod njo (omogočili bi datotečnemu sistemu uporabo upravljanja s pomnilnikom).
Da bi zmanjšali jedro, je potrebno vse manj pomembne strežnike postaviti izven jedra (file servers, networking servers...). Tako postane kernel je majši, bolj vodljiv in lažji za razhroščevanje. S tem pa pridobimo tudi druge prednosti:
Mikrojedro bi bila rešitev, če bi bilo možno poceniti context switches drugače rečeno, če preklapljanje kontekstov (preklop med enim in drugim procesom pomeni shranjevanje in obnavljanje stanj procesorja) ne bi vzelo toliko časa.
Namen vzpostavitve navideznega stroja je skrivanje lastnosti določenega sistema pred uporabniškimi programi. Razlogi za skrivanje so lahko sledeči: