uvod u operativne sisteme - mikroknjiga.rs

27
1 1 Uvod u operativne sisteme RaĆ„unarski sistem je sloƦen skup tehniĆ„kih ureœaja (hardvera), programa koji zadaju instrukcije hardveru, i podataka koji se obraœuju. Ljudi koji koriste raĆ„unare, bilo kao operateri, programeri ili projektanti, u radu se pridrƦavaju razliĆ„itih formalnih i nefor- malnih procedura. Mnoge procedure se mogu pretoĆ„iti u programe, tako da ih oba- vĆ aju raĆ„unari, a ne Ć udi. Prevodioci (engl. compilers) omoguƱavaju Ć udima da programe piĆ£u na jeziku koji razume Ć„ovek, i da ih zatim prevedu na maĆ£inski jezik, tj. na jezik koji razume maĆ£ina. PovezivaĆ„i (engl. linkers) i punioci (engl. loaders) omoguƱavaju sprezaƧe viĆ£e maĆ£in- skih programa u jednu programsku celinu. Ta celina se moƦe upotrebiti viĆ£e puta i uvek se smeĆ£ta na razne lokacije u memoriji. Pri tome, treba odgovoriti na sledeƱa pitaƧa: ā€¢ Kako se viĆ£e programa moƦe istovremeno smestiti u memoriju? ā€¢ Ko Ʊe izabrati koji Ʊe program biti u memoriji? ā€¢ Koji Ʊe program i kada koristiti procesor? ā€¢ Kako Ʊemo obezbediti da svaki program dobije resurse? Operativni sistem sadrƦi odgovore na sva ova pitaƧa. U ovom poglavĆ u je u kraƱim crtama opisan istorijat operativnih sistema i navedene su Ƨihove funkcije, karakteristike i poƦeĆ ne osobine. Operativni sistemi su podeĆ eni na osnovu razliĆ„itih kriterijuma i dat je kraƱi pregled Ƨihove strukture. De- taĆ nije informacije o funkcijama pojedinih slojeva u hijerarhijskom modelu operativ- nog sistema nisu predmet izuĆ„avaƧa u ovom poglavĆ u. SadrƦaj poglavĆ a 1.1 Istorijat operativnih sistema 1.2 Deļ¬nicija i funkcije operativnog sistema 1.3 Karakteristike operativnih sistema 1.4 Vrste operativnih sistema 1.5 OpĆ£ti pregled strukture operativnih sistema 1.6 Operativni sistemi UNIX i Linux 1.7 PitaƧa i zadaci

Upload: others

Post on 16-Oct-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Uvod u operativne sisteme - mikroknjiga.rs

1

1

Uvod u operativne sisteme

RaĆ„unarski sistem je sloƦen skup tehniĆ„kih ureœaja (hardvera), programa koji zadajuinstrukcije hardveru, i podataka koji se obraœuju. Ljudi koji koriste raĆ„unare, bilo kaooperateri, programeri ili projektanti, u radu se pridrƦavaju razliĆ„itih formalnih i nefor-malnih procedura. Mnoge procedure se mogu pretoĆ„iti u programe, tako da ih oba-vĆ aju raĆ„unari, a ne Ć udi.

Prevodioci (engl.

compilers

) omoguƱavaju Ć udima da programe piĆ£u na jeziku kojirazume Ć„ovek, i da ih zatim prevedu na maĆ£inski jezik, tj. na jezik koji razume maĆ£ina.PovezivaĆ„i (engl.

linkers

) i punioci (engl.

loaders

) omoguƱavaju sprezaƧe viĆ£e maĆ£in-skih programa u jednu programsku celinu. Ta celina se moƦe upotrebiti viĆ£e puta i uvekse smeĆ£ta na razne lokacije u memoriji. Pri tome, treba odgovoriti na sledeƱa pitaƧa:

ā€¢ Kako se viĆ£e programa moƦe istovremeno smestiti u memoriju? ā€¢ Ko Ʊe izabrati koji Ʊe program biti u memoriji? ā€¢ Koji Ʊe program i kada koristiti procesor? ā€¢ Kako Ʊemo obezbediti da svaki program dobije resurse?

Operativni sistem sadrƦi odgovore na sva ova pitaƧa.U ovom poglavƠu je u kraƱim crtama opisan istorijat operativnih sistema i

navedene su Ƨihove funkcije, karakteristike i poƦeƠne osobine. Operativni sistemi supodeƠeni na osnovu razliƄitih kriterijuma i dat je kraƱi pregled Ƨihove strukture. De-taƠnije informacije o funkcijama pojedinih slojeva u hijerarhijskom modelu operativ-nog sistema nisu predmet izuƄavaƧa u ovom poglavƠu.

SadrƦaj poglavƠa

1.1 Istorijat operativnih sistema1.2 Definicija i funkcije operativnog sistema1.3 Karakteristike operativnih sistema 1.4 Vrste operativnih sistema1.5 OpĆ£ti pregled strukture operativnih sistema1.6 Operativni sistemi UNIX i Linux

1.7 PitaƧa i zadaci

Page 2: Uvod u operativne sisteme - mikroknjiga.rs

2

Poglavlje 1: Uvod u operativne sisteme

1.1 ISTORIJAT OPERATIVNIH SISTEMA

Istorijat operativnih sistema posmatraƱemo prateƱi istorijat samih raĆ„unara. RaĆ„unari prve generacije (1945ā€“1955), Ć„iju su osnovu Ć„inile vakuumske cevi (do

20.000 cevi po raĆ„unaru), bili su ogromnih dimenzija i veoma skupi. Koristila ih jeuglavnom vojska. Ovi raĆ„unari su bili jako spori, programiralo se na maĆ£inskom jezi-ku, dok su simboliĆ„ki jezici (ukĆ uĆ„ujuƱi i asembler), kao i operativni sistemi, u to vre-me bili nepoznati. Ljudi koji su radili na tim raĆ„unarima obavĆ ali su sve poslove ā€“ odprogramiraƧa do odrƦavaƧa raĆ„unara.

U prvoj generaciji raĆ„unara, opsluƦivaƧe raĆ„unarskog sistema bilo je potpuno pre-puĆ£teno operateru, koji je morao da pripremi sve Ć£to je potrebno da se zadatak obrademoƦe obaviti. ƅovek je, dakle, imao punu kontrolu nad raĆ„unarskim sistemom. Ope-rater je bio u moguƱnosti da sve potrebne radƧe obavi na vreme, jer je sistem bio spori izvrĆ£avao je samo jedan program, tj. obavĆ ao samo jedan zadatak. MoƦe se reƱi da jeiskoriĆ£Ć±eƧe raĆ„unarskog sistema, tj. Ƨegovih najvaƦnijih resursa ā€“ centralnog proce-sora i centralne memorije ā€“ bilo slabo. NajveƱi deo vremena troĆ£io se na poslove ope-ratera i ulazno-izlazne operacije, a mnogo maƧi deo na rad centralnog procesora. Iakoje ovakav sistem bio krajƧe neefikasan, odnos tih vremenskih perioda bio je u pri-hvatĆ ivim granicama zbog relativno male brzine samog centralnog procesora.

Osnovu raĆ„unara druge generacije (1955ā€“1965) Ć„inili su tranzistori, pa su raĆ„unaripostali maƧi, pouzdaniji i jeftiniji. RaĆ„unare druge generacije su, osim vojske, kupo-vale i velike korporacije i univerziteti. RaĆ„unari su bili smeĆ£teni odvojeno, u posebnimsobama, koje su se delile u tri funkcionalne celine: ulazna soba, centralni raĆ„unar i izla-zna soba. Programeri su pisali programe na papiru, na programskom jeziku FORT-RAN, zatim su se ti programi prenosili na buĆ£ene kartice, koje su se ostavĆ ale u sobi saulaznim raĆ„unarom (engl.

input room

). Operator sistema je, zatim, uzimao buĆ£ene kar-tice i ubacivao ih u raĆ„unar, i to prvo kartice sa prevodiocem FORTRAN-a, a potom bu-Ć£ene kartice s programom koji treba izvrĆ£iti. Glavni raĆ„unar je obavĆ ao posao, a rezultatse dobijao takoœe na buĆ£enim karticama, koje su se prenosile u prostoriju s rezultatima(engl.

output room

). Ovde se mnogo vremena troĆ£ilo na Ć£etaƧe izmeœu raznih prosto-rija s buĆ£enim karticama. Operativni sistem kao zaseban pojam joĆ£ uvek nije postojao.

DaĆ e se kao poboĆ Ć£aƧe uvodi paketna, tj. grupna obrada (engl.

batch processing

),zasnovana na upotrebi magnetne trake ā€“ ureœaja mnogo brƦeg od buĆ£enih kartica. Pripaketnoj obradi, u ulaznoj sobi s poslovima sakupĆ a se jedna koliĆ„ina sliĆ„nih progra-ma (na primer, svi programi koji zahtevaju prevodilac FORTRAN-a), koji se pomoƱujeftinijeg raĆ„unara (npr. IBM 1401) s buĆ£enih kartica prenose na magnetnu traku. Posletoga se magnetna traka prenosi u sobu s glavnim raĆ„unarom, tj. s moƱnijim i skupĆ imraĆ„unarom, predviœenim za izvrĆ£avaƧe programa (npr. IBM 7094). U glavni raĆ„unarse uĆ„itava poseban program koji je zaduƦen da s trake sa poslovima programe redomuĆ„itava i izvrĆ£ava. Taj program se moƦe smatrati pretkom operativnih sistema. NakonizvrĆ£avaƧa programa, rezultati se snimaju na drugu magnetnu traku koju operater pre-nosi do treƱeg raĆ„unara, zaduƦenog za prebacivaƧe rezultata s magnetne trake nabuĆ£ene kartice. MaƧi raĆ„unari (ulazno-izlazni) nisu direktno vezani za glavni raĆ„unar,Ć£to znaĆ„i da rade u

off-line

reƦimu.

Page 3: Uvod u operativne sisteme - mikroknjiga.rs

1.1 Istorijat operativnih sistema

3

U drugoj generaciji raĆ„unarskih sistema poveƱava se brzina rada centralnog pro-cesora, kapaciteti centralne memorije i eksternih memorija, pojavĆ uju se nove i brƦeulazno-izlazne jedinice. Programi se piĆ£u na simboliĆ„kom maĆ£inskom jeziku, asem-bleru ili na viĆ£em programskom jeziku (FORTRAN). Operater viĆ£e nije u staƧu daefikasno opsluƦuje raĆ„unarski sistem, jer su Ƨegove reakcije suviĆ£e spore. JedinoreĆ£eƧe se moglo naƱi u prebacivaƧu niza kontrolnih funkcija sa operatera na samraĆ„unarski sistem, to jest na posebne kontrolne programe. Otuda su funkcije opsluƦi-vaƧa i upravĆ aƧa sistemom bile podeĆ ene izmeœu operatera i kontrolnih programa.Ti programi se ukĆ uĆ„uju u odreœenim situacijama, kao Ć£to su, na primer, pripremaprograma za izvoœeƧe, kontrola ulaznih i izlaznih ureœaja i razni poslovi oko uĆ„ita-vaƧa programa i pripreme za Ƨegovo izvoœeƧe. Dakle, u raĆ„unarima druge genera-cije razlikuju se dve osnovne vrste programa: kontrolni i korisniĆ„ki.

RaĆ„unari treƱe generacije (1965ā€“1980) prave se od integrisanih kola (IC). PoĆ„et-kom Ć£ezdesetih veƱina proizvoœaĆ„a pravi dve vrste raĆ„unara: jednu brƦu verziju (kaoIBM 7094) i jednu slabiju (kao IBM 1401), Ć£to je skup poduhvat. Novi korisnici raĆ„u-nara najpre Ʀele slabije modele koji su jeftiniji, dok Ʊe im jaĆ„i, brƦi i skupĆ i modeli bitipotrebni tek nakon izvesnog vremena. IBM taj problem pokuĆ£ava da razreĆ£i uvo-œeƧem klase raĆ„unara IBM System/360. To je serija kompatibilnih raĆ„unara razliĆ„itihsnaga. Svaki od ovih raĆ„unara je pogodan i za nauĆ„nu i za poslovnu primenu, pa je timepodela raĆ„unara na ove dve vrste nestala. Ovaj koncept su preuzeli i ostali proizvoœaĆ„iraĆ„unara. RaĆ„unari iz serije System/360 radili su pod operativnim sistemom OS/360,koji je bio veoma glomazan i prepun greĆ£aka.

S razvojem discipline poznate pod imenom softversko inƦeƧerstvo (engl.

softwareengineering

), uvode se nove funkcije:

ā€¢ multiprogramiraƧe, (engl.

multiprogramming

);ā€¢ viĆ£estruke ulazno-izlazne (U/I) operacije (engl.

spool

);ā€¢ podela raĆ„unarskog vremena (engl.

time-sharing

).

