Šta je operativni sistem?

Pod pojmom operativnog sistema u klasičnom smislu podrazumeva se „softver potreban za izvršavanje (aplikativnih) programa i za koordinaciju aktivnosti računarskog sistema. Taj softver može obuhvatati procedure raspodele resursa računarskog sistema, kontrole ulazno-izlaznih operacija, upravljanja memorijom, upravljanja podacima, prevođenja programskih jezika itd.“.

Iz ove se definicije vidi da ona polazi od koncepcije računara opšte namene kao jedino moguće arhitekture računarskog sistema. Upravo zbog toga ona među funkcije operativnog sistema uključuje i funkciju prevođenja programskih jezika. Međutim, trend specijalizacije elektronskih računara imao je kao posledicu modifikaciju definicije operativnog sistema, što se uočava iz sledeće definicije: „Pojam operativnog sistema obuhvata one programske module u računarskom sistemu pomoću kojih se realizuje kontrola hardverskih resursa, ulazno-izlaznih uređaja i datoteka. Ti moduli razrešavaju konflikte, pokušavaju da optimizuju funkcionisanje i pojednostave upotrebu računarskog sistema. Operativni sistem, dakle, deluje poput posrednika između korisničkih programa i fizičkog računarskog hardvera.“ Takvo određenje operativnog sistema neosporno ukazuje na njegovo poimanje u funkciji bazičnog sistemskog softvera.

Polazeći od druge navedene definicije, funkcijama operativnog sistema treba smatrati:

• funkcije upravljanja memorijom računara;

• funkcije upravljanja centralnim procesorom računara;

• funkcije upravljanja periferijskim uređajima;

• funkcije upravljanja podacima, odnosno informacijama;

• procedure optimizacije kompleksa navedenih funkcija.

Moduli operativnog sistema koji realizuju funkcije upravljanja memorijom računara odražavaju, u principu, koncepciju korišćenja memorije računara po kojoj procesor sistema treba da smesti određene instrukcije i podatke. Ti moduli, dakle, pre svega vode računa o „zauzetosti“ ili „nezauzetosti“ pojedinih delova memorije, utvrđuju „politiku“ alokacije određenih sadržaja u memoriji (raspodela memorije), realizuju tu politiku alokacije korišćenjem izvesnih tehnika alokacije (adresiranje memorije), te utvrđuju „politiku“ i tehnike dealokacije (brisanja ili transfera) sadržaja memorije. Memorije različitih računara organizovane su na različite načine, a kao posledica toga javljaju se brojne razlike u složenosti i međusobnim vezama modula operativnih sistema kojima se ostvaruju funkcije upravljanja memorijom.

Računarski sistemi mogu obuhvatati jedan ili više procesora, dakle hardverskih uređaja kojima se realizuju aritmetičke, logičke i ostale operacije koje podržava elektronski računar. Kod jednoprocesorskih sistema zadaci modula koji realizuju funkcije upravljanja procesorom relativno su jednostavni i svode se na izazivanje specifičnih aktivnosti tog procesora kojima se realizuje obrada određenog aplikativnog programa. Ti zadaci su kod višeprocesorskih sistema daleko složeniji. Moduli operativnog sistema te vrste moraju u prvom redu dodeljivati pojedine zadatke obrade pojedinim procesorima, odnosno, preciznije rečeno, pojedine procesore dodeljivati pojedinim zadacima obrade. Iz navedenog proizilazi da uvek moraju postojati barem dva skupa modula za upravljanje procesorima računarskog sistema: moduli koji kontrolišu i „vode brigu“ o zadacima obrade i moduli koji nadziru status i rad procesora. Njihovom interakcijom ostvaruje se pomenuti primarni zadatak ovog segmenta operativnog sistema – dodeljivanje procesora pojedinim zadacima obrade. U realnim uslovima rada elektronskih računara izvesni zamašniji zadaci obrade obično se segmentiraju, a ti se segmenti upućuju različitim procesorima na paralelnu ili sukcesivnu obradu, pa obično postoji i skup modula operativnog sistema koji sinhronizuje takve tokove obrade. Navedeni opis načina na koji operativni sistem realizuje funkcije upravljanja sistemskim procesorima veoma je pojednostavljen, ali dublja razmatranja zahtevala bi i detaljnije poznavanje načina rada računarskih sistema.

