Softver se može podijeliti u dve grupe:
- sistemski programi – upravljaju računarom
- korisnički(aplikacioni) programi – rješavaju probleme korisnika
Operativni sistem je fundamentalni dio sistemskih programa, čiji je zadatak upravljanje resursima
računara i koji obezbjeđuje osnovu za pisanje aplikacionih programa.
Kako obezbjeđuje OS osnovu za pisanje aplikacionih programa? Računar je kompleksan sistem sastavljen od raznih dijelova, kao što su: procesor, memorija,
diskovi, tastatura, miš, štampač, skener itd. Pisanje programa na način da se ti dijelovi računara
programiraju direktno je vrlo težak posao. Zato je došlo do ideje da se stavi jedan sloj između
aplikacionih programa i hardvera. Uloga tog sloja je da obezbijedi interfejs ostalim programima radi lakšeg i bezbjednijeg pristupa hardveru. Taj sloj je upravo OS.
Na najnižem nivou imamo fizičke uređaje – fizički dijelovi računara. Iznad tog sloja su mikro
programi – direktno kontrolišu fizičke uređaje i obezbjeđuju interfejs prema sledećem nivou.
Predstavljaju elementarne korake od kojih se sastoje instrukcije mašinskog jezika. Mašinski jezik je skup
instrukcija koje procesor direktno razumije (izvršava ih pomoću svojih mikro programa).
Glavna funkcija operativnog sistema je sakrivanje detalja ovih nižih nivoa od ostalih programa i
pružanje niza jednostavnijih instrukcija za pristup hardveru.
Šta je operativni sistem ?
- OS kao proširena (extended) mašina – Arhitektura računara na nivou mašinskog jezika je primitivna i nije pogodna za programiranje. Kao primjer možemo uzeti NEC PD765 kontroler za disketni
uređaj (koristi se na personalnim računarima). Taj kontroler ima 16 komandi. Najosnovnije
komande su READ i WRITE i zahtjevaju 13 parametara koji su smještena u 9 bajtova. Prilikom
pristupa disketnom uređaju, treba voditi računa o tome, da li je motor uključen, pa treba naći
stazu, pa sektor itd… – i to bi trebalo raditi svaki put kada želimo nešto pisati ili čitati sa
diskete. Zadatak OS-a kao proširene ili virtuelne mašine je upravo to da te stvari radi umjesto
nas i da nam pruža neke funkcije višeg nivoa apstrakcije radi pristupa hardveru. - OS kao upravljač resursima (resource manager) – RESURS obuhvata sve što je programu
potreban za rad (memorija, procesor, disk, štampač , skener, itd.). Kao upravljač resursima OS
ima zadatak da vodi računa o resursima računara – da zadovolji potrebe programa, da prati
koji program koristi koje resurse, itd. Primer: imamo višekorisnički sistem: dva korisnika
istovremeno žele nešto štampati – OS je dužan da vodi računa o tome da programi tih
korisnika dođu do štampača kao resursa i da se podaci ne miješaju.