Kada neki program Ć„eka na rezultate ulazno-izlaznih operacija, procesor je neisko-riĆ£Ć±en, pa se gubi procesorsko vreme. Ovaj problem nije toliko izraƦen kod programakoji retko zahtevaju ulazno-izlazne operacije (na primer, nauĆ„no orijentisani programi),ali jeste kod poslovnih programa. MultiprogramiraƧe je tehnika kojom se postiƦe boĆ eiskoriĆ£Ć±avaƧe procesora: memorija se deli na particije u koje se uĆ„itavaju razliĆ„iti pro-grami, to jest poslovi (engl.

jobs

). Dok neki program Ć„eka na ulazno-izlaznu operaciju,procesor moƦe izvrĆ£avati drugi program. Na taj naĆ„in, ako imamo dovoĆ an broj progra-ma u memoriji, procesor se stalno upotrebĆ ava.

Spuling (engl.

Spool

ā€“

Simultaneous Peripheral Operation On Line

) jeste tehnikakoja omoguƱava da se nedovoĆ na brzina ulazno-izlaznih ureœaja kompenzuje upo-trebom brzih ureœaja kao Ć£to su trake, a naroĆ„ito diskovi. Na taj naĆ„in se omoguƱavaistovremeno izvrĆ£eƧe viĆ£e ulazno-izlaznih operacija. Brzi ureœaj prihvata sve sa ulaza,a zatim se ulaz ka procesoru realizuje sa brzog ureœaja. Ulaz se realizuje prebaci-vaƧem sadrƦaja buĆ£enih kartica na disk (traku) pomoƱu posebnog ureœaja, a bez ko-riĆ£Ć±eƧa procesora. To znaĆ„i da se disk paralelno puni novim poslovima dok procesor

Page 4: Uvod u operativne sisteme - mikroknjiga.rs

4

Poglavlje 1: Uvod u operativne sisteme

izvrĆ£ava programe u memoriji. Kada jedan program zavrĆ£i rad, procesor na Ƨegovomesto moƦe uĆ„itati drugi program sa diska. SliĆ„no, sve Ć£to se Ć£aĆ e na izlaz, prvo se pre-nosi na brzi ureœaj, a zatim s Ƨega na spore periferne ureœaje.

Podela vremena (engl.

time-sharing

) jeste tehnika koja omoguƱava da svaki kori-snik radi s raĆ„unarom interaktivno, i to preko posebnog terminala koji je istovremno iulazni i izlazni ureœaj za korisnika. Podela vremena je poseban oblik multiprogrami-raƧa, gde svakom terminalu pripada dodeĆ eno procesorsko vreme. Posle isteka vre-menskog kvantuma, tj. dodeĆ ene koliĆ„ine procesorskog vremena, procesor se dodeĆ ujedrugom terminalu. Ukoliko je terminal blokiran zbog Ć„ekaƧa na ulazno-izlazne opera-cije, procesor se i pre isteka kvantuma dodeĆ uje drugom terminalu.

Kod treƱe generacije raĆ„unara posebno treba istaƱi 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 napravimoƱan raĆ„unar i operativni sistem koji Ʊe biti u staƧu da radi s velikim brojemterminala. Osnovna ideja je preuzeta iz modela distribucije elektriĆ„ne energije ā€“ u tommodelu, dovoĆ no je da svaki korisnik koji poƦeli da upotrebi neki elektriĆ„ni aparat, tajisti aparat samo prikĆ uĆ„i na elektriĆ„nu mreƦu. SliĆ„an model su pokuĆ£ali da naprave i saraĆ„unarima: ideja je da u jednom gradu postoji moƱan centralni raĆ„unar, a da graœanikod kuƱe imaju terminale kojima preko modema pristupaju glavnom raĆ„unaru. Ovajmodel se moƦe smatrati preteĆ„om raĆ„unarskih mreƦa i Interneta. Drugi operativni si-stem, UNIX, uproĆ£Ć±ena je varijanta MULTICS sistema, koja je doƦivela praktiĆ„nu rea-lizaciju i ekspanziju do danaĆ£Ć§ih dana. Ken Thompson, jedan od nauĆ„nika iprogramera kompanije Bell Labs, koji je radio na razvoju projekta MULTICS, napisaoje za raĆ„unar PDP-7 mini verziju MULTICS sistema. Posle toga je nastao UNIX (UNI= jedan, X = CS =

Computing Service

).RaƄunari treƱe generacije zvali su se mini raƄunari: prvi raƄunar je DEC-ov (Digital

Equipment Corporation) PDP-1, do tada najmaƧi i najjeftiniji raĆ„unar. KoĆ£tao je tadaā€œsamoā€ 120.000 dolara.

U treƱoj generaciji raĆ„unarskih sistema, zbog pojave multiprogramiraƧa i porastabrzina, veliĆ„ine memorije i broja ulaznih i izlaznih jedinica, joĆ£ viĆ£e kontrolno-upra-vĆ aĆ„kih funkcija prebacuje se sa Ć„oveka na raĆ„unar. Dakle, Ć„ovek definitivno gubi mo-guƱnost kontrole interne situacije u raĆ„unarskom sistemu i upravĆ aƧa Ƨome i sve Ć£toje moguƱe prebacuje se na raĆ„unarski sistem, tj. na pojedine sistemske programe. Skupsvih tih programa naziva se jednim imenom: operativni sistem. Programer se oslobaœaniza sloƦenih rutinskih poslova i pruƦa mu se moguƱnost veƱeg angaƦovaƧa na krea-tivnom delu posla. No, pored kontrolno-upravĆ aĆ„kih programa u, raĆ„unarima treƱe ge-neracije razvijen je i Ć„itav niz usluƦnih programa, Ć„iji je zadatak da daĆ e olakĆ£aju ipojednostave upotrebu raĆ„unarskih sistema. Zbog toga, prema nameni, softver moƦe-mo podeliti na sistemski i korisniĆ„ki (aplikativni).

U Ć„etvrtoj generaciji raĆ„unara (1980ā€“1990), prvi put se pojavĆ uju personalni raĆ„u-nari. Razvoj personalnih raĆ„unara zapoĆ„iƧe pojavom LSI Ć„ipova, to jest Ć„ipova viso-kog stepena integracije (engl.

Large Scale Integration

). RaĆ„unari su bili dovoĆ nojeftini, tako da su ih mogli priuĆ£titi i viĆ£e odseka iste firme ili univerziteta, dok su

Page 5: Uvod u operativne sisteme - mikroknjiga.rs

1.2 Definicija i funkcije operativnog sistema

5

personalni raƄunari postali dovoƠno jeftini da ih mogu imati i pojedinci. Poznatiji per-sonalni raƄunari su Spectrum, Commodore, Atari, zatim IBM PC, Apple Macintoshitd. U prve operativne sisteme za personalne raƄunare spadaju MS-DOS i UNIX.

Paralelno s razvijaƧem korisniĆ„kog softvera, razvija se i korisniĆ„ki interfejs pro-grama, to jest korisniĆ„ko okruƦeƧe. Na taj naĆ„in se osobama koje raĆ„unarski sistem isame programe ne poznaju detaĆ no, omoguƱava da te programe uspeĆ£no koriste.

Pored klasiƄnih operativnih sistema javƠaju se i dve nove vrste, a to su mreƦni ope-rativni sistemi i distribuirani operativni sistemi.

MreƦne operativne sisteme karakteriĆ£u raĆ„unari povezani u mreƦu. Ovi raĆ„unarizadrƦavaju relativno visok stepen autonomije ā€“ svaki raĆ„unar ima svoj operativni si-stem ā€“ a u moguƱnosti su da meœusobno razmeƧuju podatke pomoƱu odgovarajuƱihprotokola. Operativni sistemi mogu biti razliĆ„iti, potreban je samo zajedniĆ„ki protokol,tj. zajedniĆ„ki jezik za komunikaciju. Korisnik jednog raĆ„unara moƦe se prijaviti nadrugi, preuzeti neke datoteke itd. Korisnik zna da nije sam u mreƦi, tj. svestan je raz-liĆ„itih raĆ„unara s kojima komunicira preko mreƦe.

Distribuirani operativni sistemi su mnogo ozbiĆ nija varijanta u mreƦnom okruƦeƧu,zato Ć£to osim deĆ eƧa i migracije datoteka i Ć£tampaĆ„a omoguƱavaju i deĆ eƧe procesa,tj. programa. Korisnici ovaj sistem vide kao jednoprocesorski sistem, ali se, u stvari,radi o operativnom sistemu nameƧenom za rad s viĆ£e procesora koji su fleksibilno po-vezani preko mreƦe. To znaĆ„i da postoji viĆ£e raĆ„unara povezanih u mreƦu, ali samojedan operativni sistem, upravĆ a svim resursima u mreƦi. U pravom distribuiranom si-stemu, korisnik ne treba da vodi raĆ„una o tome gde su smeĆ£tene Ƨegove datoteke ili gdese izvrĆ£ava Ƨegov program ā€“ to je posao distribuiranog operativnog sistema. Distribui-rani operativni sistem se, dakle, ponaĆ£a kao jedinstvena celina. Korisnik ne mora znatida je umreƦen s drugim raĆ„unarima ā€“ on ceo sistem vidi kao jedan raĆ„unar.

1.2 DEFINICIJA I FUNKCIJE OPERATIVNOG SISTEMA

Operativni sistem objediƧuje raznorodne delove raĆ„unara u skladnu celinu i sakrivaod korisnika detaĆ e funkcionisaƧa ovih delova koji nisu bitni za koriĆ£Ć±eƧe raĆ„unara.Operativni sistem radi sledeƱe:

ā€¢ upravĆ a programima, podacima i delovima od kojih se raĆ„unar sastoji (procesor,kontroleri, radna memorija), s ciĆ em da oni budu Ć£to celishodnije upotrebĆ eni;

ā€¢ obezbeœuje pristupaĆ„no radno okruƦeƧe za krajƧeg korisnika raĆ„unara, takoĆ£to raĆ„unar kao maĆ£inu koja rukuje bitovima, bajtovima i blokovima pretvara umaĆ£inu koja rukuje datotekama i procesima.

U opĆ£tem smislu, operativni sistem se moƦe definisati kao skup programa kojiupravĆ aju resursima raĆ„unarskog sistema i obezbeœuju interfejs ka korisniku.

Prva funkcija operativnog sistema je upravƠaƧe resursima raƄunara (engl.

resour-ce management

). Pod pojmom resurs podrazumevamo sve Ć£to je programu potrebnoza rad. Resursi mogu biti hardverski (procesor, memorija, ulazno-izlazni ureœaji) i

Page 6: Uvod u operativne sisteme - mikroknjiga.rs

6

Poglavlje 1: Uvod u operativne sisteme

softverski (programi, podaci, tj. datoteke svih vrsta). Zadatak operativnog sistema jeda vodi raĆ„una o resursima raĆ„unara, to jest da zadovoĆ i potrebe programa, da pratikoji program koristi koje resurse itd. Na primer, ukoliko dva korisnika viĆ£ekori-sniĆ„kog sistema istovremeno Ʀele neĆ£to da Ć£tampaju, operativni sistem je duƦan daobezbedi dostupnost Ć£tampaĆ„a programima tih korisnika i da spreĆ„i meĆ£aƧe podatakaposlatih na Ć£tampu.

Kako je pri takvoj arhitekturi raĆ„unara i hardvera veƱini korisnika programiraƧekrajƧe komplikovano, operativni sistem obezbeœuje i takozvanu virtuelnu maĆ£inu, tojest jedinstven pogled na raĆ„unarski sistem s taĆ„ke glediĆ£ta korisnika, nezavisan odkonfiguracije raĆ„unara, konkretnog hardvera i same arhitekture. Ova nezavisnost moƦebiti izraƦena u veƱoj ili maƧoj meri. Kao primer uzmimo kontroler za disketni ureœajĆ„ije osnovne komande za Ć„itaƧe podataka sa diskete i upisivaƧe podataka na Ƨu za-htevaju da se prilikom Ƨihovog pozivaƧa navede veliki broj parametara. Prilikom pri-stupa disketnom ureœaju treba voditi raĆ„una o tome da li je motor ukĆ uĆ„en, zatim trebanaƱi odgovarajuƱu stazu, pa sektor itd. To bi trebalo uraditi svaki put kada Ʀelimo neĆ£toda upiĆ£emo na disketu ili da Ć„itamo sa Ƨe. Zadatak operativnog sistema kao virtuelnemaĆ£ine jeste da te stvari radi umesto nas i da nam pruƦa neke funkcije viĆ£eg nivoaapstrakcije radi lakĆ£eg pristupa hardveru.

Ukratko reĆ„eno, operativni sistem je skup sistemskih programa koji posredujeizmeœu korisnika raĆ„unara i raĆ„unarskog hardvera, a ciĆ  mu je da:

ā€¢ izvrĆ£ava korisniĆ„ke programe i olakĆ£a reĆ£avaƧe korisniĆ„kih problema;ā€¢ koriĆ£Ć±eƧe raĆ„unarskog sistema uĆ„ini podesnijim za korisnika;ā€¢ omoguƱi Ć£to efikasnije iskoriĆ£Ć±eƧe raĆ„unarskog hardvera.

Kao takav, operativni sistem je jedan od najvaƦnijih i najsloƦenijih delova raĆ„u-narskog sistema i sastoji se od viĆ£e relativno nezavisnih celina. Treba imati na umu dasvaki proizvoœaĆ„ raĆ„unara ima svoje operativne sisteme, pa je teĆ£ko dati opĆ£tu struk-turu operativnog sistema. Na slici 1.1 prikazan je hijerarhijski model operativnogsistema.

Pojedini delovi predstavĆ aju nivoe operativnog sistema. Hijerarhijski model imasledeƱi smisao: na posmatranom nivou operativnog sistema mogu se zahtevati uslugesamo od Ƨegovih niƦih nivoa, a nikako od viĆ£ih. NajniƦi sloj je poznat kao jezgro ope-rativnog sistema (engl.

nucleus

,

kernel

). Ne postoje Ć„vrsto definisana pravila koja reguliĆ£u raspodelu funkcija operativnog

sistema po nivoima. Zbog odnosa veliĆ„ine operativnog sistema i radne memorije, veƱi-na operativnih sistema ne moƦe da stane u radnu memoriju. Zato se u memoriji uveknalaze samo najvaƦniji delovi operativnog sistema, takozvani rezidentni delovi, kojiaktiviraju i zavrĆ£avaju korisniĆ„ke programe, dodeĆ uju memoriju i datoteke, i obavĆ ajuulazno-izlazno operacije. Rezidentni deo operativnog sistema mora obavezno podrƦa-vati mehanizam prekida, jer je on osnova viĆ£eprogramskog rada i komuniciraƧa raĆ„u-nara sa spoĆ nim svetom. Deo operativnog sistema koji mora uvek postojati u radnojmemoriji obiĆ„no se naziva jezgro ili nukleus. Funkcije koje koriste svi nivoi moraju sesmestiti u jezgro operativnog sistema. Ostali delovi se ubacuju u memoriju kada supotrebni i izbacuju kada viĆ£e nisu potrebni.

Page 7: Uvod u operativne sisteme - mikroknjiga.rs

1.2 Definicija i funkcije operativnog sistema

7

Funkcije operativnog sistema

Funkcije koje treba da obavĆ a operativni sistem mogu se izvesti na osnovu oĆ„ekiva-nih funkcija jednog raĆ„unarskog sistema, kao Ć£to su:

[1] Automatsko funkcionisaƧe raĆ„unarskog sistemaOperativni sistem mora da obezbedi funkcionisaƧe raĆ„unarskog sistema bez in-tervencije operatera, iz veoma prostog razloga ā€“ Ć udske intervencije su mnogosporije od raĆ„unara. U aktivnosti koje operativni sistem treba da izvrĆ£ava bezĆ udske intervencije spadaju, na primer, puƧeƧe memorije programom iz se-kundarnih memorija i izvrĆ£avaƧe jednog ili viĆ£e programa.

[2] MoguƱnost planiraƧa i rasporeœivaƧa poslova, i postojaƧe jezika za upra-vĆ aƧe poslovimaPod planiraƧem i rasporeœivaƧem poslova (engl.

scheduling

) podrazumeva seodreœivaƧe koji Ʊe se posao koji je spreman za rad izvrĆ£avati, tj. kome Ʊe se do-deliti glavni procesor. Radi kontrole automatske sekvence, operativni sistemuvodi kontrolne naredbe, koje sluƦe za upravĆ aƧe radom celog raĆ„unarskogsistema. Preciznije, uvodi se jezik za upravĆ aƧe poslovima (engl.

job controllanguage

), koji se interpretira preko operativnog sistema. [3] MultiprogramiraƧe

MultiprogramiraƧe je tehnika za pokretaƧe viĆ£e programa na istom raĆ„unaruistovremeno, tako Ć£to svaki dobije deo memorije, a procesor se dobija premafunkciji za rasporeœivaƧe poslova.

Slika 1.1

Hijerarhijski model operativnog sistema.

J E Z G R O

H A R D V E R

Korisnik

ViĆ£i slojevi uhijerarhijskom modelu

KorisniƄki interfejs(komandni interpreter ili

grafiƄko radno okruƦeƧe)

Page 8: Uvod u operativne sisteme - mikroknjiga.rs

8

Poglavlje 1: Uvod u operativne sisteme

[4] EliminisaƧe zavisnosti U/I operacijaKako su U/I operacije mnogo sporije od procesora, operativni sistem mora daizoluje U/I operacije od procesora, Ć£to se postiƦe upotrebom brzog medijuma zaprivremeno memorisaƧe svih U/I podataka. Taj ureœaj je u proĆ£losti bila traka, adanas je to po pravilu disk. U ciĆ u efikasnosti, U/I operacije po moguƱstvu trebaĆ£to viĆ£e preklapati ili kombinovati s drugim procesorskim poslovima. U tom kon-tekstu, realizovane su dve hardverske strukture: kanal (engl.

channel

) i tehnikaprekida (engl.

interrupt

). Pod kanalom se podrazumeva ureœaj koji kontroliĆ£e je-dan ili viĆ£e periferijskih ureœaja, a sposoban je da prenosi podatke izmeœu perife-rijskih ureœaja i memorije bez intervencije glavnog procesora. Kanal po praviluza takve prenose koristi usluge kvalitetne hardverske komponente koja se zoveDMA kontroler (engl.

Direct Memory Access

). Tehnika prekida je univerzalnametoda za obaveĆ£tavaƧe operativnog sistema da se neka akcija, to jest U/I ko-manda, zavrĆ£ila. Tehnika prekida obezbeœuje visoke performanse i izolovanostod U/I ureœaja: DMA prenosi podatke po kanalu, a odgovarajuƱim prekidnimsignalom sistem se obaveĆ£tava da je transfer zavrĆ£en. Prekidnim signalom seupravĆ aƧe centralnim procesorom prenosi na neku drugu lokaciju. Pri tom seĆ„uva prethodna vrednost programskog brojaĆ„a, Ć£to omoguƱava da se prekinutiprogram nastavi.

Dakle, na osnovu definicije operativnog sistema i oƄekivane funkcionalnosti raƄu-narskog sistema, zakƠuƄuje se da operativni sistem mora obavƠati sledeƱe funkcije:

ā€¢ upravĆ aƧe poslovima (sekvenciraƧe i rasporeœivaƧe poslova) i interpretacijakomandnog jezika;

ā€¢ rukovaƧe ulazno-izlaznim operacijama;ā€¢ rukovaƧe greĆ£kama i prekidima;ā€¢ upravĆ aƧe resursima;ā€¢ omoguƱavaƧe viĆ£estrukog pristupa;ā€¢ zaĆ£tita resursa od zlonamernih napada, sluĆ„ajnih greĆ£aka korisnika i greĆ£aka u

korisniĆ„kim programima i samom operativnom sistemu;ā€¢ obezbeœivaƧe dobrog interfejsa za operatora i korisnika;ā€¢ obraĆ„un koriĆ£Ć±eƧa raĆ„unarskih resursa.

1.3 KARAKTERISTIKE OPERATIVNIH SISTEMA

Karakteristike operativnih sistema su:

[1] KonkurentnostKonkurentnost (engl.

concurrency

) je postojaƧe viĆ£e simultanih, paralelnih ak-tivnosti. Primeri su preklapaƧe U/I operacija i operacija izraĆ„unavaƧa ili koeg-zistencija viĆ£e programa u memoriji. Konkurentnost izaziva probleme priprelasku s jedne aktivnosti na drugu, probleme zaĆ£tite jedne aktivnosti od drugei sinhronizacije aktivnosti koje su meœusobno zavisne.

Page 9: Uvod u operativne sisteme - mikroknjiga.rs

1.3 Karakteristike operativnih sistema

9

[2] Deoba resursaKonkurentne aktivnosti mogu da zahtevaju deƠeƧe (engl.

sharing

) resursa iliinformacija. Razlozi za deĆ eƧe resursa su viĆ£estruki. Pre svega, to je ukupnacena, jer je obezbeœivaƧe dovoĆ nih resursa za svakog korisnika najĆ„eĆ£Ć±e pre-skupo. PoƦeĆ no je nadovezivaƧe rada jednog korisnika na rad drugog korisni-ka, deĆ eƧe podataka, tj. koriĆ£Ć±eƧe istih podataka izmeœu razliĆ„itih programa,i otklaƧaƧe redundanse resursa.

[3] PostojaƧe dugotrajne memorijePotreba za deĆ eƧem programa i podataka implicira potrebu za trajnim skla-diĆ£teƧem podataka s moguƱnoĆ£Ć±u brzog pristupa (engl.

long-term storage

). ToomoguƱavaju ureœaji velikog kapaciteta, tj. sekundarne memorije, koji suuglavnom magnetni. Pri tome treba reĆ£iti sledeƱe probleme: obezbeœeƧe jedno-stavnog pristupa podacima, zaĆ£tita od Ć£tetnih uticaja bilo kakve vrste (zlonamer-nih ili nehotiĆ„nih) i zaĆ£tita od greĆ£aka samog sistema.

[4] NedeterminizamOperativni sistem mora biti deterministiĆ„ki orijentisan ā€“ znaĆ„i, kad izvrĆ£ava istiprogram sa istim podacima, mora da daje isti rezultat, bez obzira na to da li Ʊe toraditi danas, sutra, ili za mesec dana. Na drugoj strani, operativni sistem morakarakterisati nedeterministiĆ„ko ponaĆ£aƧe (engl.

nondeterminancy

), Ć£to znaĆ„i damora da odgovori na masu zahteva i dogaœaja koji se mogu desiti na nepredvidivnaĆ„in (zahtevi za resursima, greĆ£ke u toku izvrĆ£avaƧa programa, prekidni signaliperifernih ureœaja). Operativni sistem ne moƦe predvideti sve situacije kojemogu nastupiti i mora biti spreman za sve moguƱe sekvence dogaœaja.

PoƦeƠne osobine operativnog sistema

U poƦeƠne osobine operativnog sistema spadaju:

[1] Visok nivo efikasnostiEfikasnost operativnog sistema moƦe se precizno predstaviti samo pomoƱu viĆ£ekriterijuma, pri Ć„emu znaĆ„aj svakog kriterijuma u globalnoj predstavi zavisi odvrste i namene operativnog sistema. Kriterijumi su sledeƱi:ā€¢ sredƧe vreme izmeœu poslova;ā€¢ vreme neiskoriĆ£Ć±enosti operativnog sistema;ā€¢ vreme prolaska (engl.

turn-around time

) za paketnu obradu;ā€¢ vreme odziva (engl.

response time

) za interaktivne sisteme;ā€¢ iskoriĆ£Ć±enost resursa (engl.

resource utilisation

);ā€¢ propusna moƱ (broj poslova po satu, to jest ukupna veliĆ„ina posla koji moƦe

biti obavĆ en interaktivno u nekom vremenu).UveĆ£Ć±emo na ovom mestu merilo efikasnosti (engl.

efficiency

),

e

, kao odnos vre-mena kada procesor radi korisne stvari i ukupnog vremena za koje se taj posaoobavi: e=t

korisno

/t

ukupno.

Pri tome se

e

mora nalaziti u intervalu od 0 do 1 (0<e<1).

Page 10: Uvod u operativne sisteme - mikroknjiga.rs

10

Poglavlje 1: Uvod u operativne sisteme

UveĆ£Ć±emo, takoœe, merilo gubitka vremena,

o

(engl.

overhead

), kao odnosvremena kada procesor radi poslove vezane za odrƦavaƧe samog sistema (engl.

housekeeping jobs

) i ukupnog vremena: o=t

odrƦavaƧe

/t

ukupno

. Takoœe vaƦi 0<o<1i e+o=1.

[2] Visok nivo pouzdanostiIdealno, operativni sistem bi trebalo da bude potpuno bez greĆ£aka, ali to u real-nosti nije moguƱe. Merilo pouzdanosti je broj greĆ£aka, tj. sredƧe vreme izmeœudve greĆ£ke ili dva otkaza.

[3] Jednostavnost odrƦavaƧaTreba omoguƱiti da sistem odrƦava Ć£to maƧe Ć udi. Da bi se to postiglo, potreb-na je modularna struktura, sa jasno definisanim interfejsima meœu modulima i,naravno, s dobrom prateƱem dokumentacijom.

[4] PrihvatĆ iva veliĆ„inaOperativni sistem treba da zauzme Ć£to maƧe prostora u memoriji, mada ā€“ s pove-ƱaƧem kapaciteta savremenih memorijskih sistema ā€“ to gubi vaƦnost. Na drugojstrani, veliki sistemi su podloƦni greĆ£kama, a i Ƨihov razvoj traje duƦe.

CiĆ evi koji se postavĆ aju pri projektovaƧu operativnog sistema mogu se podelitina sistemske i korisniĆ„ke. ƃto se korisniĆ„kih ciĆ eva tiĆ„e, operativni sistem treba dabude podesan za koriĆ£Ć±eƧe, pouzdan, bezbedan i brz, i da se lako uĆ„i. ƃto se sistem-skih ciĆ eva tiĆ„e, trebalo bi da bude takav da ga je jednostavno projektovati, imple-mentirati, odrƦavati, da je fleksibilan, pouzdan, bez greĆ£aka i efikasan.

U proĆ£losti, operativni sistemi su pisani na asemblerskom jeziku, Ć£to je imalo svojeprednosti i mane. Prednosti su svakako u kompaktnosti izvrĆ£nog koda, koji je minima-lan, a po performansama optimalan. Mane se ogledaju u tome Ć£to realizacija kodazahteva mnogo programerskog vremena. ZahvaĆ uƱi jeziku C i UNIX sistemu, opera-tivni sistemi se danas piĆ£u na viĆ£im programskim jezicima.

Implementacija u viĆ£em programskom jeziku donosi mnoge prednosti:

ā€¢ izvorni kĆ“d se mnogo brƦe piĆ£e;ā€¢ izvorni kĆ“d je mnogo kompaktniji;ā€¢ kĆ“d se mnogo lakĆ£e razume i lakĆ£e se otklaƧaju greĆ£ke (engl.

debug

);ā€¢ operativni sistem napisan na viĆ£em programskom jeziku mnogo se lakĆ£e prenosi

na drugu raƄunarsku arhitekturu, tj. na drugu vrstu procesora.

1.4 VRSTE OPERATIVNIH SISTEMA

Postoje brojne podele operativnih sistema na osnovu razliƄitih kriterijuma: premabroju korisnika i/ili procesa, prema naƄinu obrade poslova, prema distribuciji proce-sorske snage i ostalih resursa, prema nameni i funkcionalnim osobinama.

Page 11: Uvod u operativne sisteme - mikroknjiga.rs

1.4 Vrste operativnih sistema

11

Klasifikacija prema broju korisnika i procesa

Prema broju korisnika, operativni sistemi se dele na jednokorisniƄke (engl.

single-user

) i viĆ£ekorisniĆ„ke (engl.

multiuser

).JednokorisniĆ„ki sistemi, kao Ć£to im samo ime govori, obezbeœuju virtuelnu ma-

Ć£inu za samo jednog korisnika. To su ili raĆ„unarski sistemi prilagoœeni za jednu funk-ciju ili je reĆ„ o slabijim i jeftinijim konfiguracijama tipa mikroraĆ„unara. Uglavnom ihkarakteriĆ£e jeftin hardver, solidna prateƱa programska podrĆ£ka, jednostavan sistemdatoteka, jednostavan U/I sistem, a u proĆ£losti i relativno slabe performanse. Meœu-tim, prilike su se izmenile, hardver mikroraĆ„unara je ostao jeftin, ali su se performan-se drastiĆ„no poboĆ Ć£ale, Ć£to je dovelo do realizacije vrlo kvalitetnih operativnihsistema koji su i daĆ e jednokorisniĆ„ki ali viĆ£eprocesni, tj. sposobni da obavĆ aju viĆ£esimultanih aktivnosti.

ViĆ£ekorisniĆ„ki sistemi su kvalitetni operativni sistemi koji zahtevaju jaĆ„e hard-verske konfiguracije. TipiĆ„an viĆ£ekorisniĆ„ki sistem je UNIX, koji obezbeœuje simulta-ni pristup za viĆ£e korisnika istovremeno, pri Ć„emu korisnici pristupaju sistemu prekoposebnih terminala.

Prema broju simultanih aktivnosti, tj. prema broju procesa koji se mogu izvrĆ£avatiparalelno ili kvaziparalelno, operativni sistemi se dele na jednoprocesne (engl.

single-tasking, singleprocess

) i viĆ£eprocesne (engl.

multitasking

,

multiprocess

).Na osnovu kombinovanog kriterijuma mogu se izdvojiti tri vrste operativnih

sistema:

ā€¢ jednokorisniĆ„ki jednoprocesni (engl.

single-user

,

singletasking

), kao Ć£to jeMS-DOS;

ā€¢ jednokorisniĆ„ki viĆ£eprocesni (engl.

single-user

,

multitasking

), kao Ć£to su OS/2 iMS Windows 3.1/ 9x/ME;

ā€¢ viĆ£ekorisniĆ„ki viĆ£eprocesni (engl.

multiuser

,

multitasking

), kao Ć£to je UNIX, aliuslovno se mogu prihvatiti i MS Windows 2000/XP/2003 ukoliko obezbeœujuterminalske usluge (engl.

terminal services

).

Klasifikacija prema nameni i naƄinu obrade poslova

Prema nameni, operativni sistemi se dele na operativne sisteme opĆ£te namene (engl.

general purpose systems

), koji mogu da obavĆ aju razne poslove, kao Ć£to su obradateksta i slike, i operativne sisteme specijalne namene, koji, po pravilu, sluƦe za upra-vĆ aƧe procesima.

Prema naƄinu obrade poslova, operativni sistemi se klasifikuju kao:

[1] Sistemi sa grupnom obradom (engl.

batch

)Grupna (serijska, paketna) obrada je takav naĆ„in rada raĆ„unara u kome korisnicipredaju svoje poslove na izvrĆ£eƧe posredstvom ulaznih jedinica, i koji se zatimodvijaju jedan za drugim u nizu, pri Ć„emu korisnik nema moguƱnost komunici-raƧa sa svojim poslom.

Page 12: Uvod u operativne sisteme - mikroknjiga.rs

12

Poglavlje 1: Uvod u operativne sisteme

[2] Interaktivni sistemi (engl. interactive systems)Interaktivne sisteme (nazivaju se joĆ£ i time-sharing sistemi) karakteriĆ£e postojaƧeterminala za svakog korisnika, preko kojih korisnici zadaju poslove i komunici-raju sa svojim poslovima. Paralelnost u radu se postiƦe tako Ć£to se svakom kori-sniĆ„kom programu dodeĆ uje jedan kvantum vremena centralnog procesora, pa sena svaku poruku korisnika odaziva u roku od nekoliko sekundi. Po isteku vremen-skog kvantuma dodeĆ enog jednom procesu, on se prekida, bilo da je zavrĆ£io s ra-dom ili nije, a procesor se dodeĆ uje sledeƱem procesu u redu Ć„ekaƧa.

[3] Kombinovani sistemiKombinovane sisteme karakteriĆ£e moguƱnost istovremenog obavĆ aƧa interak-tivnih poslova i paketne obrade. Na primer, korisnik moƦe u pozadini pokrenutinekoliko vremenski zahtevnih poslova koji ne zahtevaju interakciju sa Ƨim; dokĆ„eka na Ƨihovo izvrĆ£eƧe, moƦe Ć„itati elektronsku poĆ£tu ili Web stranice.

Klasifikacija prema funkcionalnim osobinama raƄunarskog sistemaPrema funkcionalnim osobinama raƄunarskog sistema za koji su nameƧeni, operativ-ni sistemi se dele u sledeƱe kategorije:[1] Operativni sistemi za velike raƄunarske sisteme

Na velikim raĆ„unarskim sistemima (engl. mainframe systems) prvi put su se po-kretale mnoge komercijalne i nauĆ„ne aplikacije. U svoje vreme bile su to fiziĆ„kiogromne maĆ£ine kojima se upravĆ alo preko konzole. ZajedniĆ„ki ulazni ureœajibili su Ć„itaĆ„i buĆ£enih kartica i magnetne trake, a izlazni ureœaji, takoœe, buĆ£enekartice, trake ili Ć£tampaĆ„i. Da bi se ubrzao rad sistema kod koga je bilo vaƦno dapriprema posla traje Ć£to kraƱe, vreme pripreme je skraƱivano tako Ć£to su se sliĆ„niposlovi udruƦivali u grupe i na taj naĆ„in zajedniĆ„ki obraœivali. Uvodi se tehnikamultiprogramiraƧa, a s Ƨom i automatsko sekvenciraƧe poslova, koje bez ope-ratera prebacuje kontrolu sa jednog posla na drugi. Da bi operativni sistem mo-gao da funkcioniĆ£e, Ƨegov fundamentalni deo mora uvek biti u memoriji (engl.resident monitor); taj deo bira posao koji Ʊe se trenutno izvrĆ£avati. Po zavrĆ£etkuposla ili nakon blokade zbog Ć„ekaƧa na ulazno-izlazne operacije, operativni si-stem opet preuzima upravĆ aƧe i dodeĆ uje kontrolu drugom poslu.

[2] Operativni sistemi za sisteme sa deĆ eƧem vremenaSistemi sa deĆ eƧem vremena (engl. time-sharing systems) nastali su kao speci-jalna klasa velikih sistema u kojoj je svakom korisniku omoguƱena on-linekomunikacija sa svojim poslom i operativnim sistemom. Vreme odziva se uvodikao nov kriterijum za ocenu efikasnosti ove klase sistema. Opet imamo tehnikumultiprogramiraƧa ā€“ Ć£to znaĆ„i viĆ£e poslova koji se u memoriji nalaze istovre-meno ā€“ i tehniku deĆ eƧa vremena, gde posle isteka vremenskog kvantuma sva-ki posao mora da preda kontrolu drugom poslu i saĆ„eka svoje novo vreme.Ove sisteme podeliƱemo na dve posebne klase: upitni sistemi (engl. file interro-gation systems) i transakcioni sistemi (engl. transaction processing systems).

Page 13: Uvod u operativne sisteme - mikroknjiga.rs

1.4 Vrste operativnih sistema 13

Kod upitnih sistema, kao Ć£to su razni informacioni sistemi koji rade s velikimbazama podataka, veoma je bitno da vreme odziva za svaki postavĆ eni upitbude veoma kratko. ObiĆ„no postoji dodatni sloj na vrhu operativnog sistema zaupravĆ aƧe bazom podataka. Transakcioni sistemi su relativno sliĆ„ni upitnim,s tim Ć£to se kod Ƨih Ć„esto (na primer, nekoliko puta u sekundi) modifikuju bazepodataka. Primer su sistemi za rezervaciju karata i bankarsko poslovaƧe.AƦurnost baze podataka je za transakcione sisteme izuzetno znaĆ„ajna.

[3] Operativni sistemi za stone raĆ„unareStoni raĆ„unari (engl. desktop systems) jesu mali raĆ„unarski sistemi nameƧenijednom korisniku i dostupni po pristupaĆ„nim cenama. Prve verzije stonih raĆ„u-nara imale su skromne performanse i hardver (na primer, malu koliĆ„inu memo-rije i diskove maƧih kapaciteta), ali se ta situacija drastiĆ„no promenila. OsimpoboĆ Ć£aƧa performansi, kod ovih sistema je ā€“ razvojem pogodnih grafiĆ„kih ko-risniĆ„kih interfejsa ā€“ ostvarena ergonomiĆ„nost, to jest prilagoœenost korisniku.Za razliku od velikih raĆ„unarskih sistema, ova klasa je veoma fleksibilna i pri-lagodĆ iva novim tehnologijama, novim procesorima, novim memorijama, no-vim multimedijalnim i drugim perifernim ureœajima. Brojna reĆ£eƧa nameƧenavelikim sistemima primeƧuju se u ovoj klasi raĆ„unarskih sistema (na primer,tehnike keĆ£iraƧa). Ovu klasu karakteriĆ£e realizacija viĆ£e vrsta operativnih siste-ma (DOS, MS Windows, Novell NetWare, UNIX, Linux).

[4] Operativni sistemi za viĆ£eprocesorske sistemeViĆ£eprocesorski sistemi (engl. multiprocessor systems) jesu sistemi s viĆ£e proce-sora koji su Ć„vsto povezani zatvorenim komunikacionim linijama, a nalaze se uistom kuƱiĆ£tu. U literaturi se pomiƧu pod imenom paralelni sistemi. Za ovu klasusistema karakteristiĆ„no je to da procesori dele istu memoriju i sistemski Ć„asovnik.Komunikacija i sinhronizacija izmeœu procesora obiĆ„no se odvijaju preko deĆ ivememorije. Prednosti viĆ£eprocesorskih sistema su poveƱaƧe brzine, ekonomiĆ„-nosti i pouzdanosti. ƃto se tiĆ„e poveƱaƧa brzine, N procesora bi u idealnom slu-Ć„aju radilo N puta brƦe, ali je zbog meœuprocesorske sinhronizacije to poveƱaƧemaƧe od N. EkonomiĆ„nost se postiƦe zato Ć£to se dele isti hardverski resursi,memorija, Ć„asovnik, DMA kanali, prekidni kontroleri, i jedan izvor napajaƧa.PoveƱaƧe pouzdanosti se postiƦe tako Ć£to Ʊe sistem nastaviti da radi i ukolikootkaƦe jedan ili viĆ£e procesora. Postoje dva koncepta za realizaciju viĆ£eprocesorskih sistema: simetriĆ„no multi-procesiraƧe (engl. symmetric multiprocessing, SMP), prikazano na slici 1.2, iasimetriĆ„no multiprocesiraƧe (engl. asymmetric multiprocessing). U sluĆ„aju si-metriĆ„nog multiprocesiraƧa, svaki procesor izvrĆ£ava istu kopiju operativnogsistema, pri Ć„emu te kopije komuniciraju jedna s drugom kad god je potrebno.Svi procesori su ravnopravni, to jest nema odnosa nadreœen/podreœen (engl.master/slave). U idealnom sluĆ„aju, svakom procesoru se dodeĆ uje jedan procesi oni se izvrĆ£avaju nezavisno, bez slabĆ eƧa performansi. VeƱina modernihoperativnih sistema podrƦava SMP. U sluĆ„aju asimetriĆ„nog multiprocesiraƧa,

Page 14: Uvod u operativne sisteme - mikroknjiga.rs

14 Poglavlje 1: Uvod u operativne sisteme

svakom procesoru je dodeĆ en specifiĆ„an posao. Postoji jedan glavni procesor(engl. master) koji potpuno kontroliĆ£e ceo sistem i koji dodeĆ uje poslove osta-lim procesorima (engl. slaves). Ova koncepcija se uglavnom koristi u ekstremnobrzim i velikim sistemima.

[5] MreƦni operativni sistemiMreƦni operativni sistemi (engl. network OS) obezbeœuju okruƦeƧe u kome ko-risnici sa svojih lokalnih maĆ£ina mogu pristupiti resursima udaĆ enih maĆ£ina nadva naĆ„ina: procedurom daĆ inskog prijavĆ ivaƧa na sistem (engl. remote login)ili razmenom datoteka sa udaĆ enim sistemom (engl. remote file transfer). Po-sebnu, mnogo kvalitetniju klasu mreƦnih operativnih sistema predstavĆ aju di-stribuirani sistemi, kod kojih se gubi koncept lokalne i udaĆ ene maĆ£ine.

[6] Distribuirani sistemiDistribuirani sistemi (engl. distributed systems) predstavĆ aju kolekciju pro-cesora, tj. raĆ„unara, koji ne dele zajedniĆ„ku memoriju i sistemski Ć„asovnik.Umesto toga, svaki procesor, tj. raĆ„unar, ima sopstvenu lokalnu memoriju, a me-œusobna komunikacija se ostvaruje putem mreƦe realizovane kao LAN (lokalnamreƦa) ili WAN (mreƦa Ć£ireg podruĆ„ja). Osim podataka, datoteka i Ć£tampaĆ„a, di-stribuiraju se i procesi. ƅetiri glavne prednosti distribuiranih sistema jesu deĆ e-Ƨe resursa, ubrzavaƧe izraĆ„unavaƧa, pouzdanost i komunikacije. Neophodnoje naglasiti da distribuirane sisteme karakteriĆ£u tri vrste migracija: migracija po-dataka, migracija izraĆ„unavaƧa i migracija procesa. Distribuirani sistemi zahtevaju mreƦnu infrastrukturu i mogu biti realizovani ilikao klijent/server arhitektura prikazana na slici 1.3, ili kao ravnopravni raĆ„unar-ski sistemi koji dele resurse na mreƦi (engl. peer-to-peer systems). U klijent/ser-ver arhitekturi, postoje raĆ„unari koji predstavĆ aju servere i raĆ„unari koji koristeƧihove usluge ā€“ klijenti (engl. clients). Postoje dve vrste servera: serveri za iz-raĆ„unavaƧe (engl. computing servers), kojima klijenti Ć£aĆ u zahteve na obradu,i serveri datoteka (engl. file servers), koji sluƦe za smeĆ£taƧe datoteka. Trebasvakako istaƱi i treƱu vrstu servera, a to su serveri za Ć£tampu (engl. print servers)koji omoguƱavaju da klijenti obave Ć£tampaƧe.

Slika 1.2 SimetriƄno multiprocesiraƧe (SMP).

Procesor ProcesorProcesor

Memorija

. . .

Page 15: Uvod u operativne sisteme - mikroknjiga.rs

1.4 Vrste operativnih sistema 15

[7] UdruƦeni sistemiUdruƦeni sistemi (engl. clustered systems) sastoje se od udruƦenih raĆ„unara, tojest od dva ili viĆ£e nezavisnih raĆ„unara koji dele diskove i Ć„vrsto su povezani LANmreƦom. Svaki raĆ„unar u udruƦenom sistemu naziva se Ć„vor (engl. node). Na sva-kom Ć„voru izvrĆ£ava se jedan nivo softvera za udruƦivaƧe. Postoje dve vrste udru-ƦivaƧa: asimetriĆ„no i simetriĆ„no. U asimetriĆ„nom udruƦivaƧu (engl. asymmetricclustering), jedan server (Ć„vor) izvrĆ£ava aplikaciju, dok ostali ā€“ prateƱi serveri(engl. monitoring servers) ā€“ prate rad glavnog servera u budnom ali neaktivnomstaƧu. U sluĆ„aju otkaza glavnog servera, jedan od prateƱih servera preuzeƱe Ƨe-govu ulogu. U simetriĆ„nom udruƦivaƧu (engl. symmetric clustering), svi serverisu aktivni i izvrĆ£avaju aplikaciju ā€“ time se drastiĆ„no poboĆ Ć£avaju performanse, alisistem mora da izdrƦi otkaz jednog ili viĆ£e servera kao i u prethodnom sluĆ„aju.

[8] Operativni sistemi za upravĆ aƧe u realnom vremenuSistemi za upravĆ aƧe u realnom vremenu (engl. real-time systems) praktiĆ„nospadaju u klasu specijalnih operativnih sistema. Glavna karakteristika ovih si-stema je davaƧe odziva u propisanom vremenskom intervalu i precizno defi-nisana vremenska ograniĆ„eƧa u kojima moraju da se dogode odzivi. Po pravilu,glavni izvori podataka su senzorski ureœaji, te razni prekidaĆ„i, A/D i D/A kon-vertori. To su sistemi koji kontroliĆ£u aplikacije specijalne namene, kao Ć£to su:specijalni grafiĆ„ki sistemi, sistemi za medicinsku grafiku, sistemi za industrijskukontrolu, kontrolisaƧe nauĆ„nih eksperimenata itd. Dele se na dve klase: Ć„vrstisistemi za rad u realnom vremenu (engl. hard real-time systems) i meki sistemiza rad u realnom vremenu (engl. soft real-time systems). ƅvrsti realni sistemigarantuju da Ʊe se svi vaƦni poslovi obaviti na vreme. Po pravilu, nemaju sekun-darnu memoriju, to jest diskove, jer najĆ„eĆ£Ć±e rade u teĆ£kim uslovima, a kom-pletan kĆ“d i operativnog sistema i aplikacija Ć„uva se u ROM memoriji. Samoperativni sistem je ograniĆ„en, tako da mnoge funkcije operativnih sistemaopĆ£te namene uopĆ£te ne postoje. Meki realni sistemi su maƧe zahtevni, oniobezbeœuju dve klase procesa, a to su obiĆ„ni procesi i procesi u realnom vre-menu koji imaju apsolutni prioritet. PraktiĆ„no, oni su meĆ£avina sistema za rad urealnom vremenu i operativnih sistema opĆ£te namene. Meki realni sistemi su,praktiĆ„no, sve vrste UNIX i Linux sistema, Windows 2000/XP/2003.

Slika 1.3 Klijent/server arhitektura.

Klijent KlijentKlijent

Server

Klijent . . .

Page 16: Uvod u operativne sisteme - mikroknjiga.rs

16 Poglavlje 1: Uvod u operativne sisteme

[9] RuĆ„ni sistemiRuĆ„ni sistemi (engl. handheld systems) ukĆ uĆ„uju PDA ureœaje (engl. PersonalDigital Assistants) i mobilne telefone. Glavne karakteristike ovih sistema su mo-bilnost (korisnici ih mogu nositi svuda sa sobom) i moguƱnost prikĆ uĆ„ivaƧa namreƦu kao Ć£to je Internet. KarakteriĆ£u ih veoma slabi hardverski resursi, kao Ć£to sumala koliĆ„ina memorije (512 KB ā€“ 8 MB), procesori skromnih moguƱnosti i maliekrani. Te skromne komponente daju im skromne performanse i moguƱnosti.Neki se mogu beƦiĆ„nim putem prikĆ uĆ„iti na mreƦu, Ć£to ih Ć„ini veoma atraktivnim.

Vrste raƄunarskog okruƦeƧaU nastavku teksta ukratko su opisane tri vrste raƄunarskog okruƦeƧa (engl. compu-ting environments):

[1] Tradicionalno (engl. traditional computing)Pod tradicionalnim okruƦeƧem podrazumevamo jednokorisniƄke raƄunare ilisisteme s deƠeƧem vremena, gde se korisnici preko svojih terminala povezujuna servere.

[2] Zasnovano na Webu (engl. Web-based computing)Ovo okruƦeƧe je zasnovano na umreƦavaƧu po principima globalne mreƦe(kao Ć£to je Internet) na kojoj postoje Web serveri i klijenti u vidu PC raĆ„unara imalih mobilnih sistema.

[3] Ugraœeno okruƦeƧe (engl. embedded computing)Ugraœeno okruƦeƧe je tipiĆ„no za tvrde real-time sisteme koje odlikuje neposto-jaƧe tastature, monitora i diskova. Aplikacija koja se izvrĆ£ava u realnom vre-menu dobija ulazne informacije preko ureœaja kao Ć£to su senzori, dok se statusnei izlazne informacije prikazuju na LED diodama ili na nekom malom displeju.

1.5 OPƃTI PREGLED STRUKTURE OPERATIVNIH SISTEMA

UpravĆ aƧe osnovnim resursima raĆ„unarskog sistema obezbeœuje viĆ£e funkcionalnihgrupa programa nameƧenih za:

ā€¢ upravĆ aƧe procesorom;ā€¢ upravĆ aƧe memorijom;ā€¢ upravĆ aƧe ulazom i izlazom;ā€¢ upravĆ aƧe podacima;ā€¢ upravĆ aƧe sekundarnom memorijom;ā€¢ umreƦavaƧe;ā€¢ zaĆ£titu;ā€¢ korisniĆ„ki interfejs.

Page 17: Uvod u operativne sisteme - mikroknjiga.rs

1.5 OpĆ£ti pregled strukture operativnih sistema 17

Ponekad je teĆ£ko precizno reƱi (usaglasiti) Ć£ta se podrazumeva pod delovimaoperativnog sistema, tj. da li neki upravĆ aĆ„ki programi pripadaju ili ne pripadaju ope-rativnom sistemu. Prve Ć„etiri grupe su fundamentalne i ukratko su opisane u nastavkuteksta.

Procesor je jedan od najvaƦnijih resursa raƄunarskog sistema, mada u pojedinimsituacijama neki drugi resursi mogu biti vaƦniji. UpravƠaƧe procesorom moƦe se po-deliti na dva nivoa:

ā€¢ nivo neposredne dodele procesora nekom programu, tj. predaje kontrole nadprocesorom nekom programu;

ā€¢ nivo razreĆ£avaƧa prioriteta, tj. odluĆ„ivaƧa koji od moguƱih programa ima naj-veƱi prioritet da bi postao proces i da bi u nekom sledeƱem trenutku dobio kon-trolu nad procesorom.

Pod upravƠaƧem memorijom podrazumeva se upravƠaƧe radnom, tj. glavnommemorijom raƄunara, kojoj centralni procesor pristupa direktno, radi uzimaƧainstrukcija ili podataka. Na ovom nivou obavƠaju se sledeƱe funkcije:

ā€¢ realizacija odreœene strategije dodeĆ ivaƧa memorije (redosled dodeĆ ivaƧamemorije poslovima, statiĆ„no ili dinamiĆ„no dodeĆ ivaƧe, principi dodeĆ ivaƧaitd.);

ā€¢ dodeĆ ivaƧe memorije (algoritmi izbora poĆ„etne lokacije segmenta koji sedodeĆ uje);

ā€¢ sprovoœeƧe odreœene strategije oslobaœaƧa memorije (ukrupƧavaƧe maƧihosloboœenih delova memorije, oslobaœaƧe delova memorije, redosled obradezahteva za dodelu memorije).

Na nivou upravĆ aƧa ureœajima realizuju se sledeƱe funkcije:

ā€¢ obezbeœivaƧe nezavisnosti ureœaja (programi treba da budu nezavisni od tipaureœaja koji se koriste za ulazno-izlazne operacije);

ā€¢ obezbeœivaƧe efikasnog rada ureœaja (poĆ£to U/I operacije predstavĆ aju Ć„estousko grlo raĆ„unarskog sistema, poƦeĆ no je da se Ć£to efikasnije preklapaju i izo-luju od procesora);

ā€¢ obezbeœivaƧe jedinstvenog koncepta analize rada svih ureœaja raĆ„unarskogsistema;

ā€¢ realizacija odreœene strategije dodeĆ ivaƧa ureœaja (na primer, redosled dodeĆ i-vaƧa ureœaja poslovima, naĆ„in dodeĆ ivaƧa ureœaja: namenski, s deobom, kaovirtuelni itd.);

ā€¢ dodeĆ ivaƧe ureœaja (fiziĆ„ko dodeĆ ivaƧe ureœaja, kontrolnih jedinica i kanalaposlovima);

ā€¢ realizacija odreœene strategije oslobaœaƧa ureœaja (na primer, ureœaj se oslo-baœa tek kad se posao kojem je dodeĆ en zavrĆ£i).

Page 18: Uvod u operativne sisteme - mikroknjiga.rs

18 Poglavlje 1: Uvod u operativne sisteme

Nivo upravĆ aƧa podacima treba da obezbedi softverska sredstva za organizo-vaƧe podataka i pristupaƧe podacima na naĆ„in koji odgovara korisniku raĆ„unarskogsistema. Koncepcija upravĆ aƧa zavisi, pre svega, od vrste podataka i reƦima Ƨiho-vog koriĆ£Ć±eƧa. Na ovom nivou realizuju se sledeƱe funkcije:

ā€¢ formiraƧe i brisaƧe osnovnih struktura podataka (datoteka);ā€¢ Ć„itaƧe datoteka i upisivaƧe u datoteke;ā€¢ obezbeœivaƧe uslova za simboliĆ„ko obraƱaƧe datotekama (prema Ƨihovim

imenima);ā€¢ zaĆ£tita podataka od namernog i nenamernog uniĆ£tavaƧa (usled otkaza sistema);ā€¢ zaĆ£tita podataka od neovlaĆ£Ć±enog pristupa i koriĆ£Ć±eƧa;ā€¢ deoba datoteka (podataka) izmeœu viĆ£e poslova (korisnika).

U literaturi (Lister, Kvaternik), sloj upravĆ aƧa podacima Ć„esto se objediƧuje saslojem upravĆ aƧa sekundarnom memorijom. U tim sluĆ„ajevima, ovaj sloj obavĆ a ifunkcije organizacije memorijskog prostora na memorijama velikog kapaciteta (naj-Ć„eĆ£Ć±e diskovima).

U nastavku teksta opisane su dve koncepcije projektovaƧa operativnih sistema,a to su monolitna organizacija (engl. monolithic systems) i slojevita organizacija (engl.layered systems). Takoœe uvodimo i treƱu, veoma savremenu koncepciju, a to je arhi-tektura mikrojezgra (engl. microkernel).

Monolitni sistemi U proĆ£losti, monolitni sistemi su predstavĆ ali najĆ„eĆ£Ć±u organizaciju operativnih siste-ma. Ovaj naĆ„in organizacije operativnih sistema dobio je naziv velika zbrka (engl. bigmess). Monolitni operativni sistem je realizovan kao skup procedura koje se popotrebi mogu meœusobno pozivati, bez ikakvih ograniĆ„eƧa. KorisniĆ„ki programiupotrebĆ avaju servise operativnog sistema na sledeƱi naĆ„in: parametri sistemskogpoziva se smeĆ£taju na odreœena mesta, kao Ć£to su registri procesora ili stek, nakonĆ„ega sledi pozivaƧe jezgra operativnog sistema (engl. kernel call). Ova operacija pre-bacuje procesor iz korisniĆ„kog reƦima rada u sistemski reƦim rada i kontrolu predajeoperativnom sistemu. U sistemskom reƦimu rada dostupne su neke komande proce-sora kojima se ne moƦe pristupiti iz korisniĆ„kog reƦima. Posle pozivaƧa jezgra, ope-rativni sistem preuzima kontrolu i na osnovu parametara poziva odreœuje kojusistemsku proceduru treba pozvati. Nakon izvrĆ£eƧa procedure, kontrola se vraƱa ko-risniĆ„kom programu. Operativni sistem ima sledeƱu strukturu, sastavĆ enu od triosnovna skupa programa:

ā€¢ glavni program koji obraœuje sistemske pozive;ā€¢ skup sistemskih procedura koje se pozivaju prilikom sistemskih poziva;ā€¢ skup pomoƱnih procedura koje koriste sistemske procedure.

Page 19: Uvod u operativne sisteme - mikroknjiga.rs

1.5 OpĆ£ti pregled strukture operativnih sistema 19

Slojevita (hijerarhijska) realizacijaU slojevitoj realizaciji (engl. layered system), operativni sistem se deli na razliƄiteslojeve. Slojevi su organizovani hijerarhijski: svaki sloj moƦe da poziva samo funk-cije niƦih slojeva.

Prvi slojeviti operativni sistem, THE (engl. Technische Hogeschool Eindhoven,E.W. Dijkstra), sastojao se od Ć£est slojeva. Slojevi od 0 do 3 predstavĆ aju jezgro ope-rativnog sistema i rade u sistemskom reƦimu:

ā€¢ nulti sloj upravĆ a procesorom, tj. dodeĆ uje procesor razliĆ„itim procesima;ā€¢ prvi sloj upravĆ a memorijom, tj. dodeĆ uje potrebnu memoriju procesima; ā€¢ drugi sloj upravĆ a komunikacijom izmeœu razliĆ„itih procesa i komandnog inter-

pretera;ā€¢ treƱi sloj obavĆ a ulazno-izlazne operacije.

Na Ć„etvrtom sloju rade korisniĆ„ki programi, koji se ne brinu o dodeli procesora,dodeĆ ivaƧu memorije, komandnom interpreteru, ulazno-izlaznim operacijama ā€“ svete operacije obavĆ aju niƦi slojevi.

ZnaƄi:

ā€¢ operativni sistem monolitne strukture sastoji se od skupa procedura bez ikakvoggrupisaƧa ili hijerarhije;

ā€¢ operativni sistem slojevite strukture deli se na viĆ£e slojeva od kojih svaki imataĆ„no odreœenu funkciju (upravĆ a taĆ„no odreœenim resursima) i oslaƧa seiskĆ uĆ„ivo na funkcije niƦih slojeva, kojima pristupa pomoƱu poziva sliĆ„nih si-stemskim pozivima.

Generalno, slojeviti operativni sistem deli se na odreœeni broj slojeva, od kojih sesvaki gradi na vrhu prethodnog sloja. NajniƦi sloj (layer 0) predstavĆ a hardver, dok jenajviĆ£i (layer N) ā€“ korisniĆ„ki interfejs. Sa ovakvim modularnim konceptom, slojevikoriste iskĆ uĆ„ivo funkcije i usluge niƦih slojeva.

Slojeviti operativni sistem dozvoĆ ava pozivaƧe (koriĆ£Ć±eƧe) operacija stvaraƧa iuniĆ£tavaƧa procesa samo iz sloja koji se u hijerarhiji nalazi iznad svih slojeva opera-tivnog sistema. To znaĆ„i da je postojaƧe procesa iskĆ uĆ„ivo vezano za korisniĆ„ki sloj.Iako su svi procesi locirani u korisniĆ„kom sloju, oni su meœusobno jasno razdvojenizahvaĆ ujuƱi Ć„iƧenici da svaki od procesa poseduje zaseban adresni prostor ā€“ kori-sniĆ„ki prostor (engl. user space). Na istom principu se zasniva i razdvajaƧe procesai operativnog sistema. Ali, razdvajaƧe korisniĆ„kih prostora od adresnog prostora ope-rativnog sistema, tj. sistemskog prostora (engl. kernel space), spreĆ„ava da se pozivioperacija operativnog sistema zasnivaju na koriĆ£Ć±eƧu poziva potprograma. Zato jeneophodno uvoœeƧe posebnog mehanizma sistemskih poziva koji omoguƱuje pre-lazak iz korisniĆ„kog prostora u sistemski prostor radi pozivaƧa operacija operativnogsistema. Sistemski pozivi zahtevaju koriĆ£Ć±eƧe specifiĆ„nih asemblerskih naredaba izbog toga se sakrivaju unutar sistemskih potprograma. Neki od sistemskih potpro-grama, pored sistemskih poziva, sadrƦe i specifiĆ„ne obrade podataka, kao Ć£to je, na

Page 20: Uvod u operativne sisteme - mikroknjiga.rs

20 Poglavlje 1: Uvod u operativne sisteme

primer, pretvaraƧe brojeva iz znakovnog u binarni oblik i obrnuto kod formatiranogulaza ili izlaza. Svaki sistemski potprogram je nameƧen za pozivaƧe jedne od ope-racija operativnog sistema, nameƧenih korisniĆ„kom sloju. Ovakve operacije se na-zivaju sistemske, kako bi se razlikovale od ostalih (internih) operacija operativnogsistema, nameƧenih samo za koriĆ£Ć±eƧe unutar operativnog sistema. Sistemski pot-programi obrazuju sistemsku biblioteku. Prema tome, pozivaƧe sistemskih operacijasvodi se na pozivaƧe potprograma iz sistemske biblioteke. Sistemska biblioteka seisporuĆ„uje uz operativni sistem kako bi se koristila u postupku povezivaƧa. U tokupovezivaƧa, biblioteĆ„ki potprogrami se vezuju za objektni oblik korisniĆ„kog pro-grama radi stvaraƧa izvrĆ£nog oblika korisniĆ„kog programa, koji tako postaje spre-man za saradƧu sa operativnim sistemom.

ZahvaĆ ujuƱi sistemskim potprogramima, tj. sistemskoj biblioteci, operativni si-stem predstavĆ a deo korisniĆ„kog programa, iako nije za Ƨega direktno vezan. Zato semoƦe smatrati da obavĆ aƧe sistemskih operacija predstavĆ a sastavni deo izvrĆ£avaƧakorisniĆ„kog programa, tj. pripada aktivnosti procesa, vezanog za ovo izvrĆ£avaƧe. To,uz istovremeno postojaƧe viĆ£e procesa i nepredvidivost prikĆ uĆ„ivaƧa, uzrokuje mo-guƱnost da istovremeno postoji viĆ£e procesa, koji su zapoĆ„eli, a nisu zavrĆ£ili svojuaktivnost u okviru operativnog sistema.

Sistemski pozivi Aplikacioni programi komuniciraju sa operativnim sistemom pomoƱu sistemskih po-ziva (engl. system calls), tj. preko operacija (funkcija) koje definiĆ£e operativni sistem.Sistemski pozivi se realizuju pomoƱu sistema prekida: korisniĆ„ki program postavĆ aparametre sistemskog poziva na odreœene memorijske lokacije ili registre procesora,inicira prekid, operativni sistem preuzima kontrolu, uzima parametre, izvrĆ£i traƦeneradƧe, rezultat stavĆ a na odreœene memorijske lokacije ili u registre i vraƱa kontroluprogramu.

Sistemske pozive Ć„esto podrƦava i hardver, tj. procesor, na taj naĆ„in Ć£to razlikuje dvareƦima rada: korisniĆ„ki reƦim (engl. user mode) i sistemski reƦim (engl. supervisor mo-de). KorisniĆ„ki programi mogu raditi iskĆ uĆ„ivo u korisniĆ„kom reƦimu rada procesora,sistemski reƦim rada je predviœen za operativni sistem. Ako korisniĆ„ki program pokuĆ£ada izvrĆ£i neku operaciju koja je dozvoĆ ena samo u sistemskom reƦimu rada, kontrola sepredaje operativnom sistemu. Prilikom sistemskih poziva procesor prelazi iz korisniĆ„-kog reƦima rada u sistemski, a vraƱa se u korisniĆ„ki reƦim posle obrade poziva.

Sistemski pozivi obezbeœuju interfejs izmeœu programa koji se izvrĆ£ava i operativ-nog sistema. Generalno, realizuju se na asemblerskom jeziku, ali noviji viĆ£i programskijezici, poput jezika C i C++, takoœe omoguƱavaju realizaciju sistemskog poziva. Pro-gram koji se izvrĆ£ava moƦe proslediti parametre operativnom sistemu na tri naĆ„ina:

ā€¢ prosleœivaƧem parametara u registrima procesora;ā€¢ postavĆ aƧem parametara u memorijskoj tabeli, pri Ć„emu se adresa tabele pro-

sleœuje u registru procesora;ā€¢ postavĆ aƧem parametara na vrh steka (push), koje operativni sistem ā€œskidaā€

(pop).

Page 21: Uvod u operativne sisteme - mikroknjiga.rs

1.5 OpĆ£ti pregled strukture operativnih sistema 21

Arhitektura mikrojezgraMikrojezgro (engl. microkernel) predstavĆ a veoma savremen koncept u realizacijisavremenih operativnih sistema. Osnovna zamisao je napraviti minimalno i pouzdanojezgro visokih performansi, a sve ostale funkcije jezgra potisnuti u takozvani kori-sniĆ„ki prostor (engl. user space). KorisniĆ„ki moduli meœusobno komuniciraju sla-Ƨem poruka (engl. message passing).

U dobre osobine arhitekture mikrojezgra spadaju:

ā€¢ jednostavno proĆ£irivaƧe i optimizacija jezgra;ā€¢ jednostavno dodavaƧe novih modula bez uticaja na osnovno jezgro;ā€¢ jednostavna prenosivost na drugu raĆ„unarsku arhitekturu;ā€¢ veƱa pouzdanost (maƧe koda se izvrĆ£ava u reƦimu jezgra);ā€¢ veƱa sigurnost.

Virtuelne maĆ£ine Iako smo operativni sistem definisali kao virtuelnu maĆ£inu, IBM je razvio posebnusoftversku strukturu koja ima velike prednosti pri realizaciji novih operativnih siste-ma i koja se takoœe naziva virtuelna maĆ£ina.

Strukturu virtuelnih maĆ£ina IBM definiĆ£e na sledeƱi naĆ„in: na najniƦem nivou senalazi hardver, a iznad hardvera monitor virtuelnih maĆ£ina (engl. virtual machinemonitor), to jest poseban sistem koji obezbeœuje niz virtuelnih maĆ£ina (taĆ„nih kopijahardvera). Zatim se na te virtuelne maĆ£ine mogu instalirati razliĆ„iti operativni sistemi.OdgovarajuƱi operativni sistemi primaju sistemske pozive korisniĆ„kih programa, ahardverske operacije koje ti operativni sistemi Ć£aĆ u prema svojim virtuelnim maĆ£ina-ma prihvata monitor virtuelnih maĆ£ina i realizuje ih u skladu s hardverom ispod sebe.

Virtuelna maĆ£ina je zasnovana na slojevitoj organizaciji i tretira realni hardver irealno jezgro kao da su hardver za operativni sistem koji predstavĆ aju. Virtuelna maĆ£i-na obezbeœuje identiĆ„an interfejs kao da je realni hardver ispod virtuelne maĆ£ine, a neĆ„itav niz slojeva softvera.

Operativni sistem stvara iluziju o viĆ£estrukim procesima koji se izvrĆ£avaju na svomvirtuelnom procesoru i svojoj virtuelnoj memoriji. Virtuelne maĆ£ine obezbeœuju kom-pletnu zaĆ£titu sistemskih resursa, poĆ£to su sve virtuelne maĆ£ine meœusobno izolovane,i ne mogu direktno deliti resurse.

Koncept virtuelne maĆ£ine prikazan je na slici 1.4. Virtuelne maĆ£ine su perfektan razvojni sistem za realizaciju novih operativnih si-

stema, jer se razvoj realizuje na virtuelnoj maĆ£ini, a ne na realnoj, moƦe lako da se kon-troliĆ£e, mogu se ispravĆ ati greĆ£ke i nikako se ne mogu naruĆ£iti normalne sistemskeoperacije, jer Ʊe sistem koji nudi virtuelne maĆ£ine raditi bez obzira na staƧe pojedinihvirtuelnih maĆ£ina.

Sistem virtuelnih maĆ£ina ne moƦe se lako realizovati zato Ć£to treba egzaktno simu-lirati hardver koji reprezentuje virtuelna maĆ£ina.

Page 22: Uvod u operativne sisteme - mikroknjiga.rs

22 Poglavlje 1: Uvod u operativne sisteme

1.6 OPERATIVNI SISTEMI UNIX I LINUX

UNIX je stabilan, moƱan i fleksibilan operativni sistem visokih performansi, pogodanza izvrĆ£avaƧe vaƦnih aplikacija. UNIX je Ć„vrsto povezan s mreƦnim servisima TCP/IP protokola, Ć„ime je u potpunosti promeƧena slika UNIX servera i radnog okruƦeƧaiz proĆ£losti. Umesto servera s klasiĆ„nim serijskim terminalima, UNIX server se nalaziu mreƦi, pri Ć„emu s radnim stanicama ostvaruje vezu preko LAN/WAN mreƦe i skupaprotokola TCP/IP. VeƱina velikih svetskih proizvoœaĆ„a raĆ„unara razvija specifiĆ„nuvarijantu operativnog sistema UNIX, Ć£to ukazuje na Ƨegov kvalitet, popularnost irasprostraƧenost. VeƱina UNIX sistema, poput IBM AIX i Sun Solaris, komercijalnaje ā€“ korisnik mora da plati licencu za upotrebĆ avaƧe, a izvorni kĆ“d nije raspoloƦiv.To su razlozi narastajuƱe popularnosti Linux sistema koji zadrƦava veƱinu dobrih oso-bina sistema UNIX, a dodatno se odlikuje raspoloƦivim izvornim kodom i praktiĆ„nobesplatnim koriĆ£Ć±eƧem. Zbog toga danas veƱina proizvoœaĆ„a raĆ„unara ā€“ osim sopst-vene komercijalne verzije UNIX sistema ā€“ nudi i podrĆ£ku za Linux. Linux se najĆ„eĆ£Ć±ekoristi kao operativni sistem na radnim stanicama ili serverima u maƧoj ili sredƧojklasi servera, a jedna od oblasti dominantne primene, u kojoj veliki broj korisnika po-drƦava i promoviĆ£e Linux kao baziĆ„ni server, jesu Internet usluge.

Istorijat operativnog sistema UNIXRazvoj operativnog sistema UNIX poĆ„eo je sredinom Ć£ezdesetih godina u AT&T Belllaboratorijama, u saradƧi s kompanijom General Electric i tehnoloĆ£kim institutomMassachusetts. Projekat, to jest operativni sistem MULTICS (Multiplexed Informati-on and Computing Service), predstavĆ ao je interaktivni operativni sistem nameƧen

Slika 1.4 Virtuelne maĆ£ine.

Procesi

Hardver

Jezgro

Procesi

VirtuelnamaĆ£ina 1

Jezgro

Implementacija virtuelnih maĆ£ina

Hardver

Procesi

VirtuelnamaĆ£ina 2

Jezgro

Procesi

VirtuelnamaĆ£ina N

Jezgro

. . .

. . .

. . .

Page 23: Uvod u operativne sisteme - mikroknjiga.rs

1.6 Operativni sistemi UNIX i Linux 23

da opsluƦuje veliki broj korisnika Ć„iji su terminali direktnim serijskim ili modemskimkomunikacionim kanalima povezani na centralizovani server. Takav koncept opera-tivnog sistema bio je preambiciozan za tadaĆ£Ć§i stepen razvijenosti hardvera, priĆ„emu se prvenstveno misli na procesorsku snagu i koliĆ„inu sistemske memorije.MULTICS nije doƦiveo praktiĆ„nu primenu jer se posle nekoliko godina razvoja po-kazao kao preskup i zahtevan projekat od koga su AT&T Bell laboratorije odustale.Bez obzira na to, teorijska i praktiĆ„na reĆ£eƧa projekta naĆ£la su primenu u mnogimoperativnim sistemima. Konkretno, MULTICS je preteĆ„a UNIX sistema koji se sma-tra jednim od najkvalitetnijih i najrasprostraƧenijih operativnih sistema, na Ć„ijem serazvoju radi preko 30 godina, s tendencijom daĆ e egzistencije i usavrĆ£avaƧa.

Dva fundamentalna imena vezana za razvoj operativnog sistema UNIX svakako suKen Tompson (Ken Thompson), programer sistema MULTICS u Bell laboratorijama,i Denis RiĆ„i (Dennis Ritchie), poznatiji kao tvorac programskog jezika C. Godine1969, Ken Tompson je zapoĆ„eo razvoj novog operativnog sistema za DEC PDP-7 ra-Ć„unar, napravivĆ£i redukovani MULTICS, tj. UNICS (Uniplexed Information and Com-puting Service). Radi lakĆ£eg izgovora i pisaƧa, ime UNICS je kasnije evoluiralo uUNIX. UNIX je prvobitno napisan na asemblerskom jeziku, a samim tim bio je pot-puno zavisan od klase procesora za koji se realizuje. Godine 1971, RiĆ„i je napisao pro-gramski jezik C kao viĆ£i programski jezik koji omoguƱava sistemsko programiraƧe,a zatim je s Tompsonom preveo kĆ“d UNIX sistema na C, Ć£to se moƦe smatrati prekret-nicom i jednim od najznaĆ„ajnijih poteza u razvoju operativnih sistema. ZahvaĆ ujuƱijeziku C, UNIX je mogao biti prenesen na razne raĆ„unarske arhitekture s vrlo maloprogramskih modifikacija, Ć£to je svakako bio kĆ uĆ„ uspeha i popularnosti operativnogsistema UNIX.

Nakon prevoda na jezik C, autori su u ciĆ u daĆ eg unapreœeƧa prosledili izvornikĆ“d UNIX sistema univerzitetima Ć£irom Amerike, pri Ć„emu su programeri sa univer-ziteta Berkeley u Kaliforniji dominantno uticali na daĆ i razvoj. Nakon brojnih modi-fikacija koda nastao je BSD UNIX (Berkeley Software Distribution), koji je takoœe uizvornom obliku distribuiran ameriĆ„kim univerzitetima radi daĆ eg usavrĆ£avaƧa.NajznaĆ„ajniji doprinos grupe koja je realizovala BSD UNIX odnosi se na softver zaumreƦavaƧe, koji omoguƱava da operativni sistem funkcioniĆ£e u LAN i WAN mreƦa-ma. BSD UNIX mreƦna reĆ£eƧa prihvatili su brojni proizvoœaĆ„i raĆ„unara koji su raz-vijali sopstvene varijante operativnog sistema UNIX:

ā€¢ SunOS, kompanije Sun Microsystems, zasnovan na sistemu BSD UNIX v4.2;ā€¢ System V UNIX, kompanije AT&T;ā€¢ XENIX, kompanije Microsoft, razvijen za PC raĆ„unare sa Intel procesorima.

Godine 1988, kombinovaƧem dobrih osobina Sun OS/BSD, AT&T System V Re-lease 3 i XENIX operativnih sistema nastala je nova varijanta UNIX sistema ā€“ Sy-stem V Release 4 (SVR4), koja je ubrzo postala de facto standard i osnova za daĆ irazvoj UNIX sistema.

SledeƱi korak u razvoju predstavĆ a pokuĆ£aj standardizacije i realizacije meœusobnekompatibilnosti raznih vrsta UNIX sistema.

Page 24: Uvod u operativne sisteme - mikroknjiga.rs

24 Poglavlje 1: Uvod u operativne sisteme

Vrste UNIX sistemaDanas postoji veliki broj vrsta UNIX sistema koje su zasnovane ili na industrijskomstandardu SVR4 ili na BSD distribuciji. One vrste UNIX sistema koje potiĆ„u od istogstandarda meœusobno su veoma sliĆ„ne, tako da se na osnovu nekih indikatora (naj-Ć„eĆ£Ć±e na osnovu sistemskih komandi) moƦe odrediti koji je standard koriĆ£Ć±en kaoosnova za izgradƧu i razvoj specifiĆ„nog UNIX sistema. Na sistemima Ć„ija je osnovaSystem V, komanda za Ć£tampaƧe je lp, na sistemima zasnovanim na distribuciji BSDā€“ lpr. Komanda koja opisuje tekuƱe procese na System V sistemima jeste ps-ef, dokBSD koristi ps-aux. Razlike postoje i u drugim komandama.

UNIX je sada zaĆ£tiƱeno ime u vlasniĆ£tvu organizacije Open Group (www.open-group.org), koja je definisala standard POSIX (Portable Operating System Interface)u ciĆ u poveƱaƧa kompatibilnosti raznih vrsta UNIX sistema. Svaki proizvoœaĆ„ svojuUNIX distribuciju naziva jedinstvenim imenom: Solaris (Sun Microsystems), AT&TUNIX, AIX (IBM), HP-UX (Hewlett-Packard), Tru64UNIX (Compaq). Iako je veƱinaUNIX sistema osmiĆ£Ć ena da radi uglavnom na odreœenoj arhitekturi sa odreœenomklasom procesora (najĆ„eĆ£Ć±e su to procesori matiĆ„ne kompanije), postoje varijante kojerade na viĆ£e klasa procesora. Na primer, Solaris ā€“ koji je prvenstveno nameƧen SunraĆ„unarima ā€“ postoji i u verziji za PC arhitekturu, tj. za Intel procesore, a Linux, poredPC arhitekture podrƦava i druge arhitekture kao Ć£to su Sun, Apple Macintosh i IBM.Kada se savlada rad na jednoj vrsti UNIX sistema, prelazak na neku drugu verziju re-lativno je lak.

LinuxJedna od posledƧih varijanti operativnih sistema UNIX, Ć„iji jerazvoj zapoĆ„eo Linus Torvalds 1991. godine, na Univerzitetu uHelsinkiju, jeste Linux. Torvalds je svoj operativni sistem ā€“ kojiobjediƧuje oba standarda, SRV4 i BSD ā€“ objavio na Internetu ipodsticao druge programere Ć£irom sveta da se prikĆ uĆ„e ƧegovomdaĆ em razvoju. Ubrzo je Linux postao veoma popularan meœuraĆ„unarskim entuzijastima koji su traƦili alternativno reĆ£eƧe za

postojeƱe operativne sisteme za PC raƄunare (DOS, Windows). Linux je zbog svojekoncepcije stabilnog a jeftinog operativnog sistema doƦiveo veliku ekspanziju i popu-larnost. Simbol Linux sistema je mali pingvin (Tux).

Linux je prvobitno bio nameƧen 32-bitnim Intel x86 mikroprocesorima (poĆ„evĆ£iod 80386), na kojima moƦe funkcionisati kao radna stanica (engl. workstation) ili kaoserver. Jezgro Linux sistema kasnije je modifikovano i prilagoœeno procesorima kojine pripadaju Intel x86 klasi, meœu kojima treba istaƱi Intel IA-64, DEC Alpha, SUNSPARC/UltraSPARC, Motorola 68000, MIPS, PowerPC i IBM mainframe S/390.MoƦe se konstatovati da danaĆ£Ć§i Linux podrƦava Ć£iri spektar procesora i raĆ„unarskiharhitektura od svih drugih operativnih sistema.

Page 25: Uvod u operativne sisteme - mikroknjiga.rs

1.6 Operativni sistemi UNIX i Linux 25

GNU/Linux i Open SourceVeliki deo komponenata operativnom sistemu Linux dodali su ne-zavisni programeri i programeri GNU projekta (www.gnu.org),koji pripada fondaciji za besplatan softver (Free Software Foun-dation, FSF). Svi operativni sistemi GNU/Linux koriste Linuxjezgro kao fundamentalni deo koji kontroliĆ£e interakciju izmeœu

hardvera i aplikacija, i GNU aplikacije kao dodatne komponente operativnog sistema.Linux je raspoloƦiv kao besplatan operativni sistem pod licencom GNU GPL (GNU

General Public License), Ć£to vaƦi i za neke druge vrste UNIX sistema, kao Ć£to su Free-BSD i NetBSD. Linux je softver sa otvorenim izvornim kodom (engl. Open Source),Ć£to znaĆ„i da je izvorni kĆ“d javno raspoloƦiv i da se moƦe modifikovati tako da odgovaraspecifiĆ„nim potrebama. Linux se moƦe slobodno distribuirati meœu korisnicima. Ova-kav koncept je potpuno suprotan konceptu komercijalnog softvera, gde izvorni kĆ“d nijedostupan i svaki korisnik mora da plati licencu za koriĆ£Ć±eƧe. Komercijalni softver jezasnovan na zakonima o autorskim pravima (engl. copyright laws); Ƨima se propisujuograniĆ„eƧa koja korisnici softvera imaju u odnosu na izvorni kĆ“d, koriĆ£Ć±eƧe i daĆ edistribuiraƧe softvera. Linux se besplatno moƦe preuzeti s razliĆ„itih Web lokacija.

Distribucije Linuxa Brojne profitne i neprofitne organizacije Ć„ine Linux raspoloƦivim u obliku distribucija,tj. razliĆ„itih kombinacija jezgra, sistemskog softvera i korisniĆ„kih aplikacija. VeƱinadistribucija sadrƦi kolekciju CD/DVD medijuma na kojima se nalaze operativni si-stem, izvorni kĆ“d, detaĆ na dokumentacija, i Ć£tampana uputstva za instaliraƧe i upo-trebu sistema. Cene ovakvih distribucija su u veƱini sluĆ„ajeva simboliĆ„ne, osim ako seu distribuciji nalazi komercijalan softver ili je distribucija specifiĆ„ne namene.

Osnovna komponenta svake distribucije Linuxa jeste jezgro operativnog sistema.Osim jezgra i sistemskog softvera, u distribuciji se nalaze i instalacioni alati, softver zapodizaƧe operativnog sistema (engl. boot loader), razne korisniĆ„ke aplikacije (kan-celarijski paketi, softver za obradu bitmapiranih slika) i serverski paketi. VeƱina distri-bucija ima grafiĆ„ko korisniĆ„ko okruƦeƧe ā€“ poput Windows sistema ā€“ dok su nekedistribucije nameƧene administratorima sistema i programerima, bliske tradicional-nom UNIX okruƦeƧu.

U poznatije distribucije Linuxa spadaju: Debian GNU/Linux (http://www.debi-an.org), Linux Mandrake (http://linux-mandrake.com/en), Red Hat Linux (http://www.redhat.com), Slackware Linux (http://www.slackware.com) i SuSE Linux(http://www.suse.com).

OpĆ£ti pregled strukture Linux sistemaLinux je viĆ£ekorisniĆ„ki, viĆ£eprocesni operativni sistem s potpunim skupom UNIXkompatibilnih alata, projektovan tako da poĆ£tuje relevantne POSIX standarde. Linuxsistemi podrƦavaju tradicionalnu UNIX semantiku i potpuno implementiraju stan-dardni UNIX mreƦni model.

Page 26: Uvod u operativne sisteme - mikroknjiga.rs

26 Poglavlje 1: Uvod u operativne sisteme

Operativni sistem Linux sastoji se od jezgra, sistemskog softvera, korisniĆ„kih apli-kacija, programskih prevodilaca i Ƨihovih odgovarajuƱih biblioteka (GCC ā€“ GNU CCompiler i C biblioteka za Linux) i dokumentacije. SadrƦaj konkretne distribucijeLinuxa definisan je sadrƦajem instalacionih medijuma, koji u sluĆ„aju nekih Linux si-stema ukĆ uĆ„uju razne FTP lokacije Ć£irom sveta.

Jezgro operativnog sistema omoguƱava konkurentno (paralelno) izvrĆ£avaƧe proce-sa, dodeĆ uje im memoriju i druge resurse i obezbeœuje mehanizam za ostvarivaƧeusluga operativnog sistema. Jezgro Ć£titi korisniĆ„ke procese od direktnog pristupa hard-veru ā€“ procesi pristupaju hardveru koriĆ£Ć±eƧem sistemskih poziva jezgra, Ć„ime seobezbeœuje zaĆ£tita izmeœu samih korisnika. Sistemski programi koriste jezgro u ciĆ uimplementacije razliĆ„itih usluga operativnog sistema.

Svi programi, ukĆ uĆ„ujuƱi i sistemske, funkcioniĆ£u na nivou iznad jezgra, Ć£to senaziva korisniĆ„ki reƦim rada, dok se sistemske aktivnosti ā€“ poput pristupa hardveruobavĆ aju na nivou jezgra, tj. u sistemskom reƦimu rada (engl. supervisory mode).Sistemski i aplikativni programi razlikuju se po nameni: aplikacije su nameƧene zarazne korisne aktivnosti (kao Ć£to su obrada teksta i slika), dok su sistemski programinameƧeni za rad sa sistemom i administraciju. Na primer, program za obradu tekstaje korisniĆ„ka aplikacija, dok je komanda mount sistemski program. Razlike izmeœukorisniĆ„kih i sistemskih programa ponekad su veoma male, i znaĆ„ajne su samo u stro-gim kategorizacijama softvera.

1.7 PITAƇA I ZADACI

1.1 Koje osnovne ciĆ eve operativni sistem mora da postigne pri posredovaƧu izmeœukorisnika i raĆ„unarskog sistema?

1.2 Navedite osnovne funkcije operativnog sistema.1.3 Navedite osnovne karakteristike operativnih sistema.1.4 a. DefiniĆ£ite efikasnost i premaĆ£eƧe operativnog sistema.

b. Na osnovu kojih kriterijuma se odreœuje efikasnost operativnog sistema?1.5 Navedite razloge zbog kojih se operativni sistemi najĆ„eĆ£Ć±e piĆ£u na programskom

jeziku C.1.6 Jedna od poƦeƠnih osobina operativnog sistema je visoka efikasnost. U kom sluƄaju

se moƦe dozvoliti da operativni sistem ā€œpregaziā€ ovaj princip i nepotrebno ā€œpoje-deā€ resurse?

1.7 ZaĆ£to ne postoje viĆ£ekorisniĆ„ki jednoprocesni operativni sistemi?1.8 Navedite primere (a) jednokorisniĆ„kih jednoprocesnih, (b) jednokorisniĆ„kih viĆ£e-

procesnih i (c) viĆ£ekorisniĆ„kih viĆ£eprocesnih operativnih sistema.1.9 Navedite najznaĆ„ajnije karakteristike (a) operativnih sistema za paketnu obradu,

(b) interaktivnih operativnih sistema, (c) operativnih sistema s deƠeƧem vremena,(d) operativnih sistema za rad u realnom vremenu i (e) distribuiranih operativnihsistema.

1.10 Koja je osnovna razlika izmeœu upitnih i transakcionih sistema?

Page 27: Uvod u operativne sisteme - mikroknjiga.rs

1.7 PitaƧa i zadaci 27

1.11 U kom sluĆ„aju se koriĆ£Ć±eƧe sistema s deĆ eƧem vremena smatra boĆ im reĆ£eƧemod koriĆ£Ć±eƧa personalnog raĆ„unara, to jest radne stanice za jednog korisnika?

1.12 Koja je razlika izmeœu simetriĆ„nog (SMP) i asimetriĆ„nog multiprocesiraƧa u viĆ£e-procesorskim sistemima?

1.13 Koji je osnovni problem karakteristiƄan za projektovaƧe real-time operativnih si-stema?

1.14 Bazu podataka s prateƱom aplikacijom treba postaviti na Ƅetiri servera. Kako semogu udruƦiti ovi serveri ukoliko je potrebno obezbediti (a) visoku pouzdanost, (b)visoke performanse?

1.15 Koje funkcionalne grupe programa Ć„ine operativni sistem?1.16 ZaĆ£to se u teorijskom modelu operativnog sistema (engl. paper-model OS) sloj

upravƠaƧa datotekama nalazi iznad slojeva upravƠaƧa ulazom i izlazom, i upra-vƠaƧa memorijom?

1.17 Koja je razlika izmeœu monolitnih i hijerarhijskih operativnih sistema?1.18 a. Koja je osnovna karakteristika operativnih sistema s arhitekturom mikrojezgra?

b. ZaĆ£to su ovakvi sistemi pouzdaniji od monolitnih?1.19 Objasnite kako razdvajaƧe korisniĆ„kog i sistemskog reƦima funkcioniĆ£e kao pose-

ban oblik zaĆ£tite sistema. 1.20 Koja od sledeƱih instrukcija ne mora biti privilegovana: (a) postavĆ aƧe vrednosti

tajmera, (b) oƄitavaƧe sistemskog Ƅasovnika, (c) brisaƧe memorije, (d) iskƠu-ƄivaƧe prekida (e) prelazak iz korisniƄkog reƦima u sistemski?

1.21 SledeƱe instrukcije su privilegovane: (a) prelazak u korisniĆ„ki reƦim, (b) prelazak usistemski reƦim, (c) Ć„itaƧe iz zaĆ£tiƱene memorije, (d) upis u zaĆ£tiƱenu memoriju,(e) prihvataƧe instrukcije iz zaĆ£tiƱene memorije, (f) spreĆ„avaƧe prekida koji iza-ziva tajmer, (g) omoguƱavaƧe prekida koji izaziva tajmer. Odaberite minimalniskup instrukcija koje moraju biti privilegovane, tako da se ne naruĆ£i neophodan ste-pen zaĆ£tite sistema.

1.22 Koja je uloga sistemskih poziva?1.23 Koja je uloga sistemskih programa?1.24 Kako virtuelna maĆ£ina odgovara na sistemske pozive?1.25 Kojoj procesorskoj arhitekturi je nameƧen operativni sistem Linux?1.26 a. U kom obliku je raspoloƦiv Linux?

b. Da li je izvorni kƓd operativnog sistema javno dostupan ili nije? c. Da li se Linux moƦe slobodno distribuirati?

1.27 a. ƃta ulazi u sastav jedne distribucije Linuxa?b. Navedite neke od znaƄajnijih distribucija Linux sistema.

1.28 Kakav je operativni sistem Linux sa aspekta broja korisnika koji istovremeno moguupotrebĆ avati sistem i broja procesa koji se mogu istovremeno izvrĆ£avati?