You are on page 1of 23

1. Istorijat operativnih sistema 0. generacija Racunari sa enektromagnetima. Konrad Cuse 1.

generacija 1945 - 1955 Racunari su pravljeni od elektronskih cevi(diode, triode). U jednom racunaru je bilo i do 20 000 cevi. Ovi racunari su se jako zagrevali i cesto nisu mogli usled pregrevanja sastavili nijedan sat rada. Bili su veoma skupi i mogli su ih priustiti samo vojni vrhovi. Ljudi koji su radili na njima su radili sve, od pravljenja do programiranja i odrzavanja. Programiranje su odvijalo tako sto su se ozicavale rupe na kontrolnoj tabli kao na starim telefonskim centralama. Jos uvek nema govora o operativnim sistemu. 2. generacija 1955 1965 Racunari se sada prave od tranzistora. Postali su manji, pouzdaniji i jeftiniji pa su dostupniji mocnim firmama. Ljudi se sad dele na one koji prave i one koji koriste racunare. Racunare koriste sistem operateri, operatori unosa podataka i programeri. Programeri pisu programe u fortanu na papiru. Sa tih papira operateri unosa podataka prepisuju programe u busene kartice. Programeri zatim odnose te busene kartice u predvorje ispred racunara. Sistem operateri izadju iz prostorije u kojoj je glavni racunar i pokupe busene kartice. Zatim u racunar ubace fortan kompajler, koji je takodje na busenim karticama, pa onda program na busenim karticama. Kompajler odradi posao i i rezultate rezultate ili zapamti ili izbaci u obliku busenih kartica koje se dalje mogu koristiti kao ulazni podaci. Razultat se u obliku kartica tada iznese. I dalje ne posttoji operativni sistem. Racunari su i dalje jako skupi i jako puno vremena se gubilo na pripremu obrade. 3. generacija (1965 1980) Racunari se prave od integrisanih kola tj cipova. Sada su jos manji, jeftiniji i pouzdaniji. Postaje podela racunarana poslovne i naucne. Ove racunare je pratio operativni sistem os/360. Ovaj operativni sistem je bio jako glomazan i prepun gresaka (10 000 u svakom trenutku). Ipak, je bio prilicno stabilan (Sto u ovom kontekstu podrazumeva da se nije blokirao kada je naisao na gresku, nego je nastavio rad sa greskama). Jos jedna mana tadasnjih racunara je gubljenje procesorskog vremena dok traju ulazno izlazne operacije. Kao resenje ovog problema nastaje multiprogramiranje. SPOL (Simultaneous Pheripheral Operation On Line) je jos jedno poboljsanje koje se odnosilo na prebacivanje sadrzaja busenih kartica na disk preko posebnog uredjaja. Ovim se gubi potreba za racunarom koji je ranije obavljao tu funkciju i ne gubi se vreme na premestanje magnetnih traka. Time sharing podela vremena. Do tada se vrsila paketna obrada. Nova ideja je bila da ispred svakog korisnika postoji tastatura i monitor (terminal) koji su prikljuceni na glavni racunar i da korisnik ima osecaj da

Page 1 of 23

sam radi na racunaru. Svaki korisnik bi pokrenuo svoj program a operativni sistem bi dodeljivao kontrolu jednom na osnovu dva kriterijuma: - cekanje zbog ulazno izlaznih operacija; - istek dozvoljenog vremena neaktivnost. 4. generacija 1980- generacija personalnih racunara Karakterise je sve veca integracija. PDP racunari su sve manji, jeftiniji, pouzdaniji. Na kraju su mogli stati na sto. Nastaju Commodore (PET); Spectrum 4 (koji nije imao operativni sistem ali je imao ugradjen Basic koji je sve radio); Spectrum 48; Commodore 64, 128; Apple 1, 11, 111... Vremenom se dolazi do IBM PC i Macintosh (iz Apple-a). Sto se operativnih sistema za PC-je tice, bitka se vodila izmedju CP/M-a i MS-DOSa. U to vreme, CP/M je vec imao mogucnost izvrsavanja vise programa u isto vreme ali su njegovi predstavnici zakasnili na sastanak i IBM je izabrao MS-DOS za operativni sistem. Nakon DOS-a pojavljuju se razne verzije Windows-a koje do verzije Win95 i WinNT ne predstavljaju operativni sistem. Pored klasicnih operativnih sistema iz trece generacije postoje dve nove vrste: distribuirani ili mrezni, koji su najstali kao posledica sustinskog momenta povezivanja racunara u lokalne/globalne mreze. Korisnici racunara u ovoj generaciji su mnogobrojni. Sve vise korisnika nije kompjuterski obrazovan pa se razvija korisnicki interfejs koji olaksava njihov rad. Korisnicki interfejs dakle prestavlja vezu izmedju korisnika i operativnog sistema. Kao posledica masovnosti javljaju se i programi opsteg tipa sa razvijanim korisnickim interfejsom, npr tekst procesorom. 5. generacija, (nikad nije realizovana po nasoj literaturi, ali po zapadnoj literaturi vec postoji kao posebna generacija) U ovoj generaciji se takodje razvijali i mrezni i distribuirani operativni sistemi. Mreze mogu biti lokalne i globalne a granica izmedju njih je cesto filozofsko pitanje. Mrezni operativni sistem je nadogradnja operativnog sistema koji se vec nalazio na nekom racunaru. Za razlicite operativne sisteme postoje njima odgovarajuce nadogradnje i vazi da su sve te nadogradnje kompaktibilne. Korisnik je svestan da nije sam na mrezi, tj sve stanje razlicitih masina sa kojima stupa u kontakt preko terminala. Ditribuirani oparativni sistema je jedna celina. Korisnik nije svestan postojanja ostalih racnara, iako moze koristiti podatke i izvrsavati programe koji se nalaze mozda i na drugom kontinentu. Operativni sistemi pete generacije, su operativni sistemi mobilnih telefona(npr. Android, Symbian. . .). 2. Fon Nojmanova arhitektura Odnosi se na dizajn racunara koji koristi jedinstvenu strukturu za skladitenje u kojoj cuva i instrukcije i podatke.

Page 2 of 23

-Elementarni fizicki objekat fon Nojmanove masine ( pa i savremenih elektronskih racunara) je elektronska cev (tranzistor). -Moze da bude u 2 diskretna stanja protice struja/ ne protice struja, (regulisanje binarnu cifru 0 ili 1) i naziva se celija. -Celije se u fon Nojmanovoj masini organizuju u nizove fiksne duzine koji se nazivaju registar. svi podaci su predstavljeni u binarnom obliku instrukcije slede jedna za drugom racunar razmenjuje podatke izmedju memorije i aritmeticke jedinice preko

akumulatora 3. Elementi arhitekture raunara Elemente arhitekture raunara ine arhitektura procesora, arhitektura memorije i arhitektura ulazno/izlaznog sistema. Arhitektutu procesora ine: programski dostupni registry tipovi podataka format instrukcija naini adresiranja skup instrukcija mehanizam prekida

Da bi processor izvrio naredbu on najpre treba da je dohvati iz memorije. Potom je potrebno odrediti adresu operanada nad kojima se izvrava operacija. U svakom procesoru postoji vie registara koje se dele na adresibilne registre i registre nedostupne programeru. Dva najvanija interna registra su MAR(MemoryAddressRegister) i MDR(MemoryDataRegister). U svakom procesoru postoji aritmetiko logika jedinica (ALU) koja izvrava sve aritmetike operacije. Komunikacija izmeu memorije i procesora se odvija preko magistrala. Svaka instrukcija ima dva dela. Prvi ini operacioni deo instrukcije, a drugi adresni deo. Page 3 of 23