Sa stanovišta operativnog sistema svi hardverski uređaji, izuzev procesora i memorije, predstavljaju periferiju ili periferijske uređaje računarskog sistema. Radom tih uređaja upravlja određeni skup modula operativnog sistema, čiji je osnovni zadatak, dakle, upravljanje periferijskim uređajima, kojih u nekim konfiguracijama može biti vrlo mnogo. Ti moduli moraju, u najkraćim crtama, izvršavati sledeće funkcije:

• evidencija i nadzor nad svim priključenim perifernim uređajima, bez obzira jesu li oni u datom trenutku aktivni ili neaktivni;

• utvrđivanje „politike“ dodeljivanja tih uređaja pojedinim aktivnim obradama, dimenzionisanje dužine vremena upotrebe tih uređaja i trenutka njihovog zauzeća, odnosno oslobađanja;

• fizičko povezivanje određenih tokova obrade podataka sa određenim periferijama;

• fizičko oslobađanje periferija od pojedinih zadataka obrade.

Operativni sistem mora „znati“ koji sve periferni i pomoćni uređaji postoje u datoj konfiguraciji računarskog sistema, baš kao što mora „znati“ šta svaki od tih uređaja u određenom trenutku radi. Takvu evidenciju on vodi održavanjem posebne, tzv. statusne datoteke podataka o svakom perifernom i podržanom uređaju. Dalje, operativni sistem mora donositi odluke o tome hoće li se neki periferni uređaj dodeliti isključivo jednom specifičnom zadatku obrade itd.

Moduli operativnog sistema koji realizuju sve navedene funkcije upravljanja periferijskim uređajima računarskog sistema mogu se, stoga, razvrstati u tri uže grupe:

• moduli koji realizuju ulazno/izlazni promet zadatka obrade i podataka;

• moduli koji raspoređuju periferije i podržavaju uređaje prema zahtevima postojećih zadataka obrade;

• moduli koji fizički upravljaju radom periferija i pomoćnih uređaja.

Funkcija upravljanja podacima, odnosno informacijama, odnosi se na memorisanje i manipulisanje podacima, odnosno informacijama. Podatke računar održava u formi datoteka, baze ili banke podataka. U aplikativnim programima mora se navesti

kojim se podacima, odnosno datotekama želi pristup, a operativni sistem takve podatke ili datoteke mora pronaći, odnosno formirati i smestiti na neku fizičku lokaciju. Iz navedenog proizilazi da se funkcija upravljanja podacima, odnosno informacijama, koju mora vršiti operativni sistem može raščlaniti na sledeće potfunkcije:

• vođenje evidencije o svim podacima, odnosno informacijama koje stoje na raspolaganju elektronskom računaru, tj. do kojih se može direktno

pristupati;

• utvrđivanje strategije memorisanja podataka i odobravanje pristupa tim podacima pojedinim subjektima posredstvom aplikativnih programa;

• alokacija informacijskih resursa, odnosno dodeljivanje određenih podataka onim zadacima obrade koji ih u datom trenutku zahtevaju;

• oslobađanje informacijskih resursa od zadataka obrade kada potreba za njihovim korišćenjem definitivno prestane.

Evidenciju o postojećim podacima, odnosno informacijama memorisanim na sekundarnim memorijama računara operativni sistem vodi održavanjem posebnih tabela opisivača tih podataka (engl. File Directory). Te su tabele smeštene u memoriji računara i u njima su navedeni nazivi, lokacije i eventualna ograničenja pristupa svim podacima koji se čuvaju na eksternim memorijama direktnog pristupa (jedinice magnetnih diskova). Operativni sistem ispituje sadržaj tih tabela pre nego što omogući pristup nekog aplikativnog programa određenim podacima. Operativni sistem mora, dakle, i formirati takve tabele, a to čini delimično pre, a delimično posle formiranja datoteka podataka. Pri formiranju datoteka podataka (i tabela njihovih opisivača) operativni sistem se mora pridržavati određene strategije memorisanja koja mora kombinovati načela racionalnog korišćenja memorijskog prostora, efikasnog pristupa memorisanim podacima, fleksibilnosti koju pruža aplikativnim programima i zaštite podataka, odnosno informacija od neželjenog pristupa. Kada neki aplikativni program jednom zatraži određene podatke, operativni sistem ih mora pronaći, kao što mora ostvariti i sve uslove pod kojima aplikativni program te memorisane podatke može koristiti. Obratno, kada neki podaci određenom aplikativnom programu više nisu potrebni, operativni sistem ih se mora osloboditi i staviti u „stanje mirovanja“. Posebno složene zadatke on mora izvršiti u onom slučaju kada je korisnik posredovanjem aplikativnog programa te podatke na neki način modifikovao, ažurirao ili čak i uništio.

Već i dosadašnji opis modula operativnog sistema i njihovih funkcija jasno govori o izuzetnoj složenosti ovog segmenta sistemskog softvera. Očigledno je da takvim kompleksnim sistemom mora upravljati jedan njegov izdvojeni segment, koji se u neku ruku može smatrati jezgrom celokupnog operativnog sistema. Skup takvih modula ponekad se naziva monitorom (ponekad se monitorom naziva i čitav operativni sistem; ne mešati sa hardverskim uređajem zvanim monitor (ekran)) ili supervizorom operativnog sistema i njegova osnovna funkcija jeste sprovođenje procedura optimizacije kompleksa funkcija čitavog operativnog sistema. Monitor, dakle, nadzire, koordinira i vrši pokušaje optimizacije rada svih ostalih modula operativnog sistema. Zbog takve njegove uloge on je bez izuzetka smešten u glavnoj memoriji računara, što nije uvek slučaj sa ostalim segmentima operativnog sistema. U zavisnosti od veličine glavne memorije računara, arhitekture računara, od strukture zadataka obrade, te od mnoštva drugih činilaca, pojedini segmenti operativnog sistema mogu biti smešteni na nekoj sekundarnoj memoriji, prvenstveno na magnetskim diskovima. Takvi operativni sistemi obično se nazivaju disk operativnim sistemima (DOS).

U slučaju disk operativnih sistema monitoru se dodeljuju i zadaci nadzora nad smeštanjem ostalih modula operativnog sistema u sekundarnim memorijama, pronalaženja i pozivanja tih modula kada se ukaže potreba, njihovog privremenog premeštanja u glavnu memoriju i kasnije ponovnog memorisanja u sekundarnu memoriju. Ti se zadaci, dakako, uveliko komplikuju kod višeprocesorskih računarskih sistema ili sistema koji rade u uslovima tzv. deljenja vremena (engl. Time-Sharing) ili multiprogramiranja (engl. Multiprogramming) te kod sistema sa velikim brojem ulazno-izlaznih kanala.

Kada je reč o mini-računarima i personalnim računarima, ističe se koncepcija specijalizacije operativnih sistema, odnosno sužavanja spektra funkcija koje oni moraju realizovati prema suženom profilu aplikacija takvih računara. Tako se neke do tada bazične ili standardne funkcije operativnog sistema transformišu u opcione funkcije, a softverski moduli koji ih izvršavaju svrstavaju se u kategoriju programa za opsluživanje. Repertoar programa za opsluživanje raste na račun opsega modula operativnog sistema. Kriterijum takve transformacije predstavlja isključivo učestalost korišćenja određenih modula sistemskog softvera. No ove procese ipak ne treba shvatati simplifikovano, gotovo kao neku administrativnu akciju kojom se samo formalno razlučuju različite kategorije modula sistemskog softvera. Ne treba, naime, zaboraviti da programi za opsluživanje zapravo predstavljaju korisnike operativnog sistema, pa u sam operativni sistem moraju biti ugrađeni izvesni postupci koji će omogućiti realizovanje takve nove uloge i operativnog sistema i programa za opsluživanje. Tako se specijalizacija operativnih sistema plaća dodavanjem nekih novih pomoćnih funkcija, ali se ipak u globalu može reći da je rezultat takvih transformacija po pravilu pozitivan.

Pripremio Dragan Marković

2072-sta-je-operativni-sistem