Você está na página 1de 15

Uvod

Historija ovjeanstva je historija neprekidnog tehnolokog napretka: od toka, preko satelita,


i dalje do Marsa, i ko zna gdje nam je kraj!?

Ljudi pronalaze naine za poboljanje svakodnevnog ivota, proizvodnje, komunikacije,


putovanja itd. Svaki period u ljudska historije obiljeenje naglaenim (ne)razvojem neke
tehniko-tehnoloke oblasti. Isto je i sa dobom u kojem ivimo. Obiljeeno je informacijama i
komunikacijama.

Kroz vijekove ovjek je smiljao sredstva da sebi olaka (automatizira) procese rada, pa i
raunanja kao jednog takvog. Poeo je sa kameniima, voriima na konopcu, preko
abakusa, pa do pojave prvih raunara sredinom XX vijeka. Danas su oni osnova informacijske
arhitekture kao oblika u kojem je IT aplicirana u PS-u.

S druge strane, da bi razmjenjivali informacije ljudi moraju da komuniciraju. Pronalaskom


telefona 1876. godine prenos informacija se automatizirao i ubrzano razvijao. Danas je
planetarno skoro trenutan zahvaljujui savremenim sredstvima komunikacije: telefonu,
telefaksu, mobilnom telefonu, radiju, televiziji i raunarskim mreama. Tehnologije koje se
koriste za prenos informacija u raznim oblicima nazivaju se komunikacijskim tehnologijama
(communication tehnologies). Infromacijsko-komunikacijske tehnologije (Information
Communication Tehnologies) ili IKT je skup tehnologija koje se koriste pri automatskoj
obradi informacija i njihovom prenosu nekim komunikacijskim sredstvom. IKT su danas
nezamislive bez raunara. Zato su IKT tehnologije koje se koriste za bilo koji oblik
raunarske (automatske) obrade informacija (podataka). Pomou raunara informacije
(podaci) mogu da se:
- primaju i distribuiraju, odnosno razmjenjuju (bez obzira na udaljenost),
- obrauju (raunanje, crtanje, obrada teksta, kreiranje zvuka i pokretne slike, ...), i
- pohranjuju (trajno ili privremeno).

Raunar je ureaj (hardware) koji obrauje, pohranjuje ili razmjenjuje informacije. Nain na
koji to radi je odreen u programu. Program (software) je niz komandi koje odreuju ta treba
uraditi sa podacima. Znai, grubo reeno, dva neodvojiva dijela raunara su:
- hardver ureaj (hardware) i
- softver program (software).

Poto hardver ne moe da radi bez softvera, a softver nema smisla bez hardvera jasno je da
oni ine jednu cjelinu. Na primjer, ako zamislimo da je ljudsko bie raunar, onda bi hardver
predstavljale elije (tkiva, organi, ...), a misli i ideje bi predstavljali softver.

Hardver modernog raunara se sastoji od jednog ili vie procesora, glavne memorije, diskova,
tampaa, tastature, mia, monitora, mrenog interfejsa, i mnogih drugih ulazno-izlaznih
ureaja. Dakle, radi se o veoma sloenom sistemu. Na neki nain, treba natjerati procesor
da sabere dva broja, disk da zapamti odreenu sliku, monitor da prikae podatke u eljenom
obliku, pokaziva da prati kretanje mia, tampa da odtampa eljene podatke itd. Zato
raunarski sistem posjeduje softverski nivo koji se naziva operativni sistem iji je posao da
upravlja ve spomenutim raunarskim resursima.

Meutim, ovo nije jedini njegov posao. Za razliite poslovne aktivnosti kreirani su razliiti
programi. Ako, na primjer, elite da otkucate neki tekst, odgovarajui program vam nudi tu

1
mogunost. elite li da kreirati neku sliku koristiete specijalizirani program napravljen za tu
svrhu. ak i korisnik moe napraviti svoj program za odreene zadatke. Ovi programi se
mogu upotrijebiti vie puta i uvijek se smjetaju u memoriji. Kada bi svaki od tih korisnikih
programa morao da brine o radu, na primjer diska i miliona onih sitnica koji su vezane za
uitavanje bloka sa diska u glavnu memoriju, tada bi projektovanje i izrada takvih softvera
predstavljalo gigantski posao. Zato se razliitim korisnikim programima mora obezbijediti
bolji i jednostavniji model raunara. To je upravo jo jedan posao kojeg obavlja operativni
sistem.

Pri tome, se postavljaju sljedea pitanja:


- Kako se vie programa moe istovremeno smjestiti u memoriju?
- Ko e izabrati koji e program biti u memoriji?
- Koji e program i kada koristiti procesor?
- Kako obezbijediti da svaki program dobije resurse?

Operativni sistem sadri odgovore na sva ova pitanja. To je program koji upravlja hardverom
raunara. On takoer prua osnovu za primjenu programa i djeluje kao posrednik izmeu
korisnika raunara i raunarskog hardvera. Svrha operativnog sistema je da obezbijedi
okruenje u kome korisnik moe da izvrava programe na pogodan i efikasan nain.
Zadivljujua osobina operativnih sistema je njihova raznovrstnost u ostvarivanju zadataka.

Mainframe operativni sistemi su, na primjer, primarno dizajnirani za optimizaciju koritenja


hardvera. PC operativni sistemi podravaju kompleksne igre, poslovne aplikacije, i sve
izmeu. Operativni sistemi za rune ureaje su dizajnirani da obezbijede okruenje u kome
korisnik moe putem jednostavnog interfejsa izvravati programa. Tako, neki operativni
sistemi su dizajnirani da budu prikladni,
drugi da bude efikasni, a trei neka
kombinacija ovih prethodnih.

Prije detaljnijeg upoznavanja sa operativnim


sistemima, potrebno je odreeno znanje o
sistemskoj strukturi, tanije, potrebno je
poznavanje osnovnih funkcija pokretanja
sistema, ulaza-izlaza, kao i memorije/a,
odnosno, treba znati neto o kompjuterskoj
arhitekturi koja omoguava fukcionalno
izvoenje operativnog sistema. Ovakav
pristup omoguava uvid u ulogu operativnog
sistema unutar cjelokupnog raunarskog sistema.
Slika 1a. Apstraktni prikaz komponenti raunarskog sistema