FALI DEO 4. Karakteristike operativnih sistema [1] Konkurentnost Konkurentnost (engl. concurrency) je postojanje vie simultanih, paralelnih aktivnosti. Primeri su preklapanje U/I operacija i operacija izraunavanja ili koegzistencija vie programa u memoriji. Konkurentnost izaziva probleme pri prelasku s jedne aktivnosti na drugu, probleme zatite jedne aktivnosti od druge i sinhronizacije aktivnosti koje su meusobno zavisne. [2] Deoba resursa Konkurentne aktivnosti mogu da zahtevaju deljenje (engl. sharing) resursa ili informacija. Razlozi za deljenje resursa su viestruki. Pre svega, to je ukupna cena, jer je obezbeivanje dovoljnih resursa za svakog korisnika najee preskupo. Poeljno je nadovezivanje rada jednog korisnika na rad drugog korisnika, deljenje podataka, tj. korienje istih podataka izmeu razliitih programa, i otklanjanje redundanse resursa. [3] Postojanje dugotrajne memorije Potreba za deljenjem programa i podataka implicira potrebu za trajnim skladitenjem podataka s mogunou brzog pristupa (engl. long-term storage). To omoguavaju ureaji velikog kapaciteta, tj. sekundarne memorije, koji su uglavnom magnetni. Pri tome treba reiti sledee probleme: obezbeenje jednostavnog pristupa podacima, zatita od tetnih uticaja bilo kakve vrste (zlonamernih ili nehotinih) i zatita od greaka samog sistema. [4] Nedeterminizam Operativni sistem mora biti deterministiki orijentisan znai, kad izvrava isti program sa istim podacima, mora da daje isti rezultat, bez obzira na to da li e to raditi danas, sutra, ili za mesec dana. Na drugoj strani, operativni sistem mora karakterisati nedeterministiko ponaanje (engl. nondeterminancy), to znai da mora da odgovori na masu zahteva i dogaaja koji se mogu desiti na nepredvidiv nain (zahtevi za resursima, greke u toku izvravanja programa, prekidni signali perifernih ureaja). Operativni sistem ne moe predvideti sve situacije koje mogu nastupiti i mora biti spreman za sve mogue sekvence dogaaja. 5. BIOS BIOS (Basic Input Output System) predstavlja prvi softver koji se pokree prilikom pokretanja raunara. Zaduen je za inicijalizaciju, proveru i upravljanje perifernim ureajima, a pre svega onima sa kojih se moe pokrenuti operativni sistem. BIOS dozvoljava konfiguraciju hardvera. Posebno su bitni parametri koji se odnose na samo boot-ovanje. Boot-ovanje se sastoji od sledeih faza: pokretanje BIOS-a, izvravanje bootloader-a i pokretanje operativnog sistema. Boot-ovanje predstavlja proces inicijalizacije raunara i pokretanja operativnog sistema. BIOS se nalazi na PROM, EPROM ili FLASH memoriji na matinoj ploi. BIOS ima mogunost samoprovere. Moe se koristiti za upravljanje ulazno/izlaznim ureajima, mada moderni operativni sistemi komuniciraju direktno sa hardverom. Page 4 of 23

BIOS je zaduen za nalaenje ureaja koji je pogodan za podizanje sistema i izvravanje bootloader-a sa njegovog boot sektora. 6. Matine ploe Matina ploa je osnovni deo raunara. Ona povezuje procesor, memoriju i ulaznoizlazne ureaje. Ona sadri i ROM memoriju u kojoj se kod PC raunara nalazi BIOS (osnovni programi za rad raunara), kao i upravljake ipove (tzv. kontrolere) koji upravljaju radom periferijskih ureaja (npr. hard diska, CD-ROM-a...). Matina ploa takoe povezuje raunarski sistem sa elektrinim napajanjem. Sa stanovita arhitekture, povezivanje delova mikroraunarskog sistema obavlja se preko tri magistrale (put kojim se kreu signali, podaci, naredbe u raunaru): magistrala podataka - slui za prenos podataka kroz raunar adresna magistrala - magistrala kojom se predaju adrese memorijskih lokacija upravljaka magistrala - magistrala kojom se prenose upravljaki signali Sa razvojem raunara, menjali su se i izgled i fizika konstrukcija matine ploe. Tako nove matine ploe imaju drugaiju arhitekturu, drugaije slotove za povezivanje kartica (npr. grafike karte), spoljne memorije (IDE, SATA), drugaije portove za povezivanje periferijskih ureaja (npr. USB, FireWire...). Konano, matina ploa je ta od koje zavisi radni takt na kome e raditi procesor i memorija, kao i brzina protoka informacija. ipset je skup ipova, odnosno kontrolera iz kojih se sastoji matina ploa. Kod dananjih PC raunara deli se na dva dela: "severni" deo matine ploe (northbridge) - veoma kompleksan i brz kontroler koji povezuje procesor sa memorijom i magistralom "juni" deo matine ploe (southbridge) - kontroler koji povezuje magistralu sa periferijskim ureajima (disketne jedinice, hard diskovi, CD i DVD ROM-ovi, mi, tastatura, USB...). 7. Hard diskovi Beleenje i iitavanje ubeleenih podataka zasnovano je na elektronskom manipulisanju magnetnim promenama na tankim okruglim ploama koje se nalaze unutar tvrdog diska. Savremeni hard-diskovi su veliine manje depne knjige, a u njima se, poreane jedna do druge, nalaze aluminijumske ploe prekrivene velikim brojem sitnih magnetnih zrnaca. Iznad i ispod svake ploe nalazi se "glava" njenog magnetnog pisaa koji moe da slui i kao ita. ita, odnosno pisa, podsea na ruku gramofona, tj. nosa gramofonske igle, ali za razliku od njegovog funkcionisanja, itai tvrdog diska lebde iznad svojih ploa na rastojanju koje je 5 000 puta manje od debljine prosene ljudske dlake. Sa tako malog rastojanja (manjeg od dva stota dela mikrona) vri se itanje stanja magnetnih zrnaca na odgovarajuoj ploi, ili pak pogodno namagnetisavanje odnosno razmagnetisavanje istih zrnaca pomou elektrinih struja koje protiu kroz glavu pisaa/itaa. 8. Opti pregled strukture operativnih sistema Upravljanje osnovnim resursima raunarskog sistema obezbeuje vie funkcionalnih grupa programa namenjenih za: Page 5 of 23

upravljanje procesorom; upravljanje memorijom; upravljanje ulazom i izlazom; upravljanje podacima; upravljanje sekundarnom memorijom; umreavanje; zatitu; korisniki interfejs. Procesor je jedan od najvanijih resursa raunarskog sistema, mada u pojedinimsituacijama neki drugi resursi mogu biti vaniji. Upravljanje procesorom moe se podeliti na dva nivoa: nivo neposredne dodele procesora nekom programu, tj. predaje kontrole nadprocesorom nekom programu; nivo razreavanja prioriteta, tj. odluivanja koji od moguih programa ima najvei prioritet da bi postao proces i da bi u nekom sledeem trenutku dobio kontrolu nad procesorom. Pod upravljanjem memorijom podrazumeva se upravljanje radnom, tj. glavnom memorijom raunara, kojoj centralni procesor pristupa direktno, radi uzimanja instrukcija ili podataka. Na ovom nivou obavljaju se sledee funkcije: realizacija odreene strategije dodeljivanja memorije (redosled dodeljivanja memorije poslovima, statino ili dinamino dodeljivanje, principi dodeljivanja itd.); dodeljivanje memorije (algoritmi izbora poetne lokacije segmenta koji se dodeljuje); sprovoenje odreene strategije oslobaanja memorije (ukrupnjavanje manjih osloboenih delova memorije, oslobaanje delova memorije, redosled obrade zahteva za dodelu memorije). Na nivou upravljanja ureajima realizuju se sledee funkcije: obezbeivanje nezavisnosti ureaja (programi treba da budu nezavisni od tipa ureaja koji se koriste za ulazno-izlazne operacije); obezbeivanje ekasnog rada ureaja (poto U/I operacije predstavljaju esto usko grlo raunarskog sistema, poeljno je da se to ekasnije preklapaju i izoluju od procesora); obezbeivanje jedinstvenog koncepta analize rada svih ureaja raunarskog sistema; realizacija odreene strategije dodeljivanja ureaja (na primer, redosled dodeljivanja ureaja poslovima, nain dodeljivanja ureaja: namenski, s deobom, kao virtuelni itd.); dodeljivanje ureaja (ziko dodeljivanje ureaja, kontrolnih jedinica i kanala poslovima); realizacija odreene strategije oslobaanja ureaja (na primer, ureaj se oslobaa tek kad se posao kojem je dodeljen zavri). Nivo upravljanja podacima treba da obezbedi softverska sredstva za organizovanje podataka i pristupanje podacima na nain koji odgovara korisniku raunarskog

Page 6 of 23

sistema. Koncepcija upravljanja zavisi, pre svega, od vrste podataka i reima njihovog korienja. Na ovom nivou realizuju se sledee funkcije: formiranje i brisanje osnovnih struktura podataka (datoteka); itanje datoteka i upisivanje u datoteke; obezbeivanje uslova za simboliko obraanje datotekama (prema njihovim imenima); zatita podataka od namernog i nenamernog unitavanja (usled otkaza sistema); zatita podataka od neovlaenog pristupa i korienja; deoba datoteka (podataka) izmeu vie poslova (korisnika). 9. Sta je jezgro operativnog sistema? Jezgro (nucleus, core, kernel) Jezgro operativnog sistema je osnovni deo operativnog sistema koji obavlja najosetljivije i najvanije operacije. U hijerarhisjkom (slojevitom) modelu, jezgro je najblie hardveru i predstavlja vezu tj interfejs izmeu hardvera i ostalih slojeva operativnih sistema. To je deo oprativnog sistema koji omoguava programima da na siguran nain pristupe hardveru.Jezgro se uvek nalazi u glavnoj memoriji i bavi se: upravljanjem prekida kreiranjem i unitavanjem procesa zamenom jednog procesa drugim rasporeivanjem procesa sinhronizacijom procesa manipulacijom PCB-a (Process Control Block) ulazom/izlazom sistemom fajlova upravljanjem memorijom (unutranjom) obraunom trokova (uvnaje podataka u statistika o korisnicima i procesima) Jezgro operativnog sistema se naziva Kernel. Kernel kontrolie resurse (upravlja procesima, memorijom, diskom i prua pristup drugom hardveru). Da bi jezgro ostavarilo svoju osnovnu funkciju, neophodno je da sam hardver ispunjava odreene preduslove tj da na nivou hardvera postoje komponente koje omoguuju nadogradnju hardvera jezgrom. U te komponente spadaju: Mehanizam prekida Zatitni mehanizam adresiranja memorije Skup privilegovanih instrukcija asovnik realnog vremena 10. ta je virtuelna maina i koja je njena osnovna funkcija?

Struktura virtuelnih maina je izraena od strane firme IBM na sledei nain: imamo na najniem nivou hardver, iznad hardvera imamo sistem koji se zove monitor virtuelnih maina (virtual machine monitor) i koji obezbeuje niz virtuelnih maina to nisu proirene maine kao operativni sistemi koji pruaju niz proirenih i jednostavnijih operacija za pristup hardveru, ve su tane kopije hardvera ispod Page 7 of 23

monitora virtuelnih maina. Zatim se na te virtuelne maine mogu biti instalirani operativni sistemi koji mogu biti i razliiti. Sistemske pozive korisnikih programa primaju odgovarajui operativni sistemi, a hardverske operacije koje alju ti OS-ovi prema svojim virtuelnim mainama hvata monitor virtuelnih maina i realizuje ih u skladu sa hardverom ispod sebe. Kao primer moemo navesti IBM-ov VM/370.

11.

Prekidi. ta je mehanizam prekida?

Cekanja na dogadjaj ili prekidanje. Kontroleri su u neku ruku osiromaseni procesori koji su sposobni da autonomno izvrsavaju neke zadatke. Svaki kontroler ima dva slabija procesora. Postoje dva nacina upravljanja ulazno/izlaznim uredjajima: Spooling i Prekidi(interapt) Kod spooling-a, program koji se izvrsava na centralnom procesoru u nekim vremenskim intervalima provera stanje spoljih uredjaja intervalima provera stanje spoljnih uredjaja (mis, stampac) i ako postoji neka promena, on je obradi. Program koji se izvrsava na centralnom procesom u nekim vremenskom intervalima proverava stanje spoljasnjih ili spoljnjih uredjaja. Kod upravljanja spojnim uredjajem pomocu prekida, program koji se izvrsava na centranomk procesoru, radi neormalno dok se ne dasi prekid. tada operativni sistem preuzima kontrolu sacuva stanje postojecih procesa, stane stanje tekuceg procesa, onemoguci dalje prekide ili obradi prekide u tabeli prekida u kojoj se nalaze oadrese svih prekida. Vrste prekida: - sistemski prekid - ulazno/izlazni prekidi - greske u programu - greske u hardveru Svi sitemski pozivi se realizuju sistemom prekida. Oni se realizuju tako sto korisnik softverski eksplicitno generise prekid. Pri tome procesor prelazi iz korisnickog u supervizorski nacin rada i u njemu se obradjuju prekidi. PSW (Program Status Word): PSW jw registar(ili skup registara) centralnog procesora koji je usko vezan za prekide, On sadrzi adresu tekuce instrukcije i ostale informacije o tekucem procesoru kao i stanje prekida (omoguceni ili ne) Za svaki prekid pravi se novi PSW. Mehanizam prekida obezbeuje izvrenje upravljakog programa (prekidna rutina) tj prebacivanje kontrole izvravanja s korisnikog na upravljaki program. Najmanje to mehanizam prekida treba da uini jeste da sauva vrednosti programskog brojaa prekinutog programa i pokrene upravljaki program s fiksne lokacije u memoriji. Upravljaki program dalje odreuje izvor prekida i reaguje na odgovarajui nain. Page 8 of 23

12.

Sistemski poziv

Aplikacioni programi komuniciraju sa operativnim sistemom pomou sistemskih poziva (engl. system calls), tj. preko operacija (funkcija) koje denie operativni sistem. Sistemski pozivi se realizuju pomou sistema prekida: korisniki program postavlja parametre sistemskog poziva na odreene memorijske lokacije ili registre procesora, inicira prekid, operativni sistem preuzima kontrolu, uzima parametre, izvri traene radnje, rezultat stavlja na odreene memorijske lokacije ili u registre i vraa kontrolu programu. Sistemske pozive esto podrava i hardver, tj. procesor, na taj nain to razlikuje dva reima rada: korisniki reim (engl. user mode) i sistemski reim (engl. supervisor mode). Korisniki programi mogu raditi iskljuivo u korisnikom reimu rada procesora, sistemski reim rada je predvien za operativni sistem. Ako korisniki program pokua da izvri neku operaciju koja je dozvoljena samo u sistemskom reimu rada, kontrola se predaje operativnom sistemu. Prilikom sistemskih poziva procesor prelazi iz korisni - kog reima rada u sistemski, a vraa se u korisniki reim posle obrade poziva. Sistemski pozivi obezbeuju interfejs izmeu programa koji se izvrava i operativnog sistema. Generalno, realizuju se na asemblerskom jeziku, ali noviji vii programski jezici, poput jezika C i C++, takoe omoguavaju realizaciju sistemskog poziva. Program koji se izvrava moe proslediti parametre operativnom sistemu na tri naina: prosleivanjem parametara u registrima procesora; postavljanjem parametara u memorijskoj tabeli, pri emu se adresa tabele prosleuje u registru procesora; postavljanjem skida(pop). parametara na vrh steka (push), koje operativni sistem

13.

Objasniti pojam procesa

Proces - je u osnovi program u izvrenju. Sastoji se od izvrnog programa, podataka, steka, programskog brojaa, stek pointera, skupa registara i svih ostalih informacija potrebnih za pokretanje programa. Sve informacije o procesima operativni sistem smeta u tabelu procesa koja je niz ili povezana lista struktura, gde se svaka struktura dodeljuje jednom od postojeih procesa. Proces moe kreirati vie drugih procesa koji se nazivaju procesi potomci. Osnovni zadaci slojeva za rukovanje sa procesima su stvaranje i unistavanje procesa.Signal je softverska analogija hardverskog prekida i moe biti generisan razliitim uslovima ili istekom tajmera. Signali se koriste za meuprocesnu komunikaciju. Procesi,osnovna stanja,sinhronizacija Osnova stanja procesa su : izvrsava se (RUN), kada je procesu dodeljen procesor i on izvrsava procese,spreman(READY) kada proces ceka na procesor da ga primi i blokiran (WAIT) kada nisu ispunjeni neophodni preduslovi za obradu podataka.Od prioriteta procesa zavisi kada ce spreman proces da postane aktivan.Podrazumeva se da je aktivan uvek proces sa najvisim prioritetom.Ako postoji nekoliko procesa najviseg prioriteta tada se ravnomerna raspodela procesorskog vremena izmedju aktivnog i spremnog procesa najviseg prioriteta postize ako aktivni proces prepusta procesor spremnom procesu najviseg prioriteta cim istakne unapred odredjeni vremenski interval. Ovaj interval se naziva kvantum. 14. Kakve vrste procesa postoje?

Procesi se dele na teke i lake procese. Za ivravanje nekog procesa potrebno je 4 dela memorije: Page 9 of 23

HEAP, deo memorije koji je rezervisan za dinamike promenljive, tj. za promenljive koje se stvaraju u toku izvravanja programa. Pristupa im se pomuu pokazivaa. Kreira se pomou funkcije ALLOCATE. Oslobaanje se ostvaruje eskplicitno ili pomou GARBAGE COLLECTOR-a. Garbage je automatski mehanizam za oslobaanje memorije. STACK, deo memorije rezervisan za avanje lokalnih promenljivih, parametara procedura,... Veliina mu je promenljiva. Princip rada: nastupi poziv procedure, na stek se guraju parametri, lokalne promenljive i povratna adresa trenutne procedure. Nakon zavrenog posla sa steka se skidaju te informacije. memorija za globalne promenljive memorija za kod procesa

Podela procesa na teke i lake vri se na osnovu toga, kako koriste gore navedene delove memorije: svaki teki proces ima sopstveni memorisjki prostor za kod, globalne promenljive, stek i heap koju ne deli ni sa kim, pristup tim delovima ima samo dati proces. laki procesi (niti) mogu deliti memorijski prostor za kod, globalne promenljive i heap. Stek se ne moe deliti jer ne moemo unapred znati koji proces koristi stek.

Operativni sistem odluuje da li e proces biti teak ili lak. Postoje operativni sistemi koji podravaju samo lake procese (UNIX), samo teke procese (Oberon), obe vrste procesa (Windows). 15. Podela operativnih sistema u odnosu na procese

Operativni sistemi mogu podravati: monotasking (jednoprocesni, monoprogramiranje): u memoriji istovremeno imamo samo jedan program, tj istovremeno se izvrava samo jedan proces multitasking (vieprocesni, multiprogramiranje): u memoriji istovremeno imamo vie program, istovremeno se izvravaju i vie procesa Operativni sistem moe da izvri sledee operacije nad procesima: o o o o o kreiranje procesa unitavanje procesa izrada veza proces proces roditelj promena stanja procesa promena prioriteta procesa.

16. Objasniti pojmove nezavisnih, kompetitivnih i kooperativnih procesa I sami procesi mogu kreirati nove procese. U tom sluaju proces koji kreira novi proces zove se roditelj, a novi proces dete, pa je odnos hijerarhijski (u obliku stabla). Izmeu roditelja i deteta moemo imati dve vrste veze:

Page 10 of 23

proces roditelj kreira novog procesa i eka dok proces dete zavri sa radom proces roditelj kreira novog procesa i nastavljaju sa radom oba procesa (rade paralelno)

U odnosu na meusobnu zavisnost toka izvravanja, procesi se mogu podeliti na: nezavisne procese, ukoliko ne utiu na izvrenje drugih procesa i ako na njegovo izvrenje ne utiu drugi procesi kooperativne procese, oni koji jedni na druge utiu, a to su svi procesi koji dele podatke ili bilo kakve resurse. Kooperativni procesi su: deljenje informacija, ubrzavanje rada, modularnost, pogodnost.

Odnos proces proces roditelj moe se opisati na osnovu naina deljenja resursa i naina izvravanja. Prema deljenju resursa, procesi roditelj i dete mogu se nai u sledeim relacijama: Procesi roditelj i dete dele sve resurse Procesi roditelj i dete dele podskup resursa roditeljskog procesa Procesi i roditelj ne dele resurse

Od resursa, svaki proces za svoj rad najee koristi registre procesora, memorijske sekcije, datoteke i ulazno-izlazne ureaje. Posebno je osetljiv memorijski adresni prostor, za ije se korienje primenjuju sledee tehnike: 17. Proces dete duplicira adresni prostor roditelja Adresni prostor deteta generie se prema programu kojim se taj adresni prostor puni Sinhronizacija procesa

Upravljanje aplikacijama sa vie niti se obavlja pomou objekata za sinhronizaciju. Za sinhronizaciju se koriste sledei objekti: - Dogaaj ( event ) - Kritina sekcija ( critical section ) - Mutex - Semafor ( semaphore ) Win32 API podrava set funkcija koje se mogu koristiti za ekanje sve dok se neki objekat ne oslobodi za korienje . Postoje mnogo vrsta ovakvih objekata na koje se ove funkcije mogu primeniti. Neki od njih su pravi sinhronizacioni objekti, a drugi su objekti za druge namene (fajlovi, U/I kanali, ureaji) koji ne mogu biti u signaliziranom ili nesignaliziranom stanju. Sinhronizacioni objekti koji mogu biti signalizirani su: semafori, event objekti, mutex objekti i objekti kritine sekcije. Semafor Semafor ( semaphore ) je objekat koji se koristi da ogranii broj konkurentnih pristupa do deljenog objekta. Interno se semafor ponaa kao Page 11 of 23

broja. Semafor se nalazi u signaliziranom stanju ako je stanje njegovog internog brojaa vee od nule, a ako je jednako nuli smafor je nesignaliziran. Semafor objekat se kreira funkcijom CreateSemaphore i tada se specificira maksimalni broj pristupa, tj maksimalna vrednost koju moe imati interni broja . Svaki put kada se nit koja eka semafor realizuje, broja semafora se dekrementira za jedan. Broja se moe inkrementirati funkcijom ReleaseSemaphore. Ako je stanje internog brojaa 0 ( nula ) sve koje ekaju na semafor su blokirane. Osnovne operacije nad semaforom su: DOWN - dekrement internog brojaa, indikacija da je nit pristupila zatienom resursu i da on vie nije dostupan UP - inkrement internog brojaa, indikacija da je zatieni resurs ponovo dostupan Prilikom pristupa resursu zatienom pomoi semafora nit mora ekati na semaforov handle, to blokira nit dok se semafor ne signalizira.

count = 0

in itia liz a tio n

R e le a s e S e m a p h o re count = 1 r e s u r s d o s tu p a n U P

re s u rs u u p o tre b i count = 0 D O W N W a it fo r s e m a p h o r e h a n d le

Page 12 of 23

Dogaaj Event se koristi za slanje signala nit da se neki dogaaj desio. To je sinhronizacioni objekat upravljan od strane operativnog sistema, i moe mu se pristupiti iz vie procesa, ako je imenovan. Koristi se kada jedna nit mora ekati da druga nit zavri neki posao, ili kada nit eka da se naznai da se neki dogaaj desio. Event moe biti u dva stanja: - signalizirano - zahtev za ekanje je zadovoljen - nesignalizirano - zahtev za ekanje nije zadovoljen i nit je blokirana Event se obino posle signalizacije odmah vraa u nesignalizovano stanje. Stanje event objekta moe eksplicitno postavljeno na signalizovano ili na nesignalizovano. Kada se event objekat kreira funkcijom CreateEvent specificira se njegovo stanje i njegov tip. Postoje dva tipa event objekata: manual-reset event Mora se resetovati u nesignalizirano stanje funkcijom ResetEvent. Dok je stanje signalizirano, sve niti koje ekaju ili niti koje su specificirale ime objekta u funkciji ekanja mogu se izvriti. auto-reset event Stanje objekta se resetuje u nesignalizirano svaki put kada se izvri nit koja eka na objekat. Ako nema niti koje ekaju, stanje ostaje signalizirano.

n itA

n itB

W a itF o r S in g le O b je c t( h E v e n t) n it je b lo k ir a n a n it je o d b lo k ir a n a S e tE v e n t(h E v e n t)

Stanje event objekta se moe prevesti u signalizirano funkcijom SetEvent. Mutex Mutex je objekat za sinhronizaciju koji dozvoljava samo jednoj niti da pristupi zatienom resursu, niti koja poseduje mutex. Mutex-om upravlja operativni sistem. Mutex se kreira funkcijom CreateMutex koja vraa handle kreiranog mutex-a. Mutex ( mutual exclusion meusobno iskljuivanje ) je nesignalizovan kada je posedovan od neke niti, asignalizovan kada je dostupan. Nit dobija vlasnitvo nad mutex objektom specifikacijom handle-a objekta u funkciji ekanja. Mutex objekat se oslobaa ( signalizira ) funkcijom ReleaseMutex. Page 13 of 23

Sinhronizacioni objekti se mogu koristiti i za meu-procesnu sinhronizaciju. Semafori, event objekti i mutex objekti mogu biti imenovani kada se kreiraju odgovarajuom funkcijom. Drugi proces moe dobiti handle od ovih objekata korienjm funkcija OpenSemaphore, OpenEvent i OpenMutex 18. Kritini segment procesa

Objekat kritine sekcije ( Critical section ) je varijacija mutex objekta. Objekat kritine sekcije moe biti korien samo od strane niti istog procesa, ali on prua mnogo efikasniji mehanizam meusobnog iskljuivanja od mutex-a. Kritinom sekcijom upravlja proces u okviru koga se koristi, a ne operativni sistem. Kritina sekcija se obino koristi da zatiti deo koda koji moe biti korien samo od jedne niti u bilo kom trenutku.

n iti

k r itic n a s e k c ija

Dok je jedna nit u kritinoj sekciji ostale niti su blokirane i ekaju oslobaanje kritine sekcije da bi joj pristupile.

Kritina sekcija je oznaena tipom CRITICAL_SECTION i mora biti inicijalizovana pre upotreba. Mora biti dostupna svim nitima u procesu i zbog toga se definie u globalnom dosegu. Pozivom funkcije EnterCriticalSection nit zadobija vlasnitvo nad objektom kritine sekcije, a vlasnitvo otputa pozivom funkcije LeaveCriticalSection. Ako je objekat kritine sekcije posedovan od strane druge niti kada se poziva funkcija EnterCriticalSection, ova funkcija eka neogranieno dugo sve dok se objekat kritine sekcije ne oslobodi, a ako se poziva TryEnterCriticalSection nit e samo proveriti da li je kritina sekcija slobodna, i ui u nju ako jest, a ako nije nastavie dalje svoje izvravanje. Ne postoji nikakva garancija oko redosleda kojim niti istog prioriteta dobijaju vlasnitvo nad kritinom sekcijom, ali sistem je fer prema svim nitima. 19. Rasporeivanje procesa

Page 14 of 23

Proces u toku svog ivota prolazi kroz nekoliko redova ekanja. Nakon nastanka, proces se ubacuje u red ekanja za poslove (job queue), koji obuhvata sve postojee procese na sistemu. Procesi se mogu nalaziti u raznim stanjima i u raznim lokacijama (u memoriji, disku, delimino u memoriji, delimino na disku). Svi procesi koju su spremni za rad i nalaze se u radnoj memoriji, uvaju se u redu ekanja na procesor, tj u redu ekanja spremnih procesa. Redovi ekanja na procesor po pravilu se realizuju kao povezane liste, formirane od kontrolnih blokova procesa sa definisanim redosledom izvravanja procesa. Redosled se zadaje preko zaglavlja liste (queue header), koje sadri informacije o poetnom i poslednjem kontrolnom bloku u listi, i pokazivaa na sledei kontrolni blok.Operativni sistem uvodi i poseban red ekanja za svaki ulazno-izlazni ureaj (I/O queue). Svaki red ekanja na ureaj sadri povezanu listu kontrolnih blokova procesa koji ureaj zahtevaju.Postoje 2 vrste redova ekanja: Red ekanja na processor Redovi ekanja na ulazno/izlazne ureaje

Novi proces se inicijalno postavlja u red ekanja za spremne procese u kome eka dodelu procesora, nakon ega naputa red i poinje da se izvrava. Proces koji se nalazi u stanju izvravanja moe: Ostati bez procesora kada mu istekne vremenski kvantum Napraviti novi proces i ekati u blokiranom stanju da se novi proces zavri Ostati bez procesora kada se desi prekid Postavi U/I zahtev, nakon ega se prebacuje u red ekanja na ulazno/izlazni ureaj, tj postaje blokiran

Proces se vraa u red ekanja na procesor sve dok se ne zavri, posle ega oslobaa sve zauzete resurse. 20. Niti

Niti (engl. threads), to jest laki procesi (engl. lightweight processes, LWP), predstavljaju osnovne celine za izvravanje koda pod savremenim operativnim sistemima. Niti su programska celina koja treba da obavi jedan posao. Niti (jedna ili vie) pripadaju jednom klasinom, tj. tekom (engl. heavzweight) procesu. U klasinom kontekstu, jedan teak proces ima svoj programski broja i druge procesorske registre, tri memorijske sekcije (kod, podaci i stek) i I/O resurse kao to su datoteke i ureaji. Dobre osobine : Vreme odziva (Responsiveness) Deljenje resursa (Resource Sharing) Ekonominost Bolje iskorienje vieprocesorske arhitekture Niti kao laki procesi i delovi jednog istog procesa, imaju svoje unikatne resurse i zajednike resurse sa ostalim nitima istog procesa. Od unikatnih resursa imaju poseban identifikator niti (engl. thread ID), posebnu vrednost programskog brojaa vrednosti drugih registra procesora, i poseban stek. Sve ostalo (sekcija koda, sekcija

Page 15 of 23

podataka, otvorene datoteke, signali) zajedniki su resursi za sve niti jednog procesa. 21. Objasniti pojam mrtve take ili zastoja. Koji su uslovi nastanka zastoja? Kada dva ili vie procesa meusobno interaguju, mogu doi u pat-poziciju iz koje se ne mogu izvui. Ovakva situacija se naziva mrtva taka (deadlock). Mrtva petlja opisuje situaciju u kojoj je trajno zaustavljena aktivnost medjusobno zavisnih procesa. Pojava mrtve petlje je vezana za zauzimanje resursa. Za pojavu mrtve petlje moraju biti ispunjeni uslovi: zauzimani resursi se koriste u rezimu medjusobne iskljucivosti; resursi se zauzimaju jedan za drugim, tako da proces, nakon zauzimanja izvesnog broja resursa, mora da ceka da zauzme preostale resurse; resurse oslobadjaju samo procesi koji su ih zauzeli; postoji cirkularna medjuzavisnost procesa (prvi proces ceka oslobadjanje resursa koga drzi drugi proces, a on ceka oslobadjanje resursa koga drzi treci proces, i tako redom do poslednjeg procesa iz lanca procesa, koji ceka oslobadjanje resursa koga drzi prvi proces). Zamislimo kompjuter sa tape drajvom i CD-rekorderom. Sad zamislimo dva procesa od kojih svaki treba da napravi CD-ROM od podataka sa trake. Proces 1 zahteva i odobren mu je tape drajv (drajv je ureaj koji omoguuje rotaciju diskova ili traka radi itanja i upisa podataka), a proces zahteva i odobren mu je CD-rekorder. Onda proces 1 zahteva CD-rekorder i biva suspendovan dok ga proces 2 ne vrati. Konano, proces 2 zahteva tape drajv i takoe biva suspendovan jer je drajv u posedu procesa 1. Ovo je situacija iz koje nema izlaza. 22. RAM, ROM memorija

RAM memorija, odnosno memorija slobodnog ili proizvoljnog pristupa je dobila naziv prema nainu na koji joj procesor pristupa - svakoj memorijskoj lokaciji se pristupa ravnopravno, za isto vreme. Da bi se neki program izvrio, mora se uitati u RAM. Danas je uobiajeno da se u RAM memoriju uitavaju i operativni sistem i aplikativni softver. Tu se uobiajeno nalaze i podaci sa kojima radimo na naem raunaru (slike, tekstovi...). Podaci u RAM memoriji ostaju zapisani samo dok postoji elektrino napajanje. Zbog toga se sve to radimo na raunaru gubi pri nestanku struje ili iskljuivanju ukoliko nije bilo snimljeno. Kada se govori o koliini memorije u raunaru, misli se na RAM memoriju. Njena najvanija karakteristika jeste kapacitet, a na drugom mestu brzina. Ipak, brzina rada raunara e prvenstveno zavisiti od koliine RAM memorije. Kapacitet memorije se izraava u bajtovima (odnosno kilobajtima, megabajtima, gigabajtima...). Vie o jedinicama mere moete proitati u poglavlju o predstavljanju podataka na raunaru. Ukoliko memorije nema dovoljno, operativni sistem mora koristiti tzv. virtuelnu memoriju, to znai da se podaci iz RAMa se stalno moraju snimati i uitavati sa medija spoljne memorije (tanije hard diska), to znatno usporava rad raunara. Ukoliko memorije ima dovoljno, postavlja se pitanje njene brzine, koja zavisi od radnog takta matine ploe. Iako je RAM memorija uvek sporija od procesora i kea, ukoliko moe da radi na viem radnom taktu, to moe da doprinese ukupnoj brzini sistema. ROM predstavlja memoriju iji sadraj je trajan i nepromenljiv. ROM se moe samo itati, ne moe menjati ni brisati. ROM sadri najosnovnije programe i podatke neophodne za funkcionisanje raunarskog sistema na najniem nivou. Drugim Page 16 of 23

reima, pre nego to se bilo ta uita u memoriju naeg kunog raunara, programi iz ROM-a su aktivni i oni su ti koji ustvari ine moguim na poetak rada na raunaru. Na PC raunaru je ovaj osnovni sistemski softver poznat kao BIOS(Basic Input/Output System). 23. Virtuelna memorija

Virtuelna memorija je tehnika koja dozvoljava izvravanje procesa iji delovi mogu biti smeeteni na sekundarnim memorijama, tj diskovima. Virtuelna memorija formira apstrakciju u vidu logike memorije, koju ine radna memorija i sekundarna memorija i razdvaja korisniku logiku memoriju od fizike. Koliina raspoloive fizike memorije vie ne ograniava program, pa programeri mogu da piu programe bez korienja tehnike preklapanja (overlay). Pri tome, virtuelna memorija omoguava izvravanje programa veih od same fitike memorije. Koncept virtuelne memorije omoguava smetanje osetno veeg broja procesa u memoriju (konkretno delova procesa), ime se poveavaju iskorienje i propusna mo procesora, a bez poveanja vremena odziva (response time) i vremena izvravanja (turnaround time). Virtuelna memorija omoguava deljenje datoteka i memorije izmeu razliitih procesa na isti nain kao i kod deljenja stranica, to omoguava utedu memorije i poboljanje performansi. Koncept virtuelne memorije posebno dolazi do izraaja kod viekorisnikih operativnih sistema, jer kod prenoenja dijelova programa ili podataka u/iz operativne memorije procesor ne mora da eka, vec odmah prelazi na izvravanje drugog posla. Svaka aplikacija ima svoj virtuelni adresni prostor koji operativni sistem preslikava u fiziku memoriju. Veliina virtuelne memorije je ograniena samo veliinom zamjenskog prostora na disku. Jednostavno rjeenje korieno kod prvih Unix sistema je posebna particija diska koja se koristi samo kao zamjenski prostor. Kod takvog rjeenja prostor diska se dijeli na dva glavna dijela: jedan koji se koristi za stranienje i drugi koji se koristi za file sistem. Problem sa ovakvim pristupom je nefleksibilnost. Postoje sljedee osnovne vrste organizacije virtuelne memorije:

segmentna, stranina, segmentno-stranina. 24. ta je unutranja a ta spoljanja fragmentacija (memorije)?

Fragmentacija se odnosi na neiskorienu memoriju koju sistem za upravljanje memorijom ne moe da dodijeli procesima. Postoje dva tipa fragmentacije: interna i eksterna. Interna fragmentacija je dio memorije unutar regiona ili stranice koja je dodjeljena datom procesu i ne koristi se od strane tog procesa. Interna fragmentacija je prouzrokovana razliitom veliinom dodjeljene memorije i programa koji je uitan u taj dio memorije. Taj dio memorije nije raspoloiv za korienje drugim procesima sistema sve dok dati proces ne zavri sa radom ili ne oslobodi dodjeljenu memoriju. Interna fragmentacija ne postoji kod upravljanja memorijom pomou dinamikih particija, kod statikih segmenata i kod dinamikih segmenata. Eksterna fragmentacija je neiskoriena memorija izmeu particija ili segmenata. Ova memorija nije kontinualna, ve se sastoji iz vie manjih dijelova. Eksterna fragmentacija ne postoji kod upravljanja memorijom pomou statikih i pomou Page 17 of 23

dinamikih stranica. Za prevazilaenje problema eksterne fragmentacije koristi se tehnika saimanja ili kompakcije (eng. compaction). Kompakcija se izvrava u tri faze. Prvo se odreuje nova lokacija za svaki blok koji se premjeta. Zatim se auriraju svi pokazivai na taj blok u skladu sa novom lokacijom. U treoj fazi se podaci premjetaju na novu lokaciju. Kod segmentacije program dobija komad memorije koji trazi, npr. prvi trazi 2 MB, drugi 3 MB, treci 1 KB. Kad drugi zavrsi imas rupu u sredini od 3 MB i to je pojava spoljne fragmentacije. Kod pejdzinga se memorija podeli na komade odredjene velicine npr. 4 KB i kad programu treba 1 MB on dobije 256 "stranica" od po 4 KB. Ali ako programu treba 5 KB on ce dobiti 2 stranice. To je unutrasnja fragmentacija. Operativni sistem koji bi podrzavao oba pristupa verovatno ne bi nikako radio, ili bi eventualno radio poput Multix-a, vise bi vremena trosio na sebe nego na korisne stvari. 25. Upravljanje memorijom, swapping, paging

Moemo razlikovati 3 vrste memorije : 1. eksterna memorija (najveeg kapaciteta, najsporiji, najjeftiniji) 2. interna memorija (manjeg kapaciteta, bri, skuplji) 3. ke (cache) memorija (najmanjeg kapaciteta, najbri, najskuplji) Procesor moe izvravati samo procese koji su u internoj memoriji. Kako je operativna memorija relativno malog kapaciteta, dolazimo do sledeih problema: 1. proces je vei multiprogramiranja) od interne memorije memorije da (i kod sve monoprogramiranja spremne procese i kod (kod

2. nemamo dovoljno multiprogramiranja)

uitamo

Deo operativnog sistema koji upravlja korienjem memorije zove se upravlja memorije (memory manager). Njegov zadatak je da vodi rauna o tome, koji delovi memorije su zauzeti, koji delovi su slobodni, da zauzme potrebnu koliinu memorije za nove procese odnosno da oslobodi memoriju zauzetu od strane nekog procesa, i da upravlja prebacivanjem procesa iz interne u eksternu memoriju i obrnuto pri tome mora voditi rauna o tome, da procesi ne tete jedni drugima, a ni operativnom sistemu. U sluaju kada nemamo dovoljno interne memorije, koriste se sledee tehnike: 1. SWAPPING (prebacivanje procesa) ako nemamo dovoljno mesta u operativnoj memoriji za smetanje svih spremnih procesa, neki se izbacuju na disk. Kada je potrebno, celi spremni procesi iz interne memorije se prebacuju na disk, odnosno spremni procesi sa diska se prebacuju u internu memoriju. 2. PAGING (stranienje) delove procesa drimo na disku, uitavaju se po potrebi. Posmatrajmo sada sledei primer: imamo raunar koji radi sa 16-bitnim adresama, to znai da zna adresirati 64KB virtuelne memorije. Pretpostavimo da ovaj raunar ima ukupno 32KB operativne memorije. Znai i pored toga da vidi 64KB, bez virtuelne memorije ne moemo uitati programe veih od 32KB. Neka su Page 18 of 23

virtuelne stranice (pa i okviri stranica) veliine 4KB. Neka imamo neki proces kome treba 64KB virtuelne memorije i imamo sledee preslikavanje virtuelnih stranica u okvire za stranice (X oznaava da data virtualna stranica nije uitana u internu memoriju)

26.

Particije

Sistemi datoteka se skladite na diskovima ili nekom drugom medijumu sekundarne memorije. Svaki disk se moe podijeliti na jednu ili vie particija, kao na slici 1, pri emu na particijama mogu da budu nezavisni sistemi datoteka. Nulti sektor diska se naziva glavni startni slog (eng.Master Boot Record, MBR) i koristi se za startovanje raunara. Tabela particija koja se nalazi na kraju glavnog startnog sloga sadri poetnu i krajnju adresu svake particije i jedna od tih particija je oznaena kao aktivna.

Nakon startovanja raunara BIOS (eng. Basic Input-Output System) ita i izvrava glavni startni slog. Na osnovu informacije u glavnom startnom slogu locira se aktivna particija na disku i uitava se u njen prvi blok koji se naziva boot blok u operativnu memoriju. Program iz boot bloka puni operativni sistem koji se nalazi na aktivnoj particiji. Svaka particija ima boot blok bez obzira da li se na njoj nalazi operativni sistem koji se moe boot-irati ili ne. Osim boot bloka struktura particije diska zavisi od sistema do sistema. Bitan dio particije je i superblok koji sadri kljune parametre o sistemu datoteka kao to su: tip sistema datoteka, veliina sistema datoteka, broj slobodnih blokova u sistemu datoteka i drugi administrativni podaci. Jezgro operativnog sistema odrava superblok u operativnoj memoriji i periodino ga upisuje na disk. S obzirom da superblok sadri kritine podatke neophodne za rad sistema, operativni sistem replikuje sadraj superbloka na disk za sluaj da otkae dio diska na kome je upisan superblok. Pored superbloka u particiji se nalaze podaci o slobodnim i zauzetim blokovima datog sistema datoteka u obliku bitmape ili povezane liste pokazivaa. Takoe, u svakoj particiji se nalaze direktorijumi i datoteke koji pripadaju datom sistemu datoteka. Particije mogu da budu primarne, logike i dodatne. Primarne particije su one sa kojih je mogue podizanje operativnog sistema. Svaki disk mora da ima bar jednu primarnu particiju. Upotrebom vie primarnih particija mogue je instalirati i koristiti vie operativnih sistema na istom disku. Logike particije su particije ija je namjena skladitenje podataka. Sa logikih particija se ne moe podizati operativni sistem. Dodatne particije omoguavaju prevazilaenje ogranienja koje postoji po pitanju maksimalnog broja moguih particija na jednom disku. Dodatna particija moe da sadri vie logikih particija. 27. Sistema datoteka i fajl sistem

Svakom programu je potrebna mogunost da sauva neke informacije neke podatke procesi mogu uvati unutar svog adresnog prostora (promenljive,

Page 19 of 23

konstante). Za neke procese to je dovoljno, za neke je potrebno neko drugo reenje. Nedostaci uvanja podataka u internoj memoriji: mali kapacitet kada proces zavri sa radom, podaci se gube raunar se blokira ili nestane struja podaci se gube esto je potrebno da istim podacima istovremeno pristupi vie procesa

Zbog ovih nedostataka, postoji potreba da se neki podaci uvaju odvojeno od adresnog prostora u eksternoj memoriji u obliku fajlova. Deo operativnog sistema koji je zaduen za rad sa fajlovima zove se fajl sistem (file system). Vodi rauna o strukturi, nainu imenovanja, nainu korienja, o zatiti i o implementaciji itavog fajl sistema. Fajlovi mogu biti obicni fajlovi, direktorijumi i specijalni fajlovi. Obini fajl je niz bajtova. Velicina fajla je jednaka ukupnom broju znakova koje fajl sadrzi. Fajlu se moe pristupiti (itati ili pisati) poev od bilo kog bajta. Podaci unutar fajla nemaju nikakvu strukturu osim one koju sam korisnik definie. U samom fajlu se ne nalaze nikakve informacije o tom fajlu, ve su one u fajl sistemu. Fajl sistem uva sledee informacije o fajlovima: ime fajla, jedinstven broj fajla nazvan inode, velicinu u bajtovima, vreme kreiranja, vreme poslednje izmene, vreme poslednjeg pristupa, pristupne dozvole, vlasnika fajla i grupu kojoj pripada vlasnik fajla. Direktorijumi daju hijerarhijsku organizaciju celog fajl sistema. Direktorijum su obini fajlovi, ali poseduju strukturu. Direktorijum je lista imena fajlova i drugih direktorijuma koji se nalaze u njemu. Kernel ne dozvojava procesima da prepravljaju direktorijume. Specijalni fajlovi se nalaze u /dev direktorijumu i predstavljaju hardverske uredjaje. esto se pod pojmom fajl sistem podrazumeva struktura direktorijuma i fajlova. Razlikujemo nekoliko tipova fajl sistem: - FAT32 bolje organizuje disk prostor i particije mogu biti veliine do 2 TB. - fajl sistem koristi 64 bit-ne adrese i teoretski radi sa particijama do 2 64 bajta. Korienje NTFS tehnologije znai veu sigurnost, tj. zatitu i veu toleranciju (i korekciju) greki. Fajl sistem je smjeten na disku. Mnogi diskovi mogu biti podeljeni na jednu ili ve particija. 28. 29. Skriptovi i sistemski pozivi MS DOS operativni sistem

MS-DOS je bio originalni operativni sistem za IBM-ove PS-a i njihove klonove. Ovaj 16-bitni operativni sistem, sa interfejsom na tekst-osnovi, sada je skoro u potpunosti zamenjen sa GUI operativnim sistemima kao sto je Windows 2000 i Windows XP. MS DOS(Microsoft Disk Operating System) je nastao 1981 godine i ova verzija je bila na disketi i zato je ostao taj naziv.Neki programi OS su u RAM-u a nekki na disku. Vazan je program koji interpretira naredbe OS, koje unosi korisnik, nalazi se na disku i zove COMMAND.COM.Bez njega je rad na racunaru nemoguc.Ako dodje do Page 20 of 23

kvara bilo kojeg tipa, racunar se ponovo startuje sa CTRL+ALT+DEL, tzv.softverski reset racunara. MS DOS je OS razvijen prije Windows OS kod koga korisnik komunicira sa racunarom u grafickom okruzenju.Kod MS DOS-a komande i zahtjev za startovanje programa ispisuju se na komandnoj liniji unosom sa tastature,sto podrazumijeva poznavanje sintakse ovog OS.Bilo kakav drugi tekst MS DOS tretira kao nerazumnjivu poruku i ispisuje na ekranu Bad command or file name. Nakon ukljucenja racunara testira se hardver i ucitava OS .Nakon prelaska u DOS pojavljuje se tzv.prompt C:\> koji oznacava aktivnu jedinicu (C:aktivna jedinica,\oznaka korijenog direktorija,>oznaka kraja odzivnog znaka).Odzivni znak ukazuje da je racunar spreman da izvrsi neku komandu.Iza odzivnog znaka nalazi se kursor.MS DOS dopusta ispisivanje I malih I velikih slova I sve ih tretira kao velika.Pritiskom na Enter po zavrsetku ispisa komande korisnik saopstava racunaru da treba da izvrsi komandu. Podaci se moraju organizovati radi cuvanja I efikasnijeg koristenja.Skup srodnih podataka zove se fajl ili teka.Za svaki fajl se mora uvesti identifikacija.Ona sadrza ime i tip fajla.Ime cini niska od 8 znakova, a tip(ekstenzija) tri znaka.Tip opisuje sadrzaj fajla.Npr.Arj-arhiva,Bat-niz naredbi upravljackog jezika,Com-izvrsni program, Exe- izvrsni program, Sys-sistemski program, Dat-podaci, Dbf-datoteka, Docdokument u Word-u,Xls-dokument u Excel-u, Gif-slika, Txt-tekst. Spisak fajlova je direktorij.Direktorij je prostor u memoriji u kojem se evidentiraju poddirektoriji i fajlovi. 30. 31. 32. VMS operativni system WINDOWS operativni system UNIX operativni sistem

UNIX je jos jedan operativni sistem koji obezbedjuje mnogo sofisciranije karakteristike radne povrsine, ukljucujuci visestruku obradu i rasavanje visestrukih zadataka. UNIX je dragocen za poslovne organizacije zbog toga sto moze biti koriscen na mnogo kompjutera razlicite velicina ( ili razlicitim platformama), moze da podrzi razlicite hardverske uredjaje (npr. stampace, plotere, itd) i ima brojne aplikacije napisane da rade na njemu. 33. LINUX operativni sistem

LINUX je mocna verzija UNIX operqativnog sistema, koja je korisnicima postupno potpno besplatno. On nudi resavanje visestrukih zadataka, menadzment virtuelne memorije i TCP/IP umrezavanje. Linux je bio originalno napisan od strane Linus Tovards na Univerzitetu u Hesinki u Finskoj 1991.g. On je tada objavio izvorni kod svetu (nazvan otvoreni izvrni softver). Od tog vremena, mnogi programeri sirom sveta su radili na Linux-u i pisali softver za njega. Linux je klon Unix-a koji se besplatno moe nabaviti i to u vie distribucija (zbirki razliitih autora). Linux je jedan od retkih sistema koji je doiveo veliki uspeh i popularnost kao alternativa skupim i nedovoljno stabilnim sistemima. Kod Linux-ovog jezgra (kernel) je

Page 21 of 23

dostupan (open source) i izdat pod optom javnom licencom koja se oznaava kao GPL (General Public License). Naziv Linux se odnosi samo na kernel (core) operativnog sistema. Kernel predstavlja softver koji upravlja pristupom korisnikih programa hardverskim i softverskim resursima. Sami programi koji se koriste na linux sistemima su proizvod GNU (GNU is Not Unix) i drugih nezavisnih open source projekata.

Page 22 of 23

34.

Distribuirani operativni sistemi

Distribuirani operativni sistemi upravljaju meusobno povezanim raunarima, koji su prostorno udaljeni. Potrebu za povezivanjem prostorno udaljenih (distribuiranih) raunara namee praksa. S jedne strane, prirodno je da raunari budu na mjestima svojih primjena, na primjer, uz korisnike ili uz delove industrijskih postrojenja, koje opsluuju. Na taj nain raunari mogu biti potpuno posveeni lokalnim poslovima, koji su vezani za mjesta njihove primjene, pa mogu efikasno obavljati ovakve poslove. S druge strane, neophodno je omoguiti saradnju izmeu prostorno udaljenih korisnika, odnosno obezbijediti usaglaeni rad prostorno udaljenih djelova istog industrijskog postrojenja. Za to je potrebno obezbijediti razmjenu podataka izmeu raunara, posveenih pomenutim korisnicima, odnosno posveenih pomenutim djelovima industrijskog postrojenja. Radi toga, ovakvi, prostorno udaljeni raunari se povezuju komunikacionim linijama, koje omoguuju prenos (razmjenu) podataka, organizovanih u poruke. Na ovaj nain nastaje distribuirani raunarski sitem (distributed computer system). Za svaki od raunara, povezanih u distribuirani raunarski sistem, je neophodno da sadre procesor, radnu memoriju i mreni kontroler. Prisustvo masovne memorije i raznih ulaznih i izlaznih ureaja u sastavu ovakvih raunara zavisi od mjesta njihove primjene i, u optem sluaju, nije obavezno, pa zato nema ni potrebe da ih podrava operativni sistem, prisutan na svakom raunaru iz distribuiranog raunarskog sistema. Ovakav operativni sistem se naziva i mikrokernel (microkernel), jer ima smanjenu funkcionalnost u odnosu na obian operativni sistem. Mikrokernel ne sadri sloj za upravljanje fajlovima, jer on nije potreban za svaki od raunara iz distribuiranog raunarskog sistema i jer se on, bez problema, moe prebaciti u korisniki sloj (iznad mikrokernela), predvien za korisnike procese. Sloj za upravljanje procesima se oslanja na sloj za razmjenu poruka, da bi pristupio izvrnoj datoteci (lociranoj na nekom drugom raunaru). Sloj za razmjenu poruka se oslanja na sloj za upravljanje radnom memorijom, radi dinamikog zauzimanja i oslobaanja bafera, namjenjenih za privremeno smjetanje poruka. Sloj za razmjenu poruka nije samo na raspolaganju sloju za upravljanje procesima. On sadri sistemske operacije, koje omoguuju razmjenu poruka, odnosno saradnju izmeu procesa, aktivnih na raznim raunarima (ali i izmeu procesa, aktivnih na istom raunaru). 35. 36. 37. Windwos Mobile i BlackBerry operativni sistem Android, SIMBIAN operativni sistem Sigurnost i zatita operativnih sistema

Page 23 of 23