Kompjuterski sistem moe grubo biti podijeljen na etiri komponenete: hardver, operativni
sistem, aplikativni programi i korisnici (ljudi, maine ili drugi raunari) (slika 1a.). Hardver
CPU, memorija, ulazno-izlazni ureaji predstavljaju osnovna kompjuterska sredstva
sistema. Aplikacijski programi (obrada teksta, tablini prorauni, Web pretraivai) definiu
naine upotrebe osnovnih raunarskih sredstava u rjeavanju korisnikih problema.
Operativni sistem kontrolira hardver i koordinira njegovo koritenje od strane razliitih vrsta
aplikativnih programa za razliite tipove korisnika. On obezbjeuje sredstva za pravilno
koritenje ovih resursa u radu raunarskog sistema. Operativni sistem je slian dravnoj vladi
(ne BiH). Sama po sebi, vlada nema nikakvu korisnu funkciju. Ona jednostavno prua

2
okruenje u kojem drugi (u raunarskom sistemu su to programi) mogu da rade koristan
posao.

Prema slici 1a. na dnu se raunarskog sistema nalazi hardver, koji se obino sastoji od 2 ili
vie nivoa. Najnii nivo sadri fizike ureaje koji se sastoje od integralnih kola, ica,
napajanja i slino. Sljedei nivo je mikroarhitekturni nivo u kome su fiziki ureaji
povezani u funkcionalne cjeline, a iznad njega se nalazi mainski jezik. Mainski jezik sadri
obino izmeu 50 i 300 instrukcija, uglavnom za manipuliranje podacima, aritmetike
operacije i logike operacije uporeivanja. Na ovom nivou se vri kontroliranje i ulazno-
izlaznih ureaja. Zato pisanje programa koji kontroliraju rad hardverskih komponenti i
upravljaju njima predstavlja veoma teak i obiman posao, a pogotovo kada je u pitanju
optimizacija rada ovih komponenti.

Jo prije mnogo godina postalo je jasno da se programer mora, na neki nain, osloboditi
direktnog upravlja hardverom programskim putem. Rezultat je jedan sloj softvera koji je
preuzeo na sebe uloge upravljaa komponenti raunarskog sistema i jednog zgodnog
korisnikog interfejsa, odnosno apstraktne maine, koja je jednostavnija za razumijevanje i
pisanje programa. To je operativni sistem.

Iznad operativnog sistema je ostali dio sistemskog softvera. Ovdje spadaju komandni
interpreter (shell), kompajleri, editori, i sl. Na kraju, tu su korisniki programi koji obavljaju
specifine zadatke.

Radi lakeg razumijevanja funkcioniranja softvera, a posebno mjesta i uloge operativnog


sistema, apstraktni model raunarskih komponenti sa slike 1a., moe se preurediti na nain
prikazan slikom 1b. I na ovoj, kao i na prethodnoj slici, hardver je na dnu modela. Kao to je
ve reeno, sastoji se od ipova, ploa, diskova i slinih fizikih dijelova. Iznad njega je
softver u opem smislu. Kod veine raunara softver ima dva moda funkcioniranja:
korisniki i kernel ili supervizijski mod. Operativni sistem je najosnovniji element softvera i
izvodi se u kernel modu. U ovom modu on ima
potpuni pristup hardveru i moe izvriti svaku
instrukciju za koju je maina osposobljena.
Ostatak softvera se izvrava u korisnikom
modu. Pri tome je od posebne vanosti znati da
instrukcije koje se koriste za kontrolu maine ili
ulazno-izlaznih poslova su zabranjene za
programe koji rade u korisnikom modu.
Slika 1b. Mjesto i uloga operativnog
sistema u raunarskom sistemu

Program korisnikog interfejsa, komandni interpreter (shell) ili GUI, je najnii nivo
softverskog korisnikog moda, i dozvoljava korisniku pokretanje ostalih programa kao to su
Web preglednik, program za pregled elektronske pote ili presluavanje muzike. Svi ovi
programi zahtijevaju veliko koritenje operativnog sistema. Prema gornjoj slici, operativni
sistem se izvrava na golom hardveru i predstavlja osnovu svim ostalim softverima.

Vana razlika izmeu operativnog sistema i programa koji radi u korisnikom modu, je da
ako na primjer korisnik ne eli odreeni program za elektronsku potu, moe izabrati drugi ili
napraviti svoj, ali ne moe kreirati vlastiti upravljaki takt prekida (clock interrupt handler),
koji je sastavni je dio operativnog sistema, a titi ga hardver od pokuaja korisnika da ga
promijeni. Meutim, nekad su ove razlike nejasne, kao to je sluaj kod ugraenih sistema
3
koji ne moraju imati kernel mod, ili kao kod prekidnih sistema na primjer Java bazirani
operativni sistemi koji za razdvajanje komponenti ne koriste hardver ve prevoenje.

Pored toga, u mnogim sistemima postoje programi koji se izvravaju u korisnikom modu, ali
pomau operativnom sistemu ili izvode privilegovane funkcije. Na primjer, esto se koristi
program koji dozvoljava korisniku promjenu lozinke. On nije dio operativnog sistema i ne
izvrava se u kernel modu, ali je jasno da izvodi osjetljivu funkciju i mora biti zatien da
poseban nain. U nekim sistemima se otilo i u drugu krajnost. Kod njih dijelovi koji su
tradicionalno u operativnom sistemu (kao to je fajl sistem) se izvravaju u korisnikom
modu. Naravno, sve to se izvrava u kernel modu je dio operativnog sistema, ali neki
programi su nedvojbeno njegov dio, ili su u najmanju ruku usko povezani sa njim.

Operativni sistem se razlikuje od korisnikih programa ne samo prema mjestu koje zauzima u
raunarskom sistemu, ve i po svojoj veliini i sloenosti. Izvorni kod operativnog sistema
kao to je Linux ili Windows ima oko 5 miliona linija koda. Ako na jednu stranicu knjige
stane 50 linija koda, onda treba knjiga od milion stranica, a to je samo za dio koji se izvrava
u kernel modu. Uzimajui u obzir korisnike programe kao to su GUI, biblioteke, i osnovne
aplikacije tipa Windows Explorera taj se broj umnogostruuje.

Definicija operativnog sistema

Imajui u vidu gore reeno, veoma je teko jednoznano definisati operativni sistem, osim to
je to softver koji se izvrava u kernel modu, mada uvijek ni ovo nije tano. Uope, ne postoji
potpuno adekvatna definicija operativnog sistema. Operativni sistemi postoje jer nude
prihvatljiv nain rjeavanja problema tako da raunarski sistem ine upotrebljivim. Osnovni
ciljevi raunarskih sistema su da izvravaju korisnike programe i da omogue korisnicima
lake rjeavanje postavljenih problema. Kako bi dostigao ove ciljeve ovjek je konstruisao
raunarski hardver. Poto sam hardver nije jednostavan za koritenje, razvijeni su korisniki
programi. Oni zahtijevaju odreene zajednike operacije, kao to su kontroliranje U/I ureaja.
Zajednike funkcije kontrole i raspodjele resursa izmeu aplikacijskih programa objedinjene
su u jedan softver, a to je operativni sistem.

Pored toga, nemamo univerzalno prihvaenu definiciju ta je dio operativnog sistema.


Jednostavno gledite je da obuhvata sve to prodavac isporui kao operativni sistem.
Dakako da se zbog toga karakteristike koje su u njega ugraene veoma razlikuju izmeu
razliitih sistema. Neki sistemi zauzimaju manje od 1 megabajta1 prostora i nemaju ak ni
program za obradu teksta, dok drugi zahtijevaju nekoliko gigabajta prostora i u potpunosti su
grafiki-orjentisani sistemi bazirani na prozorima. Zbog toga se najee podrazumijeva da je
operativni sistem program koji se stalno izvrava u raunaru (odnosno program koji se stalno
nalazi u radnoj memoriji raunara) i tada se obino zove kernel ili jezgro, a sve ostalo spada
u sistemski odnosno aplikativni softver. (Zajedno sa kernelom, postoje dve vrste programa:

1
Bit je osnovna jedinica raunarske memorije. Moe sadravati jednu od dve vrijednosti: nula i jedan. Sve ostale
memoriranje u raunaru se zasniva na kolekcijama bita. Nevjerovatna je stvar kako, s obzirom na dovoljnu
koliinu bitova, raunar moe da predstavlja: brojeve, slova, slike, filmove, muziku, dokumente i programe, itd.
Bajt je 8 bita, a na veini raunara to je najmanja jedinica za skladitenje. Na primjer, veina raunara nema
instrukciju za prenos jednog bita, ali ima za jedan bajt koji nije osnovna jedinica. Rije je obino sastavljena od
jednog ili vie bajta. Na primjer, raunar moe manipulisati 64-bitni (8-bajt) rijei. Kilobajt, ili KB, je 1024
bajta; megabajt, ili MB, je 10242 bajtova, i gigabajt, ili GB, je 10243 bajtova. Proizvoai raunara esto grubo
zaokruuju ove brojeve i kau da je megabajt 1 milion bajta i gigabajt je 1 milijarda bajta.

4
sistemski programi koji su povezani sa operativnim sistemom, ali nisu dio jezgre, i korisniki
programi koji obuhvataju sve programe nevezane za rad sistema.)

ta ini operativni sistem postalo je veoma znaajno pitanje. Dravno tuilatvo SAD-a 1998.
godine podiglo je optunicu protiv Microsofta, tvrdei da je Microsoft ukljuio previe
funkcionalnosti u svoje operativne sisteme spreavajui na taj nain konkurenciju
proizvoaa aplikativnih softvera. Na primjer, Web browser je integralni dio njegovih
operativnih sistema. Kao rezultat, Microsoft je proglaen krivim jer koristi monopol nad
operativnim sistemima kako bi ograniio konkurenciju.

Problem lei u injenici da operativni sistemi imaju, na prvi pogled, dvije nepovezane uloge:
obezbjeuje korisnikim programima ist apstrakcijski skup resursa umjesto haotinog
hardvera, i upravlja ovim hardverskim resursima. U svakom sluaju, za razumijevanje
njegovih uloga potrebno ga je sagledati sa dvije take gledita: korisnika i sistema.

Korisniko gledite

Korisniki pogled na kompjuter zavisi od korisnikog interfejsa, veina korisnika sjede ispred
PC-a koji se sastoji od monitora, tastature, mia i centralne jedinice. Takav sistem je
dizajniran samo za jednog korisnika koji koristi raunarska sredstva. Cilj je maksimizirati rad
koji korisnik izvodi. U ovom sluaju operativni sistem je dizajniran tako da se vodi rauna o
izvravanju, a ne o dijeljenju razliitih hardverskih i softverskih resursa. Naravno da je
izvravanje vano za korisnika, ali takvi sistemi i jesu optimizirani za jednokorisniko
okruenje, a ne za okruenje viekorisnikih zahtjeva.

U drugim sluajevima, korisnik sjedi za terminalom koji je povezan na mainframe ili


minikompjuter. Drugi korisnici pristupaju istom raunaru preko ostalih terminala. Svi ovi
korisnici dijele sredstva i mogu razmjenjivati informacije. U takvom sluaju operativni sistem
je dizajniran za maksimiziranje iskoristivosti resursa da osigura da se ukupno CPU-vrijeme,
memorija i ulazno-izlazni ureaji efikasno koriste, te da nijedan korisnik ih ne koristi vie od
dodijeljenog.

Takoer, postoje sluajevi kad korisnici sjede za radnim stanicama umreenim sa drugim
radnih stanica i serverima. Ovi korisnici imaju na raspolaganju dodijeljena sredstva, ali
takoer dijele servere razliitih tipova kao i ostale mrene resurse. Zato, njihov operativni
sistem je dizajniran tako da uspostavi kompromis, odnosno odreeni vid ravnotee izmeu
korisnike upotrebljivosti i iskoristivosti resursa.

U posljednje su vrijeme u modi razliite vrste prenosivih (runih) raunara. Veina su


samostalne jednokorisnike jedinice. Neki su i povezani na mree beino ili direktno
kablom. Zbog ogranienja koja se tiu energije koju koriste za svoje napajanje, brzine i
interfejsa, izvode svega nekoliko operacija na daljinu. Njihovi su operativni sistemi kreirani
uglavnom za jednokorisniko okruenje kod kojih je veoma vano izvoenje po baterijskoj
jedinici.

Neke operativne sisteme uope nije briga kako e se predstavljati korisnicima. Na primjer,
raunari ugraeni u kune ili automobilske ureaje ponekad imaju numerike tastature ili
lampice koje prikazuju stanje, ali su njihovi operativni sistemi projektovani tako da se
izvravaju bez ikakvog uticaja korisnika.

5
Sistemski pogled

Sa kompjuterske take gledita, operativni sistem je program koji je najblii harveru. U tom
smislu, on se moe promatrati kao upravlja (rasporeiva, dodjeljiva) resursa. Raunarski
sistem ima brojne resurse koji su potrebni za rjeavanje odreenog problema. To su na
primjer: vrijeme CPU-a, prostor u memoriji, prostor za smjetanje fajlova, U/I ureaji itd.

Operativni sistem djeluje kao njihov menader. U svom menaderskom radu suoava se sa
brojnim i potencijalno suprotstavljenim zahtjevima za dodjelu resursa odreenim programima
i korisnicima, ali tako da sistem u cjelini radi efikasno i pouzdano. Vidjeli smo da je ovo
dodjeljivanje posebno vano kada vei broj korisnika pristupa istom mainframe-u ili
minikompjuteru.

Neto drugaija perspektiva u odnosu na prethodnu naglaava potrebu da operativni sistem


kontrolira razliite U/I ureaje i korisnike programe. Zato je on kontrolni program koji
upravlja izvoenjem korisnikih aplikacija na nain da se sprijee greke i nepravilno
koritenje raunara. To se prije svega odnosi na koritenje i kontrolu U/I ureaja.

Dananji kompjuteri se sastoje od procesora, memorija, brojaa, diskova, mieva, mrenih


interfejsa, tampaa, kao i dosta drugih ureaja. U sluaju kada vie razliitih programa ele
da istovremeno koriste neki od resursa na scenu stupa operativni sistem koji treba da
obezbijedi ureenu i kontrolisanu alokaciju procesora, memorija i I/O ureaja izmeu tih
programa. Ovako posmatrajui, glavni zadatak operativnog sistema je da vodi rauna o tome
ko koristi koji resurs, da dozvoli koritenje odredenog resursa, prati upotrebu istih i da
posreduje izmeu konfliktnih zahtjeva razliitih korisnika ili programa. Na primjer, ta bi se
desilo da tri programa koja se izvravaju na istom raunaru u istovremeno pokuavaju
odampati svoje izlaze na istom tampau? Prvih nekoliko linija tampe bi mogao biti iz
prvog, sljedee linije iz drugog, i onda neke linije iz treeg programa. Dakle, rezultat bi bio
haos. OS je taj koji uvodi red u potencijalno haotine situacije meuskladitenjem na disk
svih izlaza upuenih prema istom tampau. Kad se zavri tampanje izlaza jednog programa,
onda operativni sistem moe kopirati njegov izlaz iz fajla na disku u kojem je bio pohranjen i
poslati je na tampa. U isto vrijeme drugi program moe nastaviti generisati jo izlaza, a da i
nije svjestan injenice da izlazi jo nisu otili na tampa.

Ovakva uloga operativnog sistema dolazi do izraaja pogotovo kada raunar ili mrea ima
vie korisnika, gdje je potreba upravljanja i zatite memorije, ulazno-izlaznih ureaja i drugih
sredstava od presudne vanosti, jer u suprotnom korisnici u svom radu mogu ometati jedni
druge. Takoer, korisnici ne dijele samo hardver, nego i informacije u vidu fajlova, baza
podataka i sl. Ukratko, sa ovog stajalita, osnovni zadaci operativnog sistema su da prati koji
programi koriste koje resurse, da dodjeljuje resurse prema zahtjevima i odgovoran je za
njihovo koritenje, i da posreduje kod konfliktnih zahtjeva razliitih programa i korisnika.

Upravljanje resursima ukljuuje multipleksiranje (dijeljenje) resursa na dva naina: u


vremenu i prostoru. Vremensko multipleksiranje se javlja u sluaju kad se razliiti programi
smjenjuju u koritenju resursa. Prvo jedan program koristi odreeni resurs, zatim drugi i tako
dalje. Operativni sistem odreuje koji je program sljedei i koliko dugo e on koristiti resurs.
Primjer vremenskog multipleksiranja je prethodni primjer koritenja tampaa. Moda je bolji
primjer sistem sa jednim CPU na kojem se izvrava vie programa. Operativni sistem prvo
dodjeljuje CPU jednom programu, onda nakon odreenog vremena ga dodjeljuje drugom, pa

6
onda sljedeem, te ga opet moe dodijeliti onom prvom itd. Odreivanje vremenskog
dijeljenja resursa ko e ga sljedei koristiti i koliko dugo je zadatak operativnog sistema.

Za razliku od vremenskog multipleksiranja, gdje se korisnici smjenjuju, kod prostornog


multipleksiranja svaki korisnik dobija dio resursa. Na primjer, glavna memorija je podijeljena
izmeu nekoliko programa. Pod pretpostavkom da ima dovoljno prostora za vie programa
efikasnije je drati nekoliko programa u memoriji odjednom nego davati itavu memoriju
jednom programu, naroito kad za multipleksiranje je potreban samo mali dio. Drugi resurs
koji je pogodan za prostorno multipleksiranje je hard disk. Tipian zadatak operativnog
sistema je alokacija prostora na disku i voenje rauna o tome ko koristi koje blokove diska.

S druge strane, arhitektura veine raunara na nivou mainskog jezika za korisniki program
je jako primitivna i nezgrapna, pogotovo za ulazno-izlazne operacije koje se tiu prekida,
brojaa, rada sa memorijom i drugih pojedinosti niskog nivoa. Zato on ne eli veliko
intimiziranje sa programiranjem, npr. floppy diska ili hard diska. Umjesto toga, zahtijeva da
radi sa jednostavnom apstrakcijom visokog nivoa. Na primjer, operacija odnosno apstrakcija
uitaj blok iz datoteke je daleko jednostavnija nego operacije pokretanja glave diska, njenog
pozicioniranja na eljeni blok, definisanje praznog prostora izmeu sektora itd., to sve
predstavlja itanje bloka sa diska. Znai, neophodno je postojanje softverskog sloja koji od
krajnjeg korisnika sakriva svu kompleksnost raunarskog sistema i prua jednostavniji skup
instrukcija sa kojima e raditi. Taj softverski sloj je upravo operativni sistem.

Dakle, apstrakcija je klju za upravljanje komleksnou. Dobra apstrakcija pretvara gotovo


nerjeivi zadatak u dva izvodljiva. Prvi je definisanje i implementacija apstrakcije. Drugi je,
njeno koritenje za rjeavanje raunarskih problema.

Oblik apstrakcije koju gotovo svi krajnji korisnici razumiju je fajl. To je korisna informacija u
vidu digitalne fotografije, pohranjene elektronske pote ili Web stranice. Rad sa elektronskom
potom, fotografijama i Web stranicama je mnogo laki nego poslovi koje treba izvriti da bi
se uitao blok iz datoteke. U svakom sluaju, posao operativnog sistema je da stvori dobru
apstrakciju, ispravno je implementira i na kraju upravlja tako kreiranim apstrahovanim
objektima. Ovako posmatrajui, uloga operativnog sistema je da korisniku predstavi proirenu
ili virtualnu mainu koju je dosta lake programirati od postojeeg hardvera.

Historijski razvoj operativnih sistema

Operativni sistemi su evoluirali tokom godina. Poto su usko povezani sa raunarskim


sistemima na kojima se izvravaju, ovdje su predstavljene generacije raunara jer je historijski
razvoj operativnih sistema vezan za njih. Ovo preslikavanje generacija operativnih sistema na
generacije raunara je grubo, ali daje jasnu sliku njihovog razvoja. Pored toga, pregled je
uglavnom hronoloki. Meutim, ono to italac treba da ima na umu jeste da razvoj sljedee
generacije nije ekao zavretak prethodne. Zato je bilo dosta preklapanja, pa se predstavljene
godine ne trebaju uzimati zdravo za gotovo, ve samo kao okvirne vremenske intervale.

Prvi pravi digitalni raunar projektovao je engleski matematiar Charles Babbage (1792.-
1871.). Iako je vei dio svog ivota i bogatstva utroio na pokuaj izgradnje analitike
maine, ona nikad nije pravilno radila. Ova maina je bila isto mehanika, a tadanja
tehnologija nije mogla proizvesti koture, zupanike i prenosnike potrebne tanosti. U svakom
sluaju, analitika maina nije imala operativni sistem.

7
Raunari prve generacije (1945.1955.). Razdoblje od analitike maine do Drugog
svjetskog rata karakterie se veoma mali progresom u konstruisanju digitalnih raunara. Od
Drugog svjetskog rata nastaje prava eksplozija aktivnosti. Profesor John Atanasoff i njegov
student Clifford Berry sa Dravnog univerziteta u Iowai, izgradili su ono to se danas
oznaava kao prvi funkcionalni digitalni raunar. U svom radu koristio je 300 vakuumskih
cijevi. Nekako u isto vrijeme, u Berlinu je Konrad Zuse napravio Z3 kompjuter od releja.
1944. godine grupa iz engleskog Bletchley Parka izgradila je Colossus, Mark I je djelo
Howarda Aikena sa Harvarda, a ENIAC Williama Mauchleya i njegovog studenta J. Prespera
Eckera sa Univerziteta u Pensilvaniji. Njihovu su osnovu inile vakuumske cijevi (do 20.000
cijevi po raunaru), bili su ogromnih dimenzija i veoma skupi. Koristila ih je uglavnom
vojska. Ovi raunari su bili jako spori, programiralo se na mainskom jeziku, a ak se koristila
i ploa za prespajanje (plugboard) preko koje su se spajali elektrini krugovi povezivanjem
hiljada kablova na plou ime je vrena kontrola osnovnih mainskih funkcija. Simboliki
jezici (ukljuujui i asembler), kao i operativni sistemi, u to vrijeme bili su nepoznati. Ljudi
koji su radili na tim raunarima obavljali su sve poslove od programiranja do odravanja
raunara.

Slika 2. ENIAC-elektronski raunar (1946)

U prvoj generaciji raunara, opsluivanje raunarskog sistema bilo je potpuno preputeno


operateru, koji je morao da pripremi sve to je potrebno da se zadatak obrade moe obaviti.
ovjek je imao punu kontrolu nad raunarskim sistemom. Sistem je bio spor i izvravao je
samo jedan program, tj. obavljao samo jedan zadatak. Iskoritenje raunarskog sistema, tj.
njegovih najvanijih resursa centralnog procesora i operativne memorije je bilo jako malo.
Najvei dio vremena troio se na poslove operatera i ulazno-izlazne operacije, a mnogo manji
dio na rad centralnog procesora. Iako je ovakav sistem bio krajnje neefikasan, odnos tih
vremenskih perioda bio je u prihvatljivim granicama zbog relativno male brzine samog
centralnog procesora.

8
Poetkom pedesetih godina prolog vijeka uvode se buene kartice (slika 3.), te su na taj
nain, donekle unaprijeeni rutinski zadaci. Bilo je mogue pisati programe i itati ih sa
kartica umjesto koritenja ploa za prespajanje. Inae, sva ostala procedura je ostala ista.

Slika 3. Buena kartica (punch-card)

Druga generacija raunara (1955.1965.) zasnivala se tranzistorima kao prekidakim


elementima, pa su raunari postali mnogo manji, pouzdaniji i jeftiniji. Raunari su bili
smjeteni odvojeno, u posebnim sobama, koje su se dijelile u tri funkcionalne cjeline: ulazna
soba, centralni raunar i izlazna soba. Programeri su pisali programe na papiru, obino
programskim jezikom FORTRAN, zatim su se ti programi prenosili na buene kartice, koje su
se ostavljale u sobi sa ulaznim raunarom. Operater sistema je uzimao buene kartice i
ubacivao ih u raunar, i to prvo kartice sa prevodiocem FORTRAN-a, a potom buene kartice
s programom koji treba izvriti. Glavni raunar je obavljao posao, a rezultat se dobijao
takoer na buenim karticama, koje su se prenosile u prostoriju s rezultatima. Ovde se mnogo
vremena troilo na etanje izmeu raznih prostorija s buenim karticama. Operativni sistem
kao zaseban pojam jo uvijek nije postojao.

Kao poboljanje uvodi se paketna, tj.


grupna obrada (batch processing),
zasnovana na upotrebi itaa/pisaa
magnetne trake ureaja mnogo breg od
buenih kartica. Pri paketnoj obradi, u
ulaznoj sobi s poslovima sakuplja se
jedna koliina slinih programa (npr. svi
programi koji zahtijevaju prevodilac
FORTRAN-a), koji se pomou jeftinijeg
raunara (npr. IBM 1401) s buenih
kartica prenose na magnetnu traku.
Poslije toga se magnetna traka prenosi u
sobu s glavnim raunarom predvienim
za izvravanje programa (npr. IBM 7094,
slika 4.). Slika 4. IBM 7094 raunar

U glavni raunar se uitavao poseban program koji je bio zaduen da sa trake sa poslovima
uitava programe redom i izvrava ih. Taj program se moe smatrati pretkom operativnih
sistema. Nakon izvravanja programa, rezultati se snimaju na drugu magnetnu traku koju
operater prenosi do treeg raunara (obino istog tipa kao na ulazu), zaduenog za
prebacivanje rezultata s magnetne trake na buene kartice. Manji raunari (ulazno-izlazni)
nisu direktno vezani za glavni raunar, to znai da rade u off-line reimu. Jedan uobiajan
ciklus obrade, koji je prethodno objanjen, predstavljen je na slici 5.

9
Slika 5. Rani paketni sistem. (a) Programer u ulaznu sobu donosi kartice operteru koji ih ubacuje u IBM 1401.
(b) IBM 1401 poslove uitava na traku. (c) Operater ulaznu traku prenosi na IBM 7094. (d) IBM 7094 vri
obradu. (e) Operater izlaznu traku prenosi na IBM 1401. (f) IBM 1401 tampa izlaz.

Tipian ulazni posao paketne obrade prikazan je na slici 6. Poinjao je $JOB karticom na
kojoj je definisano maksimalno vrijeme u minutama, iro raun koji se tereti, i ime
programera. Slijedi $FORTRAN kartica koja govori operativnom sistemu da uita
FORTRAN prevodilac sa sistemske trake, a prati je direktno prevoenje programa.
Kompajlirani programi su esto pisani na radnim trakama i morali su biti uitani eksplicitno.

Zatim, dolazi $RUN kartica koja govori operativnom


sistemu da izvri program nad podacima koji slijede
iza nje. Na kraju, $END kartica oznaava kraj posla.
Ove su primitivne kontrolne kartice pretea modernih
ljuski i komandnih interpretera.
Slika 6. Struktura ulaznog posla kod paketne obrade

Veliki raunari ove generacije koriteni su uglavnom za nauna i ininjerska izraunavanja


kao to je rjeavanje parcijalnih diferencijalnih jednaina koje se esto javljaju u fizici i
ininjerstvu. Tipini operativni sistemi tog doba su bili FMS (the Fortran Monitor System) i
IBMov IBSYS operativni sistem za IBM 7094.

Ovi operativni sistemi bili su prilino jednostavni. Njihova primarna


funkcija je bila transfer kontrole sa jednog zadatka na sljedei zadatak.
Izgled memorije kod jednostavnog grupnog sistema prikazan je slikom 7.

Slika 7. Izgled memorije kod jednostavnog grupnog sistema

U drugoj generaciji raunarskih sistema poveava se brzina rada centralnog


procesora, kapaciteti centralne memorije i eksternih memorija, pojavljuju se
nove i bre ulazno-izlazne jedinice. Programi se piu na simbolikom mainskom jeziku,
asembleru ili na viem programskom jeziku (FORTRAN). Operater vie nije u stanju da
efikasno opsluuje raunarski sistem, jer su njegove reakcije suvie spore. Funkcije
opsluivanja i upravljanja sistemom bile su podijeljene izmeu operatera i kontrolnih
programa. U raunarima druge generacije razlikuju se dve osnovne vrste programa: kontrolni
i korisniki.

Raunari tree generacije (1965.1980.). Do poetka ezdesetih godina prolog vijeka


veina proizvoaa raunara su imali dvije razdvojene, nekompatibilne, proizvodne linije.
Jednu su inili veliki raunari tipa IBM 7094 koji su se koristili za nauna i ininjerska

10
izraunavanja. Drugu su inili komercijalni raunari kao IBM 1401 koji su se mnogo koristili
u bankama i osiguravajuim kuama za sortiranje i tampanje.

Uvoenjem klase IBM System


/360 (slika 8.), koji su koristili
integrisana kola (IC), IBM je
udruio ova dva tipa u jednu
seriju kompatibilnih raunara
razliite snage. Ovi raunari su
pogodni i za naunu i za
poslovnu primjenu. Isti su
koncept preuzeli i ostali
proizvoai. Raunari iz serije
System/360 radili su pod OS/360,
koji je bio veoma glomazan i pun
greaka.

Slika 8. IBM System360 raunar

S razvojem discipline poznate pod imenom softversko inenjerstvo (software engineering),


uvode se nove funkcije:
multiprogramiranje (multiprogramming)
viestruke ulazno-izlazne operacije (spool)
podjela raunarskog vremena (time-sharing)

Kada neki program eka na rezultate ulazno-izlaznih operacija, procesor je neiskoriten, pa se


gubi procesorsko vrijeme. Ovaj problem nije toliko izraen kod programa koji rijetko
zahtijevaju ulazno-izlazne operacije (na primjer, nauno orijentisani programi), ali jeste kod
poslovnih programa. Multiprogramiranje je tehnika kojom se postie bolje iskoritenje
procesora: memorija se dijeli na particije u koje se uitavaju razliiti programi (Slika 9.). Dok
neki program eka na ulazno-izlaznu operaciju, procesor moe izvravati drugi program. Na
taj nain, ako ima dovoljan broj programa u memoriji, procesor se stalno upotrebljava. To
znai da se poveava iskoritenost CPU-a na nain da se poslovi
organizuju tako da dok odreeni posao eka na U/I drugi proces
moe da iskoritava CPU.

Slika 9: Primjer mogueg izgleda memorije kod multiprogramiranih sistema

Za multiprogramiranje operativni sistem mora obezbijediti:


U/I rutine.
Upravljanje memorijom sistem mora alocirati memoriju
zadacima (vie od jednog zadatka).
CPU rasporeivanje sistem mora praviti izbor izmeu
poslova (procesa) koji su spremni (ready) za izvravanje.
Alokaciju ureaja.

Multiprogramirani paketni sistemi omoguuju efektivno iskoritavanje sistemskih resursa


(CPU, memorija, itd.), ali nisu prilagoeni interakciji korisnik - kompjuter.

11
Spooling (SpoolSimultaneous Peripheral Operation On Line) tehnika omoguava da se
nedovoljna brzina U/I ureaja kompenzuje upotrebom brzih ureaja kao to su trake, a
naroito diskovi. Na taj nain je mogue istovremeno izvravanje vie U/I operacija. Brzi
ureaj prihvata sve sa ulaza, a zatim se ulaz ka procesoru prosljeuje sa brzog ureaja. Ulaz
se realizuje prebacivanjem sadraja buenih kartica na disk (traku) pomou posebnog ureaja,
a bez koritenja procesora. Disk se paralelno puni novim poslovima, dok procesor izvrava
programe u memoriji. Kada jedan program zavri rad, procesor na njegovo mjesto moe
uitati drugi program sa diska.

Podjela vremena (time-sharing) jeste tehnika koja omoguava da svaki korisnik radi s
raunarom interaktivno, i to preko posebnog terminala koji je istovremno i ulazni i izlazni
ureaj za korisnika. Podjela vremena je poseban oblik multiprogramiranja, gdje svakom
terminalu pripada dodijeljeno procesorsko vrijeme. Poslije isteka dodijeljene koliine
procesorskog vremena, procesor se dodjeljuje drugom terminalu.

Viezadanost (multitasking) predstavlja logiku ekstenziju koncepta multiprogramiranja.


Omoguuje da CPU izvrava vie poslova (npr. aplikacija) naizmjenino, i to tako da ih
veoma brzo skida/stavlja sa/na CPU, kako bi korisnici bili u stanju da interaktivno
komuniciraju sa svakim od programa koji izvravaju.

Kod sistema sa dijeljenjem vremena:


CPU je multipleksiran od strane vie zadataka koji se nalaze u memoriji i na disku
(CPU moe biti alociran odredenom zadatku samo ako je zadatak u memoriji).
Zadatak se premjeta iz memorije na disk, i obrnuto.
Omoguena on-line komunikacija izmedu korisnika i sistema; kada OS zavri sa
izvravanjem jedne komande, trai sljedei kontrolni izvjetaj sa tastature korisnika.

Uobiajna interakcija izmeu CPU i U/I ureaja je: U/I operacije tipino se izvravaju
brzinom ovjeka obzirom da su ovisne o samom ovjeku (kucanje, tampanje, itd.). Na ovaj
nain procesoru se daje mogunost za usluivanje drugih korisnika.

U cilju postizanja zadovoljavajueg vremena odziva, uvedeno je razmjenjivanje poslova (jobs


swapping) izmeu memorije i diska to dovodi do implementacije virtualne memorije.

Operativni sistemi dijeljenja vremena dozvoljavaju istovremeno koritenje kompjuterskog


sistema od strane vie korisnika. Kompleksniji su od obinih operativnih sistema
multiprogramiranja. Kako bi omoguio efikasno vrijeme odziva neophodno za interaktivnost,
sistem mora da premjeta (swappuje) procese sa glavne memorije (RAM-a) na disk i obrnuto.
Dio diska se alocira za razmjenjivanje (swapping). Zato interaktivni (time-sharing) sistemi
moraju obezbijediti upravljanje virtualnom memorijom, to opet podrazumijeva
implementaciju fajl sistema. Fajl sistem moe da se nalazi na kolekciji diskova, tako da
interaktivni sistemi moraju takoer da podre i upravljanje diskom.

Kod tree generacije raunara posebno treba naglasiti pojavu dva operativna sistema
MULTICS i UNIX. Projekat MULTICS (MULTIplexed Information and ComputingService)
neuspela je ideja kompanija MIT, Bell Labs i General Electric da se napravi moan raunar i
operativni sistem koji e biti u stanju da radi s velikim brojem terminala. Ovaj model se moe
smatrati preteom raunarskih mrea i Interneta. Drugi operativni sistem, UNIX, uprotena je
varijanta MULTICS sistema, koja je doivjela praktinu realizaciju i ekspanziju do dananjih
dana. Ken Thompson, jedan od naunika i programera kompanije Bell Labs, koji je radio na

12
razvoju projekta MULTICS, napisao je za raunar PDP-7 mini verziju MULTICS sistema.
Poslije toga je nastao UNIX (UNI= jedan, X = CS =Computing Service).

Raunari tree generacije zvali su se mini-raunari. Prvi raunar je bio DEC-ov (Digital
Equipment Corporation) PDP-1 (Slika 10.), do tada najmanji i najjeftiniji raunar koji je
kotao 120.000$.

U treoj generaciji raunarskih sistema,


zbog pojave multiprogramiranja i porasta
brzina, kao i veliine memorije, te broja U/I
jedinica, jo vie kontrolno-upravljakih
funkcija prebacuje se sa oveka na raunar.
ovek gubi mogunost kontrole interne
situacije u raunarskom sistemu i
upravljanja njome i sve to je mogue
prebacuje se na raunarski sistem, tj. na
pojedine sistemske programe. Skup svih tih
programa naziva se jednim imenom:
operativni sistem. Programer se oslobaa
niza sloenih rutinskih poslova i prua mu
se mogunost veeg angaovanja na
kreativnom dijelu posla. Slika 10. DEC PDP-1 raunar

Za raunare tree generacije razvijen je i itav niz uslunih programa, iji je zadatak da
olakaju i pojednostave upotrebu raunarskih sistema. Zbog toga se od tog doba, prema
namjeni, softver moemo podijeliti na sistemski i korisniki (aplikativni).

U etvrtoj generaciji raunara (1980.1990.), prvi put se pojavljuju personalni raunari


(PC). Razvoj personalnih raunara zapoinje pojavom ipova velikog stepena integracije LSI
(Large Scale Integration), koji sadravaju hiljade tranzistora na kvadratnom centimetru
silicija. Kad je u pitanju arhitektura raunara, PC (koji su u poetku nazivani mikroraunari)
se nisu mnogo razlikovali od miniraunara klase PDP-11, ali jesu po cijeni. Raunari su bili
dovoljno jeftini, tako da su ih mogli priutiti i pojedinci. Poznatiji raunari te generacije su
bili Spectrum, Commodore, Atari, zatim IBM PC, Apple Macintosh itd. U prve operativne
sisteme za personalne raunare spadaju MS-DOS i UNIX.

Slika 11. ZX Spectrum i Commodore 64

Paralelno s razvojem korisnikog softvera, razvija se i korisniki interfejs, to jest korisniko


okruenje (user interface). Na taj se nain osobama koje ne poznaju detaljno raunarski
sistem i programe, omoguava da ih uspeno koriste. Pored klasinih operativnih sistema
javljaju se i dvije nove vrste, a to su mreni operativni sistemi i distribuirani operativni
sistemi.

13
Mreni OS raunari su povezani u mreu, svaki raunar ima svoj OS, a meusobno
komuniciraju pomou nekog protokola (operativni sistemi mogu biti razliiti, potreban je
samo zajedniki protokol, tj. zajedniki jezik za komunikaciju). Korisnik jednog raunara,
moe se prijaviti na drugi, preuzeti neke fajlove itd. On zna da nije sam u mrei, svjestan je
razliitih raunara sa kojima komunicira preko mree, koje mogu biti lokalne i globalne.

Distribuirani OS korisnici ga vide kao jednoprocesorski sistem, ali u stvari radi sa vie
procesora. Vie je raunara povezanih u mreu, ali je samo jedan OS, koji upravlja svim
resursima u mrei. U pravom distribuiranom sistemu korisnik ne treba da vodi rauna o tome,
gdje su njegovi fajlovi smjeteni ili gdje se izvrava njegov program, to je posao OS-a.
Distribuirani OS se dakle ponaa kao jedinstvena cjelina. Korisnik nije svjestan toga da je u
mrei sa drugim raunarima, njemu to izgleda kao da je jedan raunar.

Peta generacija raunara se razvijala tokom 80-ih i 90-ih godina. Odlikuje je VLSI
tehnologija ipova vrlo velike gustine pakovanja komponenti (nekoliko stotina hiljada
tranzistora u ipu), masovni paralelizam, kao i proizvodnja raunara koji su orijentisani
odreenim problemima. Takoer je karakteristina pojava RISC arhitektura (Reduced
Instruction Set Computer). Ovi raunari imaju mali broj instrukcija koje izvravaju
jednostavnu obradu, ali se zato uglavnom sve izvravaju u toku jednog taktnog intervala, za
razliku od uobiajenih CISC maina (Complex Instruction Set Computer) koje imaju veliki
broj instrukcija ali ije izvrenje zahtijeva vei broj taktnih intervala.

Tokom ove generacije razvijene su nove generacije procesora (Intel serija Pentium procesora)
ija je snaga dostigla fantastian nivo. Dolo je do snanog razvoja Microsoft Windows
operativnih sistema sa potpunim grafikim okruenjem, kao i do razvoja razliitih Linux i
Unix platformi koje su imale veliki znaaj.

estom generacijom raunara moemo smatrati dananje raunarske sisteme. Oni se


zasnivaju na nanotehnologijama i neuronskim mreama koje su u stanju da oponaaju ljudski
mozak. Evidentan je dalji razvoj tehnologije ipova (multicore procesori) i dolo je do
neverovatno velikog razvoja Interneta, mrenih sistema i servisa. Takoer, znaajna je i
pojava i razvoj raunarstva u oblaku (Cloud Computing), to znai da uskoro nee biti
potrebe za operativnim sistemima u raunarima jer e se sav softver nalaziti na Internetu.

Ova generacija takoer implementira nova rjeenja i tehnike izrade ipova, razvija se robotika
i vjetaka inteligencija i pojavljuju se nove tehnike koje zamjenjuju postojee (izrada ipova
na bazi grafena, nanocijevi i bioipova).

14
Odgovorite na pitanja:

1. Koje su tri glavne svrhe operativnog sistema?


Da obezbijedi okruenje za korisnika raunara da izvrava programe na
kompjuterskom hardveru na jednostavan i efikasan nain.
Da dodijeliti razliite resurse raunara koji su potrebni za rjeavanje datog problema.
Proces raspodjela treba da bude to je mogue pouzdaniji i efikasniji.
Kao kontrolni program koji ima dvije glavne funkcije: (1) nadzor izvrenja korisnikih
programa radi sprjeavanje greaka i nenamjenskog koritenja raunara, i (2)
upravljanje radom i kontrolu U/I ureaja.

2. Razmotrite razliite definicije operativnog sistema. Razmislite da li operativni sistem treba


da ukljuuje aplikacije kao to su Web browser i mail programe. Pokuajte raspravljati sa
stavovima za i protiv koje trebate i potkrijepiti injenicama.

ZA: Aplikacije kao to su Web browser i email alati imaju veoma vanu ulogu u modernim
desktop raunarskim sistemima. Da bi ispunili ovu ulogu, oni treba da budu ukljueni kao dio
operativnog sistema. Na taj nain, oni mogu da obezbijede bolje performanse i bolju
integraciju sa ostatkom sistema.

Protiv: Osnovna uloga operativnog sistema je da upravlja sistemskim resursima kao to su


procesor, memorija, ulazno/izlaznih ureaji, itd. Osim toga, njegova uloga je pokretanje
softverskih aplikacija kao to su Web browser i email aplikacije. Ukljuivanjem takvih
aplikacija u operativni sistem, opteretili smo operativni sistem dodatnim funkcijama. Takve
dodatne funkcije mogu dovesti do toga da operativni sistem obavlja poslove upravljanja
sistemskim resursima na nezadovoljavajuem nivou. Pored toga, poveavanje veliine
operativnog sistema poveava vjerovatnou pada sistema krenja sigurnosti.

Literatura:

1. Nijaz Bajgori, Operativni sistemi knjiga I, septembar 2008. godine, FIT, Mostar
2. Andrew S. Tanenbaum, Modern Operating Systems 3rd Edition, Pearson Education
Inc., 2008.
3. Avi Silberschatz, Peter Baer, Galvin Greg Gagne, Operating System Concepts 8th
Edition, 2009. godine, John Wiley & Sons, Inc., 111 River Street, Hoboken, New
Jersey
4. Ranko Popovi, Irina Branovi, Marko arac, Operativni sistemi I izdanje, 2011.
godine, Univerzitet Singidunum, Danilova 32, Beograd
5. Sven Gotovac, http://www2.fsr.ba/nastava/os, 2004-05.

15

Você também pode gostar