Operativni Sistemi

You might also like

Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 39

OPERATIVNI SISTEMI

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

hardver ureaj (hardware ) i softver program (software).

Poto hardver ne moe da radi bez softvera, a softver nema smisla bez hardvera jasno je da oni ine raunar. Na primjer, ako zamislimo da je ljudsko bie raunar, onda bi hardver predstavljale elije (tkiva, organi, ...), a misli i ideje bi predstavljali softver. Harderom treba upravljati, tj. na neki nain treba natjerati procesor da sabere dva broja, disk da zapamti odreenu sliku, monitor da prikae podatke kako treba, pointer da prati kretanje mia, tampa da odtampa eljene podatek itd. To je posao softvera ili programa. Dakle, ispravan hardver ne radi ako nema softvera. Tip softvera koji upravlja hardverom zove se sistemski softver (jer upravlja sistemom) ili operativni sistem. Softver ne slui samo da upravlja hardverom nego i za pruanje usluga korisniku (ovjeku). Tako su za razne poslove kreirani razliiti programi. Ako elite da otkucate neki tekst odreeni program vam nudi tu mogunost. Ako elite da kreirate neku sliku koristiete neki drugiprogram. ak i korisnik moe napraviti neki svoj program za neku posebnu cvrhu. Ova vrsta softvera koja prua razne usluge korisnicima tj. ima konkretnu primjenu (application) u svakodnevnom poslu se zove aplikativni softver (primijenjeni ili upotrebni program). Dakle, softver dijelimo na:

sistemski (operativni sistem za upravljanje hardverom) i aplikativni (primjenjivi).

Softver se kreira pomou nekog programskog jezika. Najpoznatiji programski jezici su: Basic, Pascal, Fortran, C, C++, Java, Delphi, VisualBasic itd. Veina dananjih operativnih sistema je kreirana (napisana) u C-u. Operativni sistem (sistemski softver) je skup programa koji upravljaju harverom, podacima i izvravaju naredbe korisnika. Funkcije operativnog sistema su:

upravljanje procesorom (CPU), upravljanje memorijom (RAM), upravljanje I/O ureajima, upravljanje podacima i upravljanje aplikacijama.

Dakle, OS kontrolie i upravlja raunarom uz pomo instrukcija korisnika. Ako bi grafiki prikazali odnos korisnika i raunara onda bi to izgledalo kao na slici 1. Naime, korisnik radi na nekoj aplikaciji (unosi tekst, slua muziku, projektuje, rauna, ...). Aplikacija koristi operativni sistem da bi izvrila obradu podataka na hardveru.

Aplikativni softver ili prosto aplikacije se koriste za izvravanje odreenih poslova na raunaru: obrada teksta, tabelarni prorauni, crtanje, obrada slike, obrada zvuka, komponovanje, kreiranje animacija, uenje, zabava itd. Aplikacije su onaj dio raunara koji krajnji korisnik najvie koristi. Aplikacije koriste operativni sistem da bi pristupile hardveru. Zbog toga se aplikacije kreiraju I prilagoavaju za razne operativne sisteme. Drugm rijeima, aplikacija izraena za Windows obino nee raditi na PC koji koristi Linux OS. Poznate aplikacije koje se svakodnevno koriste su: za unos i obradu teksta, za tabelarnu obradu podataka, za kreiranje prezentacija, za kreiuranje baza podataka, za kreiranje WEB stranica za itanje WEB stranica, za kreiranje i obradu slike, za kreiranje grafika i crtea, za obradu zvuka, itd. Sline aplikacije postoje za sve OS. Ovo su aplikacije opte namjene. Pored njih, postoje aplikacije za posebne namjene (bankarsko poslovanje, evidencija graana, statistika, finansijko poslovanje, itd).

Korisnici kroz aplikacije koriste funkcije raunara (obrada, pamenje i prenos informacija). Da bi aplikacije pravilno funkcionisale treba da su prilagoene operativnom sistemu i da koriste njegove prednosti. Dakle, poznavanje operativnog sistema je neophodan preduslov za kreiranje i koristenje OS. ZADATAK OPERATIVNOG SISTEMA Operativni sistem je program koji objedinjuje u skladnu celinu raznorodne djelove raunara i sakriva od korisnika one detalje funkcionisanja ovih delova koji nisu bitni za korienje raunara.Znai, operativni sistem ima dvostruku ulogu. S jedne strane, on upravlja delovima od kojih se sastoji raunar (procesor, I/O kontroleri, radna memorija), sa ciljem da oni budu to celishodnije upotrebljeni. S druge strane, operativni sistem stvara za krajnjeg korisnika raunara pristupano radno okruenje, tako to pretvara raunar od maine koja rukuje bitima,bajtima I blokovima u masinu koja rukuje datotekama I procesima. Razvoj OS U prvoj generaciji raunarskih sistema operativni sistemi nisu postojali, tako da je operater koji je opsluivao raunarski sistem, bio u obavezi da sve potrebne radnje, prije svega vezane za ulaz i izlaz podataka nekog programa, obavi sam. U drugoj generaciji raunarskih sistema dolazi do nastanka prvih kontrolnih programa koji su pomagali operateru da opsluuje raunarski sistem. Tada su, dakle, prvi put funkcije opsluivanja i upravljanja sistemom podeljene izmeu operatera i kontrolnih programa. Ali ti kontrolni programi nisu bili toliko sofisticirani da bi ih mogli nazvati operativni sistem. U treoj generaciji raunarskih sistema, kontrolno upravljake funkcije se jo vie prebacuju na sam raunar i zbog toga dolazi do nastanka veeg broja kontolnih i upravljakih programa velike kompleksnosti. Skup svih tih programa nazvan je operativni sistem.

Karakteristike savremenih OS 1.Raniji OS (MS DOS, UNIX, VMS, ...) su radili u tzv. tekstualnom modu. To znai da je korisnik kucao tekstualne naredbe koje su uglavnom bile komplikovane. Korienje raunara je bilo dosta nepraktino i teko za uenje. To je bio jedan od razloga zato je malo ljudi tada koristilo raunare. Poznato je da obrada jedne slike trai mnogostruko vie raunarskih resursa od obrade bilo kog teksta. Razvojem hardvera raunari su imali sve bolje performanse i rad sa grafikom je postajao sve laki. To je bio preduslov za pojavu tzv. grafiki orjentisanih operativnih sistema (Windows, Linux, Mac OS). Ovi OS su uveli pojam pokazivaa (pointer) koji se koristi kao kaiprst.

Pomjeranje ovog pointera se obavlja pomou mia. Ovim pointerom se biraju komande ili sliice koje se zatim startuju nekim od tastera mia. Ova grafika veza izmeu korisnika i raunara se naziva GUI (Graphical User Interface). Prednosti pri korienju GUI-a su jednostavnost pri radu, intuitivno i brzo uenje. Korienje GUI-a lii na sporazumijevanje rukama. Dakle, umjesto da se kucaju komplikovane naredbe prosto se prstom pokazuje na njih. To je doporinijelo ogromnom poveanju broja korisnika PC raunara. Danas ne postoji OS koji nema ili ne razvija GUI. 2.Izvrsavanje programa OS puni glavnu memoriju programom i pocinje njegovo izvrsavanje.Korisnicki programi ne mogu da sami sebi dodijele procesor. 3.U\I operacije Sistem mora da komunicira sa diskovima, USB uredjajima, magnetnim trakama i drugim uredjajima niskog nivoa.Korisnik zadaje uredjaj i operaciju koju treba izvrsiti a sistem konvertuje taj zahtjev u specificne komande uredjaja i ili kontrolera.Korisnicki programi ne mogu da pristupe nedjeljivim uredjajima svaki put kada im je to potrebno vec samo kada se ti uredjaji ne koriste od strane nekog drugog uredjaja. 4.Komunikacija Slanje poruka izmedju sistema zahtijeva da se poruke dijele u pakete podataka,salju do mreznog kontrolera, prenose preko komunikacionih medijuma i na mjestu odredista isporuce kao cjelina.Korisnicki programi nisu u mogucnosti da koordiniraju pristupom mrezi vec je to zadatak OS.

5.Upravljanje sistemom datoteka Postoji puno detalja o kojima korisnici ne moraju da vode racuna pri kreiranju datoteke, brisanju, dodjeli memorije...Npr.potrebno je voditi evidenciju o blokovima na disku koji se koriste za datoteke.Brisanje datoteke zahtijeva brisanje informacija o imenu datoteke i oslobadjanje dodijeljenih blokova.Da bi se obezbijedio autorizovan pristup datoteci potrebno je provjeriti zastitu.Korisnicki programi ne mogu da obezbijede zastitu niti dodijele ili oslobode memoriju.

Vrste OS OS mozemo klasifikovati po vise kriterijuma. Po broju procesora OS mogu biti:


Jednoprocesorski Viseprocesorski

Viseprocesorski sistemi predstavljaju mogucnost znacajnog poboljsanja za veliki broj aplikacija koje imaju problem sa procesorom.Kod njih se veliki poslovi dekomponuju na nekoliko manjih poslova koji se

izvrsavaju istovremeno i tako se vrijeme izvrsavanja aplikacija smanjuje. Po broju podrzanih procesora i procesa: Tip OS Monoprogramski Viseprogramski Viseprocesorski Distribuirani Br.procesora 1 1 1 1 Br.procesa 1 1 1 1 Dijeljena memorija Da Ne

Monoprogramski OS su najstariji OS i u datom vremenskom intervalu oni mogu da izvrsavaju samo jedan posao,tj.izvrsavanje drugog posla moze da zapocne tek nakon sto se prvi u potpunosti zavrsi. Viseprogramski OS su projektovani tako da u datom vremenskom intervalu mogu da izvrsavaju viseposlova. Kod njih postoji preklapanje zahtijeva za procesorom i U/I uredjajima od strane vise programa ili korisnika.Tako se postize iskoriscenje procesora a cilj je da procesor uvijek ima sta da radi. Viseprocesorski OS upravljaju radom RS koji ima vise procesora pri cemu svi koriste dijeljenu memoriju.Mogu biti:

Simetricni(svi procesori su jednaki i U/I aktivnost moze da bude uradjena na bilo kom procesoru), Asimetricni(postoji glavni procesor i on uglavnom radi U/I aktivnost i distribuira rad ostalih procesora).

Distribuirani OS su projektovani tako da u datom vremenskom intervalu mogu da izvrsavaju vise poslova na vise procesora koji u opstem slucaji ne koriste dijeljenu memoriju.

Po nainu rada:

Koji podrzavaju paketnu obradu, Koji podrzavaju obradu sa dijeljenjem procesorskog vremena, Koji podrzavaju obradu u realnom vremenu.

Kod paketne obrade se poslovi izvrsavaju onim redom kojim pristizu u red poslova spremnih za izvrsavanje.Koristio se kod uredjaja sa busenim karticama i magnetnim trakama.Nedostatak je da neki kratki poslovi dugo cekaju zavrsetak vec unijetih poslova. Kod OS sa dijeljenim vremenom svakom korisniku se u unaprijed definisanom kvantumu vremena dodijeli procesor.Nakon isteka tog vremena OS oduzima procesor od tog procesa i dodjeljuje ga sljedecem procesoru. Obrada u realnom vremenu je prisutna kod sistema gdje se vrijeme odgovora zahtijeva u strogo definisanim granicama.Ovdje nije dozboljeno prekoracenje dogovorenog vremena odgovora. U upotrebi su najcesce sistemi opste namjene koji koriste vise nacina rada. Jednokorisniki OS-MS DOS 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 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. DATE ispis tekuceg datuma CLS Clear Screen brisanje ekrana TIME ispis tekuceg vremena VER verzija operativnog sistema Shift+PrtSc stampanje teksta na ekran Ctrl+PrtSc sve sa ekrana na stampac Za identifikaciju spoljnih uredjaja koriste se oznake A:,B: disketna jedinica C:,D:, disk Prelazak sa jedne na drugu jedinicu C:\>A: iliA:\>C: Priprema diskete za upotrebu na racunaru vrsi se pomocu naredbe FORMAT, kojom se formatizuje disketa, pri tome se sav prethodni sadrzaj gubi. C:\>format: C:\>format A:\s sluzi za pravljenje sistemske diskete(boot) neophodne za podizanje sistema. 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, Doc-dokument 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.

Pri formatiranju diska otvara se korijeni direktorij, u kome se otvaraju poddirektoriji i tako u dubinu.Tako se dobije struktura u vidu stabla. U svakom direktoriju je spisak poddirektorija i fajlova. Da bismo dosli do nekog fajla moramo reci racunaru gdje se on nalazi.To se naziva put. Put se sastoji od imena svih direktorija kroz koje se mora proci od korijenog do onog u kom je nas fajl.Imena direktorijuma se razdvajaju obrnutim kosim crtama.

Struktura OS

Struktura OS

MONOLITNI SISTEMI Operativni sistem koji koristi ovakvu strukturu (UNIX) je realizovan kao skup procedura (tj. funkcija koje su organizovane po modulima), od kojih svaka moe pozvati svaku ako je to potrebno. Monolitni operativni sistemi nemaju pravilnu strukturu kao slojeviti operativni sistemi, jer se sastoje od modula ija saradnja nije ograniena pravilima kao kod slojevitih operativnih sistema. To znai da se iz svakog od modula monolitnih operativnih sistema mogu slobodno pozivati operacije svih ostalih modula. Ovo je dosad najvie koriena organizacija i moe se sa punim pravo nazvati Velika zbrka. Struktura je takva da uopte nema strukture. to se tie sakrivanja informacija, to ovdje uopte ne postoji, tj. svaka procedura je vidljiva u odnosu na bilo koju drugu proceduru, za razliku od strukture koja sadri module ili pakete, u kojoj je veina informacija sakrivena unutar modula, tako da se samo u odreenim takama mogu pozvati van modula. ak je i u monolitskim sistemima mogue postii malo strukturnosti:

Glavni program koji priziva zahtjevanu uslunu proceduru. Skup uslunih procedura koje izvravaju pozive sistema. Skup korisnikih procedura koje pomau uslunim procedurama.

U ovom modelu, za svaki poziv sistema postoji jedna usluna procedura koja odrauje taj poziv. Na sljedeoj slici je strukturni model monolitnog sistema.

Mogu se uoiti tri nivoa.Na najviem nivou (1) glavni program poziva zahtijevanu uslunu (servisnu) proceduru (2) koja izvrava sistemski poziv.Za svaki sistemski poziv postoji po jedna servisna procedura.Korisnike (utility) procedure koja se nalaze na treem nivou vre neku obradu podataka ili pristup hardveru. Korisnike procedure se pozivaju od strane uslunih procedura.

Struktura OS MIKRO JEZGRO Alternativa strukturi monolitnog operativnog sistema je arhitektura sa mikro jezgrom(microkernel) kao to je prikazano na slici: Kod arhitekture sa mikro jezgrom samo najvanije funkcije OS-a se nalaze u jezgru.Manje vani servisi i aplikacije su van jezgra i izvravaju se u korisnikom reimu rada.Komponente OS izvan mikro jezgra se implementiraju kao server procesi.Ove komponente komuniciraju meusobno tako to alju poruke preko mikro jezgra.Mikro jezgro vri validaciju poruka, prenosi poruke izmeu komponenata i daje komponentama pristup hardveru.Komponente mogu biti drajveri ureaja, server datoteka, server procesa, programi za upravljanje virtuelnom memorijom...Npr.ako aplikacija treba da otvori datoteku tada ona alje poruku serveru datoteka preko mikro jezgra.Svaki od servera moe da poalje poruku drugim serverima i moe da poziva primitivne funkcije unutar mikro jezgra.Tako je ostvarena klijent-server arhitektura unutar jednog raunara. Osnovne prednosti OS sa mikro jezgrom su sljedee:

Dodavanje novog servisa na zahtijeva modifikovanje jezgra OS, Sistem je bezbjedniji jer se vie operacija izvrava u korisnikom reimu rada, Predstavlja podrku distribuiranim sistemima, Predstavlja podrku objektno-orijentisanim OS, Omoguava jednostavnije projektovanje jezgra i pouzdaniji OS. Struktura OS

MODULARNI OS Savremeni OS se moe dekomponovati u module koji obezbijeuju sljedee funkcije:


upravljanje procesima upravljanje memorijom upravljanje U/I ureajima upravljanje datotekama upravljanje mreom.

Na slici je dat prikaz modularnog OS koji sadri sve prethodno navedene module.Postoji nekoliko prednosti modularnih OS:

lake je modifikovati sistem i ispravljati greke jer promjene utiu samo na neke dijelove sistema, informacije se uvaju samo gdje je to potrebno, informacijamma se pristupa samo unutar definisane i ograniene oblasti.

Pojam fajla
Pojam fajla datoteke /FILE/ POJAM FAJLA DATOTEKE (FILE) Za pojam fajla su vezani sadraj i atributi. Sadraj fajla obrazuju korisniki podaci. U atribute fajla spada, na primjer, veliina ili vrijeme njegovog nastanka. Atributi fajla se uvaju u deskriptoru fajla. Datoteke omoguuju korisnicima da organizuju podatke u skladu sa svojim potrebama. OZNAAVANJE DATOTEKA Svaka datoteka posjeduje ime koje bira korisnik. Poeljno je da ime datoteke ukazuje na njen konkretan sadraj, ali i na vrstu njenog sadraja (radi klasifikacije datoteka po njihovom sadraju). Zato su imena datoteka dvodijelna, tako da prvi dio imena datoteke oznaava njen sadraj, a drugi dio oznaava vrstu njenog sadraja, odnosno njen tip. Ova dva dijela imena datoteke obino razdvaja taka. Tako, na primjer: godina1.txt moe da predstavlja ime datoteke, koja sadri podatke o studentima prve godine studija. Na to ukazuje prvi dio imena godina1, dok drugi dio imena txt ove datoteke govori da je datoteka tekstualna (da sadri samo vidljive ASCII znakove). Upravljanje datotekom obuhvata ne samo upravljanje njenim sadrajem, nego i upravljanje njenim imenom. Tako, na primjer, stvaranje datoteke podrazumijeva i zadavanje njenog sadraja, ali i zadavanje njenog imena (to se deava u toku editiranja, kompilacije, kopiranja i slino). Takoe, izmjena datoteke moe da obuhvati ne samo izmjenu njenog sadraja, nego i izmjenu njenog imena (to se deava, na primjer, u editiranju). ORGANIZACIJA DATOTEKA (FILE SYSTEM) Datoteke se grupiu u skupove datoteka. Na primjer, prirodno je da datoteke sa podacima o studentima pojedinih godina studija istog smjera pripadaju jednom skupu datoteka. Skupu datoteka pristaje naziv direktorijum (directory, folder), ako se prihvati gledite da skup datoteka sadri imena svih datoteka koje su obuhvaene pomenutim skupom. Radi razlikovanja direktorijuma, svaki od njih poseduje ime koje bira korisnik. Za direktorijume su dovoljna jednodjelna imena, jer nema potrebe za klasifikacijom direktorijuma (pogotovo ne po njihovom sadraju). Tako, na primjer: Smjer moe da predstavlja ime direktorijuma, koji obuhvata datoteke sa podacima o studentima svih godina studija istog smjera. Razvrstavanjem datoteka u direktorijume nastaje hijerarhijska organizacija datoteka, u kojoj su na viem nivou hijerarhije direktorijumi, a na niem nivou se nalaze datoteke, koje pripadaju pomenutim direktorijumima (odnosno, ija imena su sadrana u ovim direktorijumima). Ovakva hijerarhijska organizacija povlai za sobom i hijerarhijsko oznaavanje datoteka. Hijerarhijsku oznaku ili putanju (path name) datoteke obrazuju ime direktorijuma kome datoteka pripada i ime datoteke. Dijelove putanje obino razdvaja znak / (ili znak \). Tako, na primjer: smjer1/godina1.txt predstavlja putanju datoteke, koja sadri podatke o studentima prve godine studija sa prvog smjera. Hijerarhijska organizacija datoteka ima vie nivoa, kada jedan direktorijum obuhvata, pored datoteka, i druge direktorijume (odnosno sadri, pored imena datoteka, i imena drugih direktorijuma). Obuhvaeni direktorijumi se nalaze na niem nivou hijerarhije. Na primjer, direktorijum fakultet obuhvata direktorijume pojedinih smjera. Na vrhu hijerarhijske organizacije datoteka se nalazi korijenski direktorijum (root). U sluaju vie nivoa u hijerarhijskoj organizaciji datoteka, putanju datoteke obrazuju imena direktorijuma sa svih nivoa hijerarhije (navedena u redosledu od najvieg nivoa na dole), kao i ime datoteke. Na primjer: /fakultet/smjer1/godina1.txt predstavlja putanju datoteke godina1.txt, koja pripada direktorijumu smjer1. Ovaj direktorijum pripada

direktorijumu fakultet, a on pripada korenskom direktorijumu (koji nema imena). Na prethodno opisani nain se obrazuje i putanja direktorijuma. Tako, na primjer: /fakultet/smjer1 predstavlja putanju direktorijuma smjer1, koji pripada direktorijumu fakultet iz korenskog direktorijuma. Hijerarhijska organizacija datoteka dozvoljava da postoje datoteke sa istim imenima (odnosno, da postoje direktorijumi sa istim imenima), pod uslovom da pripadaju raznim direktorijumima. Na primjer, na slici 1 je prikazana hijerarhijska organizacija datoteka, u kojoj se nalaze datoteke sa istim imenima i direktorijumi sa istim imenima. Pojam fajla - Zatita fajlova Fajlovi su namjenjeni za trajno uvanje podataka. Za uspenu upotrebu podataka neophodna je zatita fajlova, koja obezbijeuje da podaci, sadrani u fajlu, nee biti izmjenjeni bez znanja i saglasnosti njihovog vlasnika, odnosno, koja obezbijeuje da podatke, sadrane u fajlu jednog korisnika, bez njegove dozvole drugi korisnici ne mogu da koriste. Podaci, sadrani u fajlu, ostaju neizmjenjeni, ako se onemogui pristup fajlu i radi pisanja (radi izmjene njegovog sadraja). Takoe, podaci, sadrani u datoteci, ne mogu biti korieni, ako se onemogui pristup datoteci, radi itanja (radi preuzimanja njenog sadraja). Na ovaj nain uvedeno pravo pisanja i pravo itanja datoteke omoguuju da se za svakog korisnika jednostavno ustanovi koja vrsta upravljanja datotekom mu je dozvoljena, a koja ne. Tako, korisniku, koji ne posjeduje pravo pisanja datoteke, nisu dozvoljena upravljanja datotekom, koja izazivaju izmjenu njenog sadraja. Ili, korisniku, koji ne posjeduje pravo itanja datoteke, nisu dozvoljena upravljanja datotekom, koja zahtijevaju preuzimanje njenog sadraja. Za izvrne datoteke uskraivanje prava itanja je prestrogo, jer spreava ne samo neovlateno uzimanje tueg izvrnog programa, nego i njegovo izvravanje. Zato je uputno, radi izvrnih datoteka, uvesti posebno pravo izvravanja programa, sadranih u izvrnim datotekama. Zahvaljujui posedovanju ovog prava, korisnik moe da pokrene izvravanje programa, sadranog u izvrnoj datoteci, i onda kada nema pravo njenog itanja. Pravo itanja, pravo pisanja i pravo izvravanja datoteke predstavljaju tri prava pristupa datotekama, na osnovu kojih se za svakog korisnika utvruje koje vrste upravljanja datotekom su mu doputene. Da se za svaku datoteku ne bi evidentirala prava pristupa za svakog korisika pojedinano, uputno je sve korisnike razvrstati u klase i za svaku od njih vezati pomenua prava pristupa. Iskustvo pokazuje da su dovoljne tri klase korisnika. Jednoj pripada vlasnik datoteke, drugoj njegovi saradnici, a treoj ostali korisnici. Nakon razvrstavanja korisnika u tri klase, evidentiranje prava pristupa datotekama omoguuje matrica zatite (protection matrix) koja ima tri kolone (po jedna za svaku klasu korisnika) i onoliko redova koliko ima datoteka. U presjeku svakog reda i svake kolone matrice zatite navode se prava pristupa datoteci iz datog reda za korisnike koji pripadaju klasi iz date kolone. Na slici 2 je prikazan primjer matrice zatite. owner rwx rwx rwrwx group r-x --x -w--other --x --x --r--

file1 file2 file3 file4

Slika 2. Matrica zatite U primjeru matrice zatite sa slike 2 vlasnik (owner) datoteke file1 ima sva prava pristupa, njegovi saradnici (group) nemaju pravo pisanja, a ostali korisnici (other) imaju samo pravo izvravanja (pretpostavka je da je re o izvrnoj datoteci). Ima smisla uskratiti i vlasniku neka prava, na primjer, da ne bi nehotice izmjenio sadraj datoteke file2, ili da ne bi pokuao da izvri datoteku koja nije izvrna (file3).

Primijetite i malu neloginost za file4. Za uspjeh izloenog koncepta zatite datoteka neophodno je onemoguiti neovlateno mijenjanje matrice zatite. Jedino vlasnik datoteke smije da zadaje i mijenja prava pristupa (sebi, svojim saradnicima i ostalim korisnicima). Zato je potrebno znati za svaku datoteku ko je njen vlasnik. Takoe, potrebno je i razlikovanje korisnika, da bi se meu njima mogao prepoznati vlasnik datoteke. To se postie tako to svoju aktivnost svaki korisnik zapoinje svojim predstavljanjem. U toku predstavljanja korisnik predoava svoje ime (username) i navodi dokaz da je on osoba za koju se predstavlja, za ta je, najee, dovoljna lozinka (pasword). Predoeno ime i navedena lozinka se porede sa spiskom imena i (za njih vezanih) lozinki registrovanih korisnika. Predstavljanje je uspeno, ako se u spisku imena i lozinki registrovanih korisnika pronau predoeno ime i navedena lozinka. Predstavljanje korisnika se zasniva na pretpostavci da su njihova imena javna, ali da su im lozinke tajne. Zato je i spisak imena i lozinki registrovanih korisnika tajan, znai, direktno nepristupaan korisnicima. Jedina dva sluaja, u kojima ima smisla dozvoliti korisnicima posredan pristup ovom spisku, su:

radi njihovog predstavljanja i radi izmjene njihove lozinke.

Za predstavljanje korisnika uvodi se posebna operacija, koja omoguuje samo provjeru da li zadani par ime i lozinka postoji u spisku imena i lozinki registrovanih korisnika. Slino, za izmjenu lozinki uvodi se posebna operacija, koja omoguuje samo promenu lozinke onome ko zna postojeu lozinku. Sva druga upravljanja spiskom imena i lozinki registrovanih korisnika (kao to su ubacivanje u ovaj spisak parova imena i lozinki, ili njihovo izbacivanje iz ovog spiska) nalaze se u nadlenosti poverljive osobe, koja se naziva administrator (superuser. root, admin, ...). Zatita datoteka potpuno zavisi od odgovornosti i poverljivosti administratora, odnosno od tanosti pretpostavke da on nee odavati lozinke, niti ih koristiti, radi pristupa korisnikim datotekama. Zbog prirode njegovog posla, administratora ima smisla potpuno izuzeti iz zatite datoteka, s tim da on tada svoje nadlenosti mora vrlo oprezno da koristi. Nakon prepoznavanja korisnika (odnosno, nakon njegovog uspenog predstavljanja), uz pomo matrice zatite mogue je ustanoviti koja prava pristupa korisnik poseduje za svaku datoteku. Da bi se pojednostavila provjera korisnikih prava pristupa, uputno je, umjesto imena korisnika, uvesti njegovu numeriku oznaku. Radi klasifikacije korisnika zgodno je da ovu numeriku oznaku obrazuju dva redna broja. Prvi od njih oznaava grupu kojoj korisnik pripada, a drugi od njih oznaava lana grupe. Podrazumijeva se da su svi korisnici iz iste grupe meusobno saradnici. Prema tome, redni broj grupe i redni broj lana grupe zajedno jednoznano odreuju vlasnika. Saradnici vlasnika su svi korisnici koji imaju isti redni broj grupe kao I vlasnik. U ostale korisnke spadaju svi korisnici iji redni broj grupe je razliit od rednog broja grupe vlasnika. Posebna grupa se rezervie za administratore. Numerika oznaka korisnika pojednostavljuje provjeru njegovog prava pristupa datoteci. Ipak, da se takva provjera ne bi obavljala prilikom svakog pristupa datoteci, umesno je takvu provjeru obaviti samo pre prvog pristupa. Zato se uvodi posebna operacija otvaranja datoteke, koja prethodi svim drugim operacijama (kao to su pisanje ili itanje datoteke). Pomou operacije otvaranja se saoptava i na koji nain korisnik namerava da koristi datoteku. Ako je njegova namera u skladu sa njegovim pravima, otvaranje datoteke je uspeno, a pristup datoteci je dozvoljen, ali samo u granicama iskazanih namera. Pored operacije otvaranja, potrebna je I operacija zatvaranja datoteke, pomou koje korisnik saoptava da zavrava korienje datoteke. Nakon zatvaranja datoteke, pristup datoteci nije dozvoljen do njenog narednog otvaranja. Numerika oznaka vlasnika datoteke i prava pristupa korisnika iz pojedinih klasa predstavljaju atribute datoteke. Pojam procesa i stanje procesa Imamo hardver, operativni sistem i korisnike programe. Vidjeli smo da je jedan od zadataka OS-a da sakrije hardver od aplikacionih programa, odnosno da obezbijedi laki pristup hardveru. To se ostvaruje preko niza proirenih instrukcija, koji se zovu sistemski pozivi (system calls).

Procesi Procesi predstavljaju jedan od najvanijih koncepata operativnih sistema. Program je niz instrukcija koji ostvaruje neki algoritam. Proces je program u statusu izvravanja, zajedno sa svim resursima koji su potrebni za rad programa. Znai: program je fajl na disku. Kada se taj fajl uita u memoriju i poinje da se izvrava dobijemo proces. Stanja procesa Procesi se nalaze u jednom od sljedeih stanja:

proces se izvrava (RUNNING) - procesor upravo izvrava kod ovog procesa proces je spreman, ali se ne izvrava (READY) - proces je dobio sve potrebne resurse, spreman je za izvravanje, eka procesor proces je blokiran, eka na neto (npr. eka tampa da zavri sa tampanjem BLOCKED) - za dalji rad procesa potrebni su neki resursi, koji trenutno nisu na raspolaganju, eka IO operaciju, rezultat nekog drugog procesa itd.

Imamo 4 prelaska izmeu razliitih stanja: 1. proces prelazi iz stanja IZVR AVANJA u stanje BLOKIRAN kada su mu za dalje izvravanje potrebni neki resursi, koji trenutno nisu dostupni. Ovu promenu stanja vri sam proces: predaje zahtjev za neki resurs, pa eka taj resurs. Npr.: poalje zahtjev skeneru da skenira neku sliku, i eka rezultat skeniranja 2. proces prelazi iz stanja IZVR AVANJA u stanje SPREMAN ako mu istekne dodijeljeno procesorsko vrijeme (time-sharing) tada proces prelazi u listu procesa koji ekaju na procesor 3. proces prelazi iz stanja SPREMAN u stanje IZVR AVANJA kada se procesor oslobodi i moe da izvrava kod posmatranog procesa (izabere se iz liste ekanja po nekom kriterijumu i izvrava se)

4. proces prelazi iz stanja BLOKIRAN u stanje SPREMAN, kada doe do potrebnih resursa i spreman je za dalji rad, ali procesor trenutno nije slobodan, pa prelazi u listu ekanja (npr. skener je zavrio skeniranje, i sad proces moe nastaviti sa radom (spreman je), ali procesor je trenutno zauzet izvravanjem nekog drugog procesa, pa mora da eka u redu ) Suspendovani procesi Kod nekih operativnih sistemima procesi mogu biti i suspendovani (suspended). Na taj nain dobijamo jo dva stanja: 1. proces je suspendovan i spreman (ako je dolo do suspendovanja u stanju spreman) 2. proces je suspendovan i blokiran (ako je dolo do suspendovanja u stanju blokiran). Proces koji je suspendovan, prestaje da se takmii za resurse, oslobaaju se resursi koje je zaouzeo, ali ostaje i dalje proces. Proces koji je u stanju suspendovan i blokiran prelazi u stanje suspendovan i spreman, ako postaje spreman, tj. ako moe da nastavi sa radom (npr. proces poalje zahtev skeneru da skenira sliku, eka da skener zavri sa radom, pa se blokira, u meuvremenu se suspendira, pa postaje suspendovan i blokiran, kada skener zavri skeniranje, proces prelazi iz stanja suspendovan i blokiran u stanje suspendovan i spreman.) Iz stanja suspendovan i blokiran u stanje blokiran i iz stanja suspendovan i spreman u stanje spreman procesi mogu prei samo explicitno, tj. zahtjevom korisnika. Iz stanja spreman u stanje suspendovan i spreman proces prelazi iz nekog od sljedeih razloga :

prevelik broj spremnih procesa procesi se suspendiraju kao zatita od preoptereivanja sistema explicitno suspendiranje procesa od strane korisnika (npr. da bi korisnik mogao provjeriti neke meurezultate izvravanja procesa i nakon toga mogao nastaviti rad bez ponovnog pokretanja cijelog programa.) izbjegavanje zaglavljivanja (dead lock) do zaglavljivanja se dolazi kada dva (ili vie) procesa blokiraju jedan drugi u izvravanju (npr. procesu P1 treba resurs A koji je kod procesa P2, a procesu P2 treba resurs B koji dri P1

- ovi procesi su se zaglavili, jer nijedan od njih ne moe nastaviti sa radom u ovom sluaju jedan od procesa se suspenduje, pa drugi moe da odradi svoj zadatak, pa kada se resursi oslobode i prvi e moi da zavri svoj rad KONKURENTNI PROCESI Nit (thread) je entitet koji se izvrava koristei program i druge resurse od pridruenog procesa. Svaka nit je pridruena nekom procesu. Jednom procesu se moe pridruiti vie niti. Rad sa vie niti (multithreading) se odnosi na mogunost operativnog sistema da podri izvravanje vie niti u okviru jednog procesa. Tradicionalan pristup je izvravanje jedne niti po procesu. Primjeri operativnih sistema sa takvim pristupom su MS-DOS i vie verzija UNIX-a. Veina savremenih operativnih sistema podrava niti. Na primjer, sve novije verzije operativnog sistema Windows i Solaris podravaju rad sa nitima. Takoe, savremeni programski jezici kao to su Ada i Java podravaju niti. Proces je definisan parom <program, procesor>. Paralelno (uporedno, istovremeno, konkurentno) izvravanje vie procesa je mogue samo ako se raunarski sistem sastoji od vie centralnih procesora. Za takav raunarski sistem se kae da je vieprocesorski. Na sistemu sa jednim procesorom mogue je samo

kvaziparalelno izvravanje procesa. U bilo kom trenutku izvrava se samo jedan proces. Primjer kvaziparalelnih procesa R1, R2 i R3 je prikazan na slici dole lijevo. Primjer paralelnih procesa R1, R2 i R3 je dat na slici dole desno. Pretpostavljeno je da sistem ima 3 procesora i da se na svakom od njih izvrava samo po jedan proces. Jedna nit moe da zahtjeva servis neke druge niti. Tada ta nit mora da saeka da se pozvani servis zavri. Potreban je mehanizam sinhronizacije jedne niti sa drugom niti ili sa hardverom. To se moe uraditi pomou signala koji ima znaenje da je pozvani dio posla zavren. Konkurentne niti su niti koje se izvravaju u isto vrijeme. Konkurentne niti mogu da se takmie za ekskluzivno korienje resursa. Niti mogu da postavljaju istovremene zahtjeve za istim resursom ili istim servisom. Operativni sistem mora da obezbijedi interakciju izmeu konkurentnih niti. Kritina sekcija je segment koda ije instrukcije mogu da utiu na druge niti. Kada jedna nit izvrava kritinu sekciju ni jedna druga nit ne smije da izvrava tu istu kritinu sekciju. Tekoe koje nastaju u softverskoj realizaciji algoritama za upravljanje kritinim sekcijama su:

stalno testiranje promjenljivih ili stanja ekanja, to troi procesorsko vrijeme, svi detalji implementacije direktno zavise od programera i mogucnost greke je uvijek prisutna, ne postoji nain da se nametne protokol koji zavisi od kooperacije, programer moe da izostavi neki dio, ovi protokoli su suvie komplikovani.

Problem upravljanja konkurentnim procesima Upravljanje konkurentnim procesima uslonjava operativne sisteme. Za upravljanje konkurentnim procesima potrebno je da:

Metod za dijeljenje vremena mora da bude implementiran tako da omogui svakom od kreiranih procesa da dobije pristup sistemu. Ovaj metod ukljuuje mogunost prekidanja onih procesa koji ne ustupaju procesor dovoljno. Proces i sistemski resursi moraju da imaju zatitu i moraju da budu zatieni meusobno. Veliina memorije koju dati proces moe da koristi mora da bude ograniena za bilo koji proces, kao i operacije koje moe da izvrava na ureajima kao to su diskovi. Sistem ima ugraene mehanizme unutar jezgra za prevenciju potpunog zastoja izmeu procesa. UPRAVLJANJE MEMORIJOM

Upravljanje memorijom je jedna od osnovnih funkcija operativnih sistema. Za izvravanje svakog procesa je potrebna operativna memorija. Savremeni operativni sistemi omoguavaju svakom procesu da dobije vie virtuelne memorije, nego to je ukupna veliina stvarne (fizike) memorije na datom raunarskom sistemu. Glavni cilj kod upravljanja memorijom je da se kombinovanjem velike spore memorije sa malom brzom memorijom ostvari efekat velike brze memorije. Za upravljanje memorijom bitni su programski prevodilac, operativni sistem i hardver. Prvo, programski prevodilac struktuira adresni prostor date aplikacije. Zatim, operativni sistem preslikava strukture programskog prevodioca u hardver. Na kraju, hardver izvrava stvarne pristupe memorijskim lokacijama.

Problem upravljanja memorijom

Najvanije aktivnosti operativnog sistema u dijelu za upravljanje memorijom su: 1) voenje evidencije o tome koji se dijelovi memorije trenutno koriste i ko ih koristi, 2) donoenje odluke o uitavanju procesa u memoriju, odnosno koje procese prebaciti u memoriju kada memorijski prostor postane raspoloiv, 3) dodjela i oslobaanje memorijskog prostora po potrebi. Da bi se jedan program izvrio neophodno je da se u memoriju unesu i njegove instrukcije i podaci, kako bi bili dostupni centralnom procesoru. To ne znai da sve instrukcije i svi podaci moraju da budu u memoriji sve vrijeme tokom izvravanja programa. Mogue je unijeti u memoriju samo jedan dio instrukcija programa sa podacima neophodnim za njihovo izvravanje. Po izvravanju tog dijela programa u memoriju se moe unijeti, u sve lokacije, sljedei niz naredbi sa podacima potrebnim za njihovo izvravanje. U uslovima vieprogramskog rada ovakva mogunost je posebno zanimljiva. Dranjem u memoriji dijelova, a ne cijelih programa, mogue je aktivirati vie programa u jednom vremenskom intervalu ime se poveava stepen vieprogramskog rada, a time i stepen iskorienja ostalih resursa raunara. Naravno, ovakav nain rada zahtijeva dodatne hardverske komponente i poveava sloenost operativnog sistema. Sa stanovita operativnog sistema memorija je podjeljena u dva nivoa. Prvi nivo ini primarna (glavna) memorija u kojoj se nalaze trenutno aktivni dijelovi razliitih programa, dok drugi nivo ini sekundarna (pomona) memorija sa relativno brzim pristupom, na kojoj se uvaju kompletne kopije svih aktivnih programa. Operativni sistem problem upravljanja memorijom svodi na problem vremenske i prostorne raspodjele programa ili dijelova programa izmeu dva nivoa memorije. Drugim rijeima, upravljanje memorijom se sastoji od sljedee tri komponente:

upravljanje unoenjem ("fetch policy") u smislu donoenja odluke o tome kada e se program ili njegovi dijelovi unijeti u memoriju, upravljanje smjetanjem ("placement policy") u smislu donoenja odluke o tome gdje e se program ili njegovi dijelovi smjestiti u memoriji, upravljanje zamjenom ("replacement policy") u smislu donoenja odluke o tome koji e se program ili dijelovi programa izbaciti iz memorije da bi se oslobodio prostor za unoenje drugog programa ili dijelova drugog ili istog programa.

Razliite metode i tehnike upravljanja memorijom koje se primjenjuju u operativnim sistemima razlikuju se upravo po tome kako i na osnovu ega donose neku od navedenih odluka. Na slici 1 su prikazani naini upravljanja memorijom. Dodjela memorije moe da bude kontinualna i diskontinualna. Ako se za dati proces koriste susjedne memorijske lokacije u okviru datog dijela memorije, tada je to kontinualna dodjela memorije. Ukoliko se za dati proces koriste dijelovi memorije kod kojih postoji diskontinuitet u pogledu susjednosti lokacija, tada je to diskontinualna dodjela memorije. Samo upravljanje memorijom moe da bude statiko i dinamiko. Statiko upravljanje memorijom je kada se cio program unosi u memoriju prije izvravanja programa. Dinamiko upravljanje memorijom je kada se veliina memorije odreuje na osnovu veliine programa u trenutku unoenja programa u memoriju ili kada se dijelovi programa mogu unostiti u memoriju u toku izvravanja programa. Prema tome, u optem sluaju postoje sljedei naini upravljanja memorijom: - pomou statikih particija, - pomou dinamikih particija, - pomou statikih stranica, - pomou statikih segmenata,

- pomou dinamikih stranica, - pomou dinamikih segmenata, - pomou dinamikih stranica i segmenata.

Sistem sa vie nivoa


Da bi procesor mogao da ita instrukcije ili izvrava operacije nad podacima potrebno je da te instrukcije, odnosno podaci budu smjeteni unutar fizike (RAM) memorije. Procesor i RAM memorija su povezani pomou magistrale podataka veoma velike brzine. Magistrala podataka najee moe imati irinu 32, 64 ili 128 bita. irina magistrale podataka definie koliinu podataka koja se moe prenijeti u toku jednog ciklusa magistrale. irina magistrale podataka ne definie maksimalnu veliinu programa ili maksimalnu veliinu podataka. To je odreeno irinom adresne magistrale. Adresna magistrala moe da ima bilo koju irinu u zavisnosti od procesora. Memorijski sistem savremenih raunarskih sistema je vie nivoski sistem, kao na slici 2. Prikazana su etiri nivoa: registri, ke memorija, glavna memorija (RAM) i magnetni diskovi. Za svaki nivo prikazan je kapacitet, prosjeno vrijeme pristupa i naziv memorije. Kapacitet i prosjeno vrijeme se stalno poboljavaju. Takoe, na svakom memorijskom nivou postoji kompromis brzine i cijene. Iako brzina prenosa podataka izmeu procesora i RAM memorije moe da bude veoma velika, u mnogim sluajevima izmeu procesora i RAM memorije se koristi ke memorija. Ke memorija je mnogo bra, ali i skuplja. Ona ubrzava rad aplikacija. Iz ugla krajnjeg korisnika ke memorija je nevidljiva. U prosjeku oko 10% ukupne veliine programa se nalazi u glavnoj memoriji, a oko 1% programa se nalazi u ke memoriji. U registrima se nalazi jedna instrukcija i nekoliko podataka.

Na datom raunaru najee postoji vie programa ili procesa koji su aktivni u isto vrijeme i svaki od njih pristupa RAM memoriji. Da bi omoguio razliitim procesima da koegzistiraju na datom raunaru operativni sistem svakoj aplikaciji dodjeljuje virtuelni adresni prostor. Takoe, operativni sistem preslikava virtuelni adresni prostor u fiziki memorijski prostor. U optem sluaju svaki put kada se program uita u glavnu memoriju on e da bude na razliitim memorijskim lokacijama. Odnos izmeu brzine pristupa i cijene kod razliitih nivoa memorije prikazan je na slici 3.

Slika 3. Memorijski sistem kod savremenih raunarskih sistema Program za upravljanje memorijom (eng. memory manager) izvrava dvije osnovne operacije: dodjelu kontinualnog memorijskog prostora i oslobaanje zauzete memorije. Ponekad se koristi i trea operacija pomou koje se moe promijeniti veliina ve dodjeljene memorije, tako to se veliina dodjeljene memorije smanji ili povea.

Virtuelne i fizike adrese


Razlikujemo logiki i fiziki memorijski adresni prostor. Adresa koju generie procesor naziva se logika adresa, dok se adresa kojom se puni memorijski adresni registar naziva fizika adresa. Fizika adresa je adresa operativne memorije. Preslikavanje logikih adresa u fizike je obavezno. Fizike i logike adrese su identine ako se primjene metode vezivanja adresa (eng. address binding methods) u vrijeme prevoenja i punjenja programa. Ako se primjeni vezivanje adresa u vrijeme izvravanja programa fizika i logika adresa su razliite i tada se logika adresa naziva virtuelna adresa. Upravljanje memorijom obuhvata preslikavanje adresa kao to je to prikazano na slici 4. Virtuelna adresa je adresa u programu i nju generie procesor. Fizika adresa je adresa na raunarskom hardveru. Kod savremenih raunara preslikavanje iz virtuelne u fiziku adresu vri poseban hardver koji se naziva jedinica za upravljanje memorijom (eng. Memory Management Unit, MMU). Za ovo preslikavanje adresa se kae i da je to preslikavanje ili translacija iz logike u stvarnu (fiziku) adresu. Hardver alje jedinici za upravljanje memorijom fizike adrese i na taj nain vri adresiranje glavne memorije. Kod veine savremenih mikroraunarskih sistema jedinica za upravljanje memorijom je ugraena u ip procesora. Slika 4. Preslikavanje virtuelne adrese u fiziku pomou posebnog hardvera

U okviru jedinice za upravljanje memorijom nalazi se poseban registar za relociranje adresa. Vrijednost upisana u registar za relociranje se dodaje svakoj virtuelnoj adresi.

Fragmentacija
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 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. Statiki segment i statike stranice

Rad sa particijama
Upravljanje memorijom pomou particija karakterie kontinualna dodjela memorije. Uvoenje particija je jednostavan metod koji omoguava vieprogramski rad, tj. da vie programa koji se izvravaju bude u isto vrijeme u operativnoj memoriji. Memorija se dijeli na kontinualne dijelove koji se nazivaju particije. U zavisnosti od toga kada i kako se particije kreiraju i modifikuju razlikujemo statike i dinamike particije.

Statike particije
Upravljanje memorijom pomou statikih particija je jedan od najosnovnijih naina upravljanja memorijom. Za vieprogramski rad neophodna je dodjela vie particija. Memorija se dijeli u particije fiksne veliine, kao to je to pokazano na slici 1. Particije su fiksirane u vrijeme inicijalizacije sistema i ne mogu se mijenjati u toku izvravanja programa. Svakoj particiji se dodjeljuje po jedan proces. Programi se rasporeuju tako da budu smjeteni u najmanjoj particiji koja je dovoljno velika da prihvati cio program. Izvrni program koji je pripremljen za izvravanje u datoj particiji ne moe da se izvrava u nekoj drugoj particiji bez ponovnog povezivanja (eng. relinking).

Kod ovog naina upravljanja memorijom postoji potreba zatite koda operativnog sistema od moguih promjena od strane korisnikih procesa. Zatita se moe uraditi pomou baznog i graninog registra.

Dinamike particije
Kod upravljanja memorijom pomou dinamikih particija u operativnu memoriju se moe uitati onoliko programa koliko ima slobodne memorije. Particije nisu fiksne veliine, kao to se vidi na slici 2. Veliina particije odgovara veliini programa koji je uitan. Nakon uitavanja programa u particiju, adrese

programa su fiksne, tako da nije mogue premjetanje programa u drugu particiju. Operativni sistem za svaku particiju uva sve bitne podatke kao to su veliina i poetna adresa.

Slika 2. Dodjela particija kod dinamikih particija Za razliku od statikih particija, kod dinamikih particija veliina particija se odreuje prema veliini programa i to u trenutku unoenja programa u memoriju.

Statiki segmenti i statike stranice


U svim do sada navedenim nainima upravljanja memorijom bilo je neophodno da se povezivanje programa obavi statiki, prije unoenja u memoriju i izvravanja, te da se u memoriji dodijeli kontinualan memorijski prostor. Posljedica toga je da su povezani programi relativno veliki i da je prilikom dodjeljivanja memorijskog prostora tim programima bilo neophodno da se u memoriji nae odgovarajui dovoljno veliki slobodan prostor sastavljen od niza kontinualnih adresa. Jedan od problema koji se pri tome javlja je i fragmentacija, a samim tim i slabo iskorienje memorije. Upravljanje memorijom pomou segmenata i stranica karakterie mogunost diskontinualne dodjele memorije. Upravljanje memorijom pomou segmenata je tehnika koja sa jedne strane znatno umanjuje nepovoljne efekte fragmentacije, a sa druge strane ima i neke dodatne prednosti. Osnovna ideja se sastoji u tome da se ne vri statiko povezivanje programa ve se program posmatra kao skup logikih cjelina segmenata, gdje segment moe da bude glavni program, svaka od procedura ili oblast podataka. Sve adrese u okviru jednog segmenta su relativne u odnosu na nulu. Na taj nain, umjesto da program kao kod statikog povezivanja predstavlja jedan, relativno veliki linearan adresni prostor on se sastoji od vie manjih linearnih adresnih prostora. Segmenti se sada mogu smjestiti bilo gdje u memoriji s tim to se u posebnoj tabeli, tabeli segmenata, vode adrese poetnih lokacija u koje su smjeteni pojedinani segmenti, kao to je prikazano na slici 3. Adresni dio naredbi programa sastoji se tada iz dva dijela, odnosno ureenog para (s, d), tako da se korienjem tabele segmenata na nain prikazan na slici moe izraunati adresa lokacije kojoj se pristupa (slika 4). Polazna ideja za upravljanje memorijom pomou segmenata je korisniki pogled na program kao skup glavnog programa, procedura, funkcija ili modula. Upravljanje memorijom pomou segmenata podrazumijeva predstavljanje logikog adresnog prostora kao skupa segmenata. Svaki segment ima svoje ime i duinu. Adrese imaju dva dijela: ime segmenta i pomjeraj unutar segmenta.

Uvodenje segmenata omoguava svakom procesu da bude podjeljen na nekoliko segmenata. Sistem za upravljanje memorijom koji se zasniva na radu sa segmentima popunjava tabelu segmenata. Tabela segmenata sadri baznu i graninu adresu za svaki segment. Dodatna polja ("Read/Write" i "Shared") u tabeli segmenata omoguavaju zatitu i dijeljenje memorije. Kada se kreira novi proces tada se u kontrolni blok procesa upisuje pokaziva na praznu tabelu segmenata. Kako se procesu dodjeljuju segmenti tako se potrebni podaci upisuju u tabelu segmenata. Kada proces zavri sa radom tada se svi dodjeljeni segmenti vraaju dijelu slobodne memorije. Segmentacija prouzrokuje eksternu fragmentaciju i zahtjeva saimanje memorije.

Na slici 4 je prikazano preslikavanje logikih adresa pomou tabele segmenata. Bazna adresa za dati segment S u fizikoj memoriji je oznaena sa b. Duina (veliina) segmenta je l. Pomjeraj unutar segmenta je oznaen sa d. Prednost rada sa segmentima je da kada u memoriji nema dovoljno mjesta za trenutno aktivni proces, tada se iz memorije moe izbaciti samo jedan segment, a ne cio proces. S obzirom da su segmenti razliite duine i kod ovog naina upravljanja memorijom dolazi do fragmentacije, ali su njeni negativni efekti blai od efekata fragmentacije kod dinamikih particija. Posebna prednost segmenata ogleda se u injenici da ovaj nain upravljanja memorijom omoguava da vie razliitih programa koriste iste procedure (segmente), a da se pri tome u memoriji nalazi samo jedna kopija tog segmenta. Za ovakve procedure se kae da su "re-entrant" ili "shared" (tj. da se mogu viekratno pozivati i da ih vie razliitih modula moe istovremeno koristiti). U prethodnom nainu upravljanja memorijom pomou segmenata, vieno je da se program ne mora smjestiti u memoriju u nizu kontinualnih adresa. Drugi nain realizacije iste ideje je pomou stranica. Stranica i strana e da budu u daljem tekstu koriene kao sinonimi. Naime, program se statiki povee tako da se dobija linearan adresni prostor kao i u sluaju upravljanja memorijom pomou particija. Sada se taj adresni prostor dijeli u dijelove (blokove) jednake veliine koji se nazivaju stranicama. Memorijski prostor se istovremeno dijeli u blokove iste veliine koje se obino nazivaju okvirima strana. Prilikom smjetanja u memoriju strane programa se mogu unijeti u bilo koji okvir strane u memoriji, s tim to se u tabeli strana za svaku stranu vodi poetna adresa okvira u koji je ona smjetena. Ovakav nain upravljanja memorijom u potpunosti eleminie pojavu spoljne fragmentacije. Sa druge strane, kako su veliine strana fiksne, a programu se mora dodijeliti cio broj strana, po pravilu jedan dio posljednje strane ostaje neiskorien. Ova pojava se naziva internom fragmentacijom. Imajui u vidu veliinu stranice moe se reci da je efekat interne fragmentacije na iskorienje memorije praktino zanemarljiv. Prije izvravanja bilo kog programa potrebno je da operativni sistem:

odredi broj stranica u programu, rezervie dovoljan broj okvira stranica u operativnoj memoriji, preslika stranice programa u okvire stranica.

Tabela stranica se moe hardverski implementirati na vie naina. Na primjer, jedno rjeenje je da se koristi skup posebnih registara u kojima se uvaju bazne adrese okvira stranica. Drugo mogue rjeenje je da se koristi memorijska tabela stranica sa dodatkom baznog registra za tabelu stranica (eng. Page Table Base Register, PTBR). Bazni registar za tabelu stranica pokazuje na tekuu tabelu stranica. Ostala mogua rjeenja se najee zasnivaju na kombinaciji navedenih rjeenja i tabelama stranica koje su realizovane u vie nivoa. Upravljanje memorijom pomou stranica je veoma efikasan i jednostavan nain upravljanja. U odnosu na segmentiranje, stranienje ima tu prednost da sprijeava pojavu spoljne fragmentacije i omoguava visok stepen iskorienja memorije. Kao i segmentiranje, i stranienje je jedna od tehnika za realizaciju virtuelne memorije. Nedostatak stranienja u odnosu na segmentiranje ogleda se u injenici da kod stranienja logike cjeline poslije povezivanja gube svoj identitet. Upravljanje memorijom pomou statikih stranica smanjuje fragmentaciju i omoguava jednostavniju dodjelu i zamjenu memorijskog prostora. Takoe, rad sa stranicama omoguava dodjelu memorijskog

prostora koji nije kontinualan, odnosno dodjeljen memorijski prostor moe da bude iz vie nesusjednih dijelova fizike memorije. Virtuelna memorija Koncept virtuelne memorije je jedna od najboljih ideja primjenjenih na raunarske sisteme. Glavni razlog za uspjeh ove ideje je da virtuelna memorija radi automatski, tj. bez intervencija programera aplikacija. Osnovna prednost korienja virtuelne memorije je mogunost izvravanja programa koji zahtijeva memorijski prostor vei od fizike (operativne) memorije, raspoloive na datom raunarskom sistemu. Koncept virtuelne memorije stvara utisak korisniku da je njegov program u potpunosti uitan u memoriju i izvren. Prije nastanka koncepta virtuelne memorije programer je morao da vodi rauna da njegov program moe da stane u fiziku memoriju. Osim toga, primjenom virtuelne memorije mogue je dijeljenje raunara izmeu procesa ija je veliina ukupnog adresnog prostora vea od veliine fizike memorije. Program za upravljanje memorijom proiruje RAM memoriju sa rezervisanim dijelom memorijskog prostora na disku. Proireni dio RAM memorije se naziva zamjenski (eng. swap) prostor. Proirenje RAM memorije zamjenskim prostorom ima isti efekat kao instaliranje dodatne RAM memorije. U mnogim sluajevima dovoljno je poveati zamjenski prostor kako bi se izvravali vei programi. Operativni sistem jedino mora da obezbjedi da program i podaci budu raspoloivi u RAM memoriji u trenutku kada su potrebni. Dijelovi programa kojim se ne pristupa esto i dijelovi programa koji se koriste za upravljanje grekama se prenose na zamjenski prostor. Kada bilo koji od tih dijelova zatreba, program za upravljanje memorijom taj dio prenosi u RAM memoriju. 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.

Organizacija sa dinamikim segmentima


Za preslikavanje adresa kod upravljanja memorijom pomou dinamikih segmenata operativni sistem koristi tabelu segmenata kao to je prikazano na slici 1.

Organizacija sa dinamikim stranicama


Operativni sistem preslikava stranice virtuelne memorije u okvire fizike memorije. Stvarni pristup memorijskim lokacijama izvrava hardver koji koristi preslikavanje zadato od strane operativnog sistema.

Za preslikavanje adresa kod upravljanja memorijom pomou dinamikih stranica operativni sistem koristi tabelu stranica kao to je prikazano na slici 2. Tabela stranica je linearan niz iji je indeks broj virtuelne stranice. Virtuelna stranica se preslikava u broj fizikog okvira koji sadri tu stranicu. Tipina tabela stranica, osim adrese okvira, ima sljedee dodatne podatke:

bit koji pokazuje da li se stranica nalazi u operativnoj memoriji, tj. da li je stranici dodijeljen okvir ili ne (valid ili present bit), bit koji pokazuje da li je stranica u operativnoj memoriji modifikovana ili ne (dirty ili modified bit), bit koji pokazuje da li je stranica bila skoro koriena ili ne (referenced ili used bit), dozvola pristupa koja oznaava da li je stranica read-only ili read-write, nekoliko bita namjenjenih za stvarno adresiranje stranice u operativnoj memoriji.

Problem koji nastaje kod korienja tabele stranica je injenica da su za svaki pristup podacima potrebna dva pristupa fizikoj memoriji. Prvi memorijski pristup je pristup tabeli stranica, a drugi stvarnim podacima.

Dinamika segmentno-stranina organizacija


Segmentiranje i stranienje se esto kombinuju kako bi se meusobno poboljali. Segmentirano stranienje je korisno kada tabela stranica postane veoma velika. Velika sekcija susjednih vrsta tabele stranica koje se ne koriste se ne moe zamijeniti sa jednom vrstom u tabeli segmenata koja pokazuje na nultu adresu tabele stranica. Stranienje segmenata donosi poboljanja kada postoje veoma veliki segmenti koji zahtijevaju veliko vrijeme za dodijelu memorijskog prostora. Stranienjem segmenata redukuje se neiskoriena memorija usljed eksterne fragmentacije i pojednostavljuje se dodjela memorije. Zatita memorije Jedan od osnovnih zadataka sistema za upravljanje memorijom je zatita procesa koji dijele memoriju. Vana karakteristika sistema sa stranienjem je da svaki proces moe da pristupi samo onim okvirima koji se pojavljuju u njegovoj tabeli stranica. Zatita memorije se moe implementirati hardverski i softverski. Hardversko rjeenje je preslikavanje adresa (eng. address translation) i ovo rjeenje je opisano u nastavku teksta. Softversko rjeenje moe biti nezavisno (eng. software fault isolation) ili zavisno od programskog jezika (eng. strong typing). Hardverska zatita memorije se moe ostvariti korienjem dva registra koji se zovu: bazni (eng. base) i granini (eng. limit) registar. U baznom registru se nalazi najmanja adresa fizike memorije gdje je dati program smjeten, dok se u graninom registru nalazi veliina opsega memorije unutar koga program moe pristupati, kao to je to prikazano na slici. Prvo se provjerava da li je generisana adresa vea ili jednaka vrijednosti koja se nalazi u baznom registru. Ako je ovaj uslov ispunjen tada se provjerava da li je generisana adresa manja od zbira vrijednosti u baznom i graninom registru. Ako je i ovaj uslov ispunjen dozvoljava se pristup fizikoj memoriji. Ovakvom hardverskom zatitom eleminisana je mogunost da neki korisniki program nakon adresiranja pristupi dijelu memorije koji je izvan njegovog dozvoljenog adresnog prostora. Ako je generisana adresa datog programa van dozvoljenog adresnog prostora tada e doi do sistemske greke, tj. do takozvane fatalne greke.

Jedino operativni sistem moe da napuni bazni i granini registar korienjem specijalne priviliegovane instrukcije. Operativni sistem takoe, sprijeava programe da mijenjaju sadraj ovih registara. Upravljanje uredjajima. Ulazni i izlazni ureaji su veoma vani za efikasno korienje raunarskog sistema. Oni predstavljaju vezu ljudi sa raunarom. Ulazni ureaji prikupljaju podatke iz okoline i prevode ih u oblik pogodan za obradu u raunarskom sistemu. Izlazni ureaji preuzimaju podatke dobijene obradom i prosljeuju ih na dalju obradu ili prikazuju u obliku upotrebljivom za ljude. Raunari rade sa velikim brojem razliitih ureaja. To su: ureaji za memorisanje (npr. diskovi, trake), ureaji za prenos (npr. modemi), ureaji koji omoguuju interfejs sa ljudima (npr. tastatura, monitor, tampa) i drugi specijelizovani ureaji. Svaki od ovih ureaja treba da ima mogunost da poalje ili primi podatke iz raunarskog sistema. Spoljanji ureaji se prikljuuju na raunar preko U/I modula.

U/I moduli
Spoljanji ureaji raunarskog sistema se jo nazivaju i periferni ureaji ili periferali. U veini raunarskih sistema procesor ne kontrolie direktno periferne ureaje, nego su oni prikljueni na ureaj koji se naziva U/I modul. U/I modul komunicira direktno sa procesorom i procesor preko njega obavlja svu potrebnu komunikaciju sa U/I ureajima. Periferni ureaji su znatno sporiji od procesora tako da bi njihova direktna komunikacija sa procesorom i memorijom znatno usporila cio sistem. Osim toga, svaki periferni ureaj radi u skladu sa odreenim pravilima. Nije isplativo ukljuivati u procesor logiku rada velikog broja razliitih perifernih ureaja. Sa jedne strane bi to znatno usporilo operacije procesora, dok bi sa druge strane onemoguilo dodavanje novih tipova U/I ureaja. U/I modul je direktno prikljuen na sistemsku magistralu i obezbjeuje razmjenu informacija sa U/I ureajima i kontrolu njihovog rada na nain koji najmanje utie na performanse raunarskog sistema. Glavne funkcije U/I modula su:

Kontrola i usklaivanje saobraaja. Komunikacija sa procesorom Komunikacija sa ureajima. Prihvatanje podataka. Otkrivanje greaka.

Tehnike izvravanja U/I operacija Programirani U/I


Najjednostavniji nain izvravanja U/I operacija je programirani U/I. Kada procesor izvrava program i naie na zahtjev za U/I operacijom, on odreuje potrebne adrese i alje komandu odgovarajuem U/I modulu. Postoje etiri tipa komandi koje procesor moe da poalje U/I modulu:

Kontrolna komanda koja se koristi za aktiviranje perifernog ureaja i kojom se naznaava akcija koju treba preduzeti. Test komanda kojom se ispituje stanje U/I modula i odgovarajuih perifernih ureaja.

Komanda za itanje izdaje direktivu U/I modulu da proita podatak iz perifernog ureaja i smjesti ga u interni bafer. Komanda za pisanje izdaje direktivu U/I modulu da proita podatak sa magistrale i prenese ga u periferni ureaj.

Prekidima upravljan U/I


Prekidima upravljan U/I se primjenjuje na skoro svim raunarskim sistemima, bez obzira na njihovu veliinu. Izuzetak mogu da budu jedino raunarski sistemi sa vrlo ogranienom funkcijom. Primjer obavljanja U/I operacije sa perifernim ureajem uz korienje prekida je prikazan na slici.

Direktan pristup memoriji


Nedostaci oba prethodno opisana naina izvravanja U/I operacija su to zahijevaju intervenciju procesora pri prenosu podataka izmeu memorije i U/I modula. Prenos podatak se odvija preko procesora i brzina prenosa je ograniena brzinom kojom procesor moe da testira i servisira U/I modul. Pri izvravanju svake U/I operacije procesor mora da izvri veliki broj instrukcija zbog ega ostali programi moraju da ekaju. Ovi nedostaci posebno dolaze do izraaja pri prenosu velikih koliina podataka. U tom sluaju je efiksnije primjeniti tehniku prenosa nazvanu direktan pristup memoriji (eng.Direct memory access, DMA). Direktan pristup memoriji zahtijeva dodatni modul prikljuen na sistemsku magistralu koji se DMA kontroler. DMA kontroler predstavlja specijalizovani procesor koji moe da izvrava programirani U/I. Kada procesor treba da izvri U/I operaciju, on upie DMA kontrolni blok u memoriju. Kontrolni blok sadri adresu ureaja sa koga se vri prenos ili na koji treba upisati podatke. Zatim procesor predaje adresu DMAkontrolnog bloka DMA kontroleru i prelazi na druge poslove. DMA kontroler nastavlja izvravanje operacije i prenosi jedan po jedan bajt radei direktno sa magistralom bez pomoi centralnog procesora. DMA dobija kontrolu nad magistralom samo kada ona nije zauzeta od strane centralnog procesora. Magistrala moe da bude slobodna kada je procesor ne koristi ili kada DMA kontroler zahtijeva od procesora da privremeno suspenduje svoje operacije sa magistralom. Ovakav nain rada DMA kontrolera se naziva kraa ciklusa, jer u sutiniDMA krade cikluse na magistrali od centralnog procesora. Po zavretku operacije, DMA alje prekid procesoru kojim ga obavjetava da je operacija izvrena. Na taj nain, procesoru se alje samo jedan prekid, bez obzira na koliinu prenesenih podataka. Upravljanje datotekama Upravljanje podacima je jedna od osnovnih funkcija operativnih sistema. Korisnici savremenih raunarskih sistema ne moraju da vode rauna o upravljanju podacima, koje je neophodno kod aplikacija koje pristupaju datotekama memorisanim na sekundarnoj memoriji. Dio operativnog sistema koji upravlja podacima naziva se sistem za upravljanje podacima ili sistem za upravljanje datotekama (eng. File Manager). Njegov zadatak je da omogui organizaciju podataka na takav nain da krajnji korisnik moe da im pristupi brzo i lako.

Logiki i fiziki sistem za upravljanje datotekama


Najvanije aktivnosti operativnog sistema u dijelu za upravljanje podacima na sekundarnoj memoriji su: 1) planiranje dodjele sekundarne memorije, 2) dodjela slobodne sekundarne memorije, 3) upravljanje slobodnim memorijskim prostorom na sekundarnoj memoriji. Sistem za upravljanje podacima ima sljedee funkcije:

identifikovanje i lociranje izabranih datoteka, korienje direktorijuma za opisivanje lokacije svih datoteka i njihovih atributa, opis kontrole pristupa korisniku u djeljenom sistemu, rad sa blokovima radi pristupa datotekama.

Sistem za upravljanje podacima upravlja radom sekundarne memorije i moe se dekomponovati na logiki i fiziki sistem za upravljanje podacima. Postoje dva odvojena aspekta sistema za upravljanje podacima: interfejs ka krajnjem korisniku i implementacija. Interfejs obuhvata datoteke i direktorijume, a implementacija fiziku organizaciju podataka. Na slici 1 su prikazane komponente sistema za upravljanje podacima. Zadatak OS je da preslika podatke sa kojima radi krajnji korisnik preko datoteka na fiziki ureaj ili vie fizikih ureaja. Za svaki ureaj koji se povezuje sa datim raunarskim sistemom potreban je poseban program koji se zove drajver ureaja (eng. device driver). Drajver ureaja je ili dio OS ili je raspoloiv operativnom sistemu. Namjenjen je za direktnu komunikaciju sa datim ureajem, kontrolerom ili kanalom. Drajver ureaja je odgovoran pokretanje U/I operacije na ureaju i procesiuranje zavretka zahtjeva za U/I operacijom. Drajver diska pristupa sektorima, stazama, cilindrima, upisno-itajuim glavama diska, nosaima glava i svim drugim mehanikim dijelovima koji obezbjeuju da disk ispravno radi. Kada drajver diska zna koju komandu treba proslijediti disku, on je upisuje u registre kontrolera diska.

Datoteke
Datoteka je imenovani i postojan skup podataka koji je memorisan na nekom memorijskom medijumu, odnosno na nekom perifernom ureaju. Datoteka je logika jedinica memorije koja predstavlja apstrakciju fizikih karakteristika datog memorisjkog ureaja. Za datoteku se moe rei i da je to apstraktni tip podataka koji OS definie i implementira kao niz logikih slogova. Tip podataka podrazumijeva skup vrijednosti koje podatak moe da ima, memorijski prostor potreban za smijetanje podatka, kao i operacije koje mogu da se izvre nad podatkom. Za razliku od podataka koji se nalaze u operativnoj memoriji, podaci u datoteci su postojani, tj. ostaju sauvani i nakon iskljuenja napajanja ili ponovnog ukljuenja sistema. Podaci koji se uvaju u datotekama se mogu izgubiti jedino otkazom ureaja na kojima se datoteke nalaze. Bitne karaktersitike sistema datoteka su: struktura, imenovanje, zatita, fizika organizacija datoteka i naini korienja. Na jednom disku se moe nalaziti vie razliitih sistema datoteka. Upisivanje logike datoteke na momorijski ureaj je jedna od osnovnih funkcija operativnih sistema, tj. glavna funkcija sistema za upravljanje datotekama. U optem sluaju veliina logikog sloga je razliita

od veliine fizikog sloga na ureaju na kome se datoteka skladiti. Datoteka nije uvijek memorisana kao cjelina na jednom mjestu na disku, ve kod realnih sistema sadraj datoteke moe da bude razbacan u vie blokova koji nisu susjedni, odnosno moe doi do fragmentacije podataka. Svaka datoteka ima atribute. Najvaniji atributi datoteke su: ime, veliina, datum i vrijeme posljednjeg auriranja, vlasnik, dozvole, lokacija podataka, itd. Najee komande sistema za upravljanje podacima su:

kreiranje datoteke, itanje i pisanje unutar datoteke, pozicioniranje unutar datoteke radi operacije itanja i pisanja, postavljanje i korienje mehanizma zatite, promjena vlasnitva nad datotekom, listanje datoteka u datom direktorijumu, brisanje datoteke.

Zatita datoteka je vana osobina OS koja omoguava da razliiti korisnici skladite svoje informacije na djeljenom raunaru i da tim informacijama mogu da pristupe samo vlasnici tih podataka i autorizovani korisnici. Vano je i sprijeiti da ne doe do gubljenja podataka. Datoteke ili dijelovi datoteka mogu da budu uniteni na vie naina: hardverske greke, otkazi napajanja, otkazi glava diska, praina, velike temperaturne promjene, velike promjene vlanosti, softverske greke, vandalizam drugih korisnika, prisustvo jakih magnetnih polja, itd.

Direktorijumi
Direktorijum ili katalog je struktura podataka koja sadri listu datoteka i poddirektorijuma. Direktorijum omoguava automatsko voenje evidencije o datotekama i preslikavanje izmeu imena datoteka i samih datoteka. I sam direktorijum je datoteka. Direktorijum je posebna datoteka koja sadri jednu ili vie datoteka. Osnovna razlika u odnosu na korisnike datoteke je da podaci unutar direktorijuma nisu korisniki podaci, ve sistemski podaci o sistemu datoteka. Direktorijum sadri informacije o atributima, lokaciji i vlasniku datoteke. Direktorijumi uspostavljaju logiku organizaciju sistema datoteka koja je nezavisna od organizacije ureaja. Za pristup datotekama koje se nalaze u direktorijumima koriste se sistemski pozivi koji odgovaraju osnovnim operacijama za rad sa datotekama. Datotekama se moe pristupati pomou apsolutne staze i pomou relativne staze. Datoteke na razliitim putanjama mogu imati isto ime. Diskovi mogu da sadre na stotine hiljada ili vie miliona datoteka. Direktorijum obezbjeuje sistematian nain za imenovanje i lociranje tih datoteka. Dio sistema za upravljanje datotekama omoguava administraciju organizacije datoteka koje se mogu nalaziti na vie ureaja ukljuujui ureaj koji se samo povremeno povezuju na dati sistem. Postoji nekoliko naina za izbor strukture podataka kojom se predstavlja sadraj direktorijuma. Jedna mogunost je da direktorijum podrava linearni prostor imena, kao to je prikazano na slici 2.

Druga mogunost je hijerarhijski prostor imena, kao to je prikazano na slici 3. Najjednostavniji oblik hijerarhijskog direktorijuma je struktura podataka u obliku stabla. Na svaki direktorijum sem korijenog direktorijuma i na svaku datoteku pokazuje tano jedan direktorijum. Direktorijumi koji imaju hijerarhijsku strukturu u obliku stabla se esto primjenjuju u razliitim OS. Ovakav nain omoguava da datoteke sa istim imenom mogu da se pojavljuju u razliitim direktorijumima. Trei mogui nain za strukturu podataka koja se koristi kao sadraj direktorijuma je aciklini graf, kao to je pokazano na slici 4. Grafovi u optem sluaju mogu biti ciklini i aciklini. Kod ciklinih grafova postoji zatvorena putanja. Kod aciklinih grafova to nije sluaj. Organizacija sistema datoteka 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.

Organizacija datoteka
Organizacija datoteka oznaava logiku strukturu slogova datoteke na osnovu naina na koji im se pristupa. Kriterijumi koji se koriste kod izbora organizacije datoteke su:

brz pristup podacima, jednostavnost auriranja,

jednostavnost odravanja, pouzdanost.

Operativni sistemi podravaju datoteke koje na implementacionom nivou mogu biti nizovi bajtova, nizovi slogova ili nizovi sloenijih organizacija podataka. Postoji veliki broj organizacija datoteka koje su implementirane ili predloene za implementaciju. Od svih do sada poznatih organizacija datoteka, najee se koriste sljedee:

serijska, sekvencijalna, spregnuta, rasuta ili direktna (heirana), indeks-sekvencijalna, indeksna sa B-stablima, sa vie kljueva.

Serijska organizacija datoteke omoguava da se podaci upisuju redosljedom kojim nastaju. Mogu se upisivati slogovi promjenljive duine i promjenljiv skup polja unutar sloga. Unutar serijske organizacije ne postoji struktura. Razlika izmeu serijske i sekvencijalne organizacije datoteka je u tome to kod sekvencijalne organizacije postoji informacija o vezama izmeu slogova logike strukture datoteke. I kod jedne i kod druge organizacije slogovi se upisuju u susjedne lokacije unutar memorisjkog prostora dodjeljenog datoteci. Svi slogovi su iste duine. Kod spregnute organizacije se koriste pokzivai. Postoje jednostruko, dvostruko i viestruko spregnute datoteke. Za rasutu organizaciju je karakteristino da se adresa lokacije dobija transformacijom vrijednosti identifikatora sloga. Neophodno je da svaki slog ima svoj klju. Indeks-sekvencijalna organizacija datoteke uvodi tri zone: primarnu zonu (ili zonu podataka), zonu indeksa i zonu prekoraenja. Zbog poboljanja performansi indeks-sekvencijalne datoteke se periodino reorganizuju. Ovaj nedostatak je otklonjen kod indeksne organizacije sa B-stablima koja ima primarnu zonu i zonu indeksa. Osnovna karakteristika indeksne organizacije sa B-stablima je da postoji automatska reorganizacija po potrebi. Datoteke sa vie kljueva su najee indeksne datoteke sa B-stablom ili nekom varijantom B-stabla. Za svaki klju postoji po jedna zona indeksa.

Metode pristupa
Da bi se podaci iz datoteke koristili potrebno je da se podacima pristupi i da se nakon toga uitaju u operativnu memoriju raunara. Informacijama u datoteci se moe pristupiti na vie naina. Naini pristupa uskladitenim podacima se zovu metode pristupa. Najjednostavniji metod pristupa je sekvencijalni pristup. Sekvencijalni pristup je zasnovan na modelu datoteke u obliku trake. Kod sekvencijalnog pristupa postoji pokaziva na trenutnu lokaciju unutar datoteke i podaci se procesuiraju slog po slog. Ovakav nain pristupa se koristi kod editora i programskih prevodilaca. Drugi metod je direktan pristup ili relativni pristup. Pretpostavlja se da se u datoteci nalaze logiki slogovi fiksne duine. Direktan pristup je zasnovan na modelu datoteke u obliku diska. Datoteka se moe posmatrati kao numerisan niz blokova ili slogova i zbog toga se slogovima u datoteci moe pristupati brzo i to po proizvoljnom redosljedu. Direktan pristup se koristi kod baza podataka. Postoje i druge metode pristupa koje se zasnivaju na direktnom pristupu, kao to je indeksirani pristup koji se zasniva na primjeni indeksa. Kod indeksiranog pristupa za datu datoteku se kreira indeks. Indeks

sadri pokazivae na blokove datoteke. Kod takvih metoda pristupa prvo se pretrauje indeks, a zatim se na osnovu pokazivaa direktno pristupa eljenom slogu. Performanse pristupa podacima direktno zavise od toga gdje se podaci nalaze. Ke memorija omoguava komponentama raunara, koje imaju razliite brzine rada, da efikasnije kumuniciraju privremenim premjetanjem podataka sa sporijeg ureaja na bri ureaj. Ke memorija je skuplja od ureaja sa kojih se podaci privremeno prebacuju, tako da poveanjem veliine ke memorije cijena sistema raste.

Metode dodjele prostora na disku


Jedan od problema koji se rijeava u okviru sistama za upravljanje datotekama je kako dodijeliti prostor datotekama na disku tako da im se moe brzo pristupiti i da korienje prostora na disku bude to je mogue bolje. Postoji vie moguih metoda za dodjelu prostora. Tri glavne metode za dodjelu prostora na disku su:

dodjela susjednih memorijskih lokacija, dodjela povezanih blokova fiksne veliine, korienje ema sa indeksima.

Metoda dodjele susjednih memorijskih lokacija za skladitenje date datoteke koristi susjedne blokove diska. Dodjela susjednih blokova je jednostavna za realizaciju. Susjednost blokova poboljava performanse. Na taj nain ova implementaciona metoda omoguava brzo i jednostavno izraunavanje adrese bloka u kome se nalaze podaci. Za pristup podacima potreban je samo pomjeraj od poetka datoteke. Mogu je sekvencijalan i direktan pristup podacima. Nedostatak strategije dodjele susjednih memorijskih lokacija jeste eksterna fragmentacija. Metoda dodjele povezanih blokova fiksne veliine omoguava skladitenje svih datoteka tako to se koriste blokovi fiksne veliine. Susjedni blokovi se povezuju u povezanu listu. Osnovna prednost ove implementacione metode je da nema eksterne fragmentacije. Upravljanje memorijom je pojednostavljeno jer su svi blokovi iste veliine. Ne postoji potreba za premjetanjem ili kompakcijom neke datoteke. Blokovi mogu da budu razbacani bilo gdje na disku. Nedostatak moe da bude degradacija performansi kod direktnog pristupa podacima, jer je potrebno slijediti pokazivae od jednog bloka diska do sljedeeg. Metode koje koriste emu sa indeksima svakoj datoteci pridruuju tabelu indeksa. Svaki indeks u tabeli indeksa pokazuje na blokove diska koji sadre stvarne podatke date datoteke. Slog za svaku datoteku unutar direktorijuma sadri broj bloka indeksa i ime datoteke. Za male datoteke neiskorienost bloka indeksa moe da bude velika, jer i u sluajevima kada se mali broj pokazivaa stvarno koristi cio blok indeksa mora da bude dodijeljen.Ovakav nain implementacije sistema datoteka obezbjeuje brz direktan pristup podacima. Udaljeni sistemi datoteka Jedan od resursa koji se moe dijeliti su podaci u obliku datoteka. Nastanak raunarskih mrea je omoguio komunikaciju izmeu udaljenih raunara, a samim tim i dijeljenje datoteka. Internet je pri tome dao svoj poseban doprinos. FTP (File Transfer Protocol) je prvi implementirani metod za dijeljenje datoteka ija je svrha prenos datoteka izmeu razliitih raunara. Drugi znaajan metod je distribuirani sistem datoteka, koji omoguava pristup udaljenim direktorijumima sa lokalnog raunara. Trei znaajan metod je World Wide Web, gdje je za pristup udaljenim datotekama potreban ita ili preglednik (eng. browser), kao to je na primjer Mozilla Firefox, Internet Explorer, Opera, Google Chrome i drugi.

Udaljeni sistemi datoteka (eng. remote file systems) omoguavaju datom raunaru da uini dostupnim jedan ili vie sistema datoteka sa jednog ili vie udaljenih raunara. To je klijent-server model. Raunar na kome se nalaze datoteke je server, a raunar sa koga se pristupa udaljenim datotekama je klijent. Server moe da ima vie klijenata i klijent moe da pristupi datotekama koje se nalaze na vie servera. Kod udaljenih sistema datoteka, a pogotovo na Internetu, veoma je bitno da postoji odgovarajua zatita podataka. Za neke klase aplikacija dovoljno je da klijent uradi autentifikaciju servera, dok za neke druge, kao to su bankarske aplikacije, preko Interneta neophodna je i autentifikacija klijenta od strane servera. Razliiti korisnici mogu da imaju razliite tipove pristupa datoj datoteci ili direktorijumu. Tada server provjerava da li dati korisnik ima pravo pristupa datoteci u zahtjevanom nainu rada. Za autentifikaciju se moe koristiti IP(Internet Protocol) adresa. Meutim, to nije potpuno siguran nain autentifikacije, jer neautorizovan korisnik moe poslati autorizovanu IP adresu i na taj nain da dobije pristup podacima na serveru. Sigurniji naini autentifikacije se realizuje primjenom kriptografije. LDAP (Lightweight Directory-Access Protocol) protokol, poznat kao H.509 standard je implementiran u vie operativnih sistema. To je podskup hijerarhijskog protokola H.500 za distribuirane direktorijume. LDAP je jednostavan za pristup direktorijumima. Omoguava korisnicima da, samo jednim alatom za pretraivanje podataka, pronalaze informacije kao to su korisniko ime, sertifikat o bezbjednosti, adresa elektronske pote, itd. Zatita operativnih sistema Problem zatite postoji kod svih raunarskih sistema, a posebno kod sistema koji su povezani na Internet. Pitanje zatite je postalo jedno od najvanijih pitanja u svakom poslovnom sistemu. Operativni sistem ima znaajnu ulogu u rijeavanju problema zatite. Apsolutna zatita raunarskih sistema se ne moe ostvariti. Osnovni cilj je obezbjediti visok nivo zatite i zato pristup rijeavanju problema zatite mora biti sveobuhvatan sa stalnim razvijanjem novih mehanizama zatite u skladu sa bezbjednosnim problemima koji nastaju. Kod savremenih raunarskih sistema primjenjuje se sistem zatite na vie nivoa, tj. zatita se primjenjuje: 1. na nivou mree, 2. na nivou operativnog sistema, 3. na nivou aplikacije, 4. na nivou baze podataka, 5. kao proceduralna zatita. Osnovna potreba za zatitom u okviru operativnog sistema nastaje zbog djeljenja resursa kao to su memorija, U/I ureaji, programi i podaci. Operativni sistem moe da obezbjedi sljedee naine zatite:

Bez zatite kada se dijelovi koda sa kritinim sekcijama izvravaju u razliito vrijeme; Izolaciju kada se svaki proces izvrava nezavisno od drugih procesa bez dijeljenja resursa i bez meusobne komunikacije. Svaki proces ima svoj adresni prostor, datoteke i druge objekte; Sve je djeljivo ili nema dijeljenja resursa vlasnik objekta deklarie objekat kao javni ili privatni. Ako je objekat javni svako mu moe pristupiti, ako je privatni moe mu pristupiti samo vlasnik; Dijeljenje preko ogranienja pristupa kada operativni sistem obezbjeuje da samo autorizovani korisnik moe da pristupi datom objektu. U ovom sluaju operativni sistem kod svakog pristupa datog korisnika nekom objektu provjerava dozvolu pristupa; Dijeljenje preko dinamikih sposobnosti kada se koncept kontrole pristupa proiruje tako da omogui dinamiko kreiranje prava za dijeljenje objekata;

Ogranieno korienje objekata kada se ograniava ne samo pristup datom objektu, ve operacije koje se mogu vriti nad objektom.

Svaki viekorisniki operativni sistem mora da obezbjedi zatitu od neautorizovanog pristupa jednog korisnika resursima drugog korisnika. Sistem lozinki koji se uglavnom primjenjuje nije potpuno siguran. Korisnici obino biraju lozinke koje se lako pogaaju ili biraju sloenije, ali ih zapisuju i ostavljaju na vidljivim mjestima. Naruavanjem sistema lozinki dolazi se do neautorizovanog pristupa resursima datog sistema.

Zahtjevi sistema zatite savremenih sistema


Kod dananjih sistema koji se zasnivaju na komunikaciji korisnikog procesa i servisa koji obezbjeuju neku vrstu usluge ili obrade podataka postoje sljedei zahtjevi sistema zatite: 1) Meusobna autentikacija, 2) Kontrola pristupa ili autorizacija, 3) Zatiena komunikacija, 4) Neporicanje slanja, odnosno prijema podataka, 5) Ne ponavljanje slanja, 6) Nema odbijanja servisa. Meusobnom autentikacijom se obezbjeuje verifikacija identiteta obe strane koje uestvuju u komunikaciji. Tek nakon zavrene meusobne autentikacije se moe nastaviti dalja komunikacija. Kontrolom pristupa se obezbjeuje da samo autorizovani korisnici mogu pristupiti traenim podacima. U suprotnom, neautorizovani korisnik bi mogao da narui integritet podataka, tako to bi mogao da ih mjenja. Zatiena komunikacija garantuje tajnost podataka koji se prenose preko komunikacionog kanala. Neporicanje ima znaenje da ni jedna strana koja uestvuje u komunikaciji ne moe da porie slanje, odnosno prijem podataka prenijetih u toku procesa komunikacije. Ne ponavljanje slanja obezbjeuje sistem od mogunosti da trea strana kopira cijelu ili neki dio poslate poruke i nakon toga vri ponovo slanje tih istih podataka. Zahtjev da nema odbijanja servisa obezbjeuje da nema degradacije performansi datog sistema i garantovanje legitimnim korisnicima sistema da mogu da koriste potreban servis.

Vrste napada
Dati raunarski sistem ili dio mree moemo posmatrati sa aspekta obezbjeivanja informacije. Uobiajen tok informacija kada zatita sistema nije naruena je od izvora do odredita kao na slici 1. Kada je zatita sistema naruena, tada postoje sljedee mogunosti:

prekid toka informacija, modifikacija informacija, presretanje informacija, fabrikacija informacija (slika 2).

Napadi koji prouzrokuju prekid toka informacija se nazivaju napadi na raspoloivost sistema. Primjeri takvih napada su: prekid komunikacione linije, unitenje neke hardverske komponenete ili nedostupnost datog sistema za upravljanje datotekama. Napadi koji imaju za cilj modifikaciju informacija pripadaju klasi napada na integritet podataka. Primjeri takvih napada su: modifikacija sadraja elektronske pote, modifikacija sadraja date datoteke, modifikacija elektronskih dokumenata koji se prenose preko mree.

Trea vrsta napada su napadi na tajnost ili povjerljivost podataka. Oni su prouzrokovani presretanjem informacija koje se prenose, tako to neautorizovani subjekt dobija pristup tim informacijama. Primjeri takvih napada su: korienje sniffer programa, nedozvoljeno kopiranje datoteka ili programa koji se prenose. etvrta vrsta napada su napadi na autentinost, koji su prouzrokovani fabrikacijom informacija. Nastaju tako to neautorizovani subjekt generie falsifikovane ili lane informacije unutar datog sistema. Primjeri napada na autentinost su: dodavanje sadraja unutar nekog elektronskog dokumenta, generisanje nepostojee elektronske pote ili ponovno slanje pote poslatih u nekom prethodnom periodu. Napadi na raunarske sisteme se mogu takoe klasifikovati u dvije grupe: pasivni i aktivni. Kod pasivnih napada nema promjene podataka, dok kod aktivnih moe biti promjene podataka, generisanje novih podataka, moe se vriti ponovno slanje i moe se primjeniti masovno slanje podataka ime se ugroava raspoloivost napadnutog sistema. Krajnji efekat zlonamjernih programa mogu da budu veoma razliiti ukljuujui i obaranje operativnog sistema. Napade na operativne sisteme od strane zlonamjernih programa moemo podijeliti u nekoliko grupa: virusi, crvi i Trojanski konj. U optem sluaju postoje zlonamjerni programi koji mogu postojati nezavisno od drugih programa, kao i programi koji se instaliraju i izvravaju kao dodatni dijelovi nekih drugih programa. Logika bomba je zlonamjeran program koji se aktivira na neki dogaaj (npr. na neki datum). Trapdoor je nedokumentovani dio koda koji omoguava pristup neeljenim korisnicima. Bakterije su zlonamjerni programi koji se replikuju sve dok ne napune cio disk ili dok ne potroe sve procesorske resurse.

Slika 3. Klasifikacija zlonamjernih programa

Virusi
Raunarski virus je program koji se moe sam reprodukovati tako to dodaje sopstveni kod nekom drugom programu. Razultat izvravanja virusa moe biti ispisivanje neke poruke na ekranu, prikaz slike na ekranu, modifikovanje ili brisanje neke datoteke, poziv nekog telefonskog broja, itd. Drugim rijeima, virus moe uraditi sve to raunarski program moe uraditi. Ciljevi autora virusa su:

brzo irenje virusa, da se virus teko detektuje, da odbrana od virusa bude to komplikovanija.

Tipian virus u toku svog ivotnog ciklusa prolazi kroz sljedee faze:

faza spavanja, faza propagacije, faza trigerovanja, faza izvravanja.

U fazi spavanja virus je besposlen. Iz ove faze virus se moe aktivirati na neki dogaaj, kao to je datum, prisustvom nekog drugog programa ili datoteke, itd. Ova faza nije obavezna za sve viruse. U fazi propagacije se vri kloniranje virusa. Identina kopija virusa se smjeta unutar nekog programa ili datoteke i na taj nain se vri dalje inficiranje. U fazi trigerovanja dolazi do aktiviranja virusa i tada on zapoinje funkciju za koju je i namjenjen. Posljednja faza je faza izvravanja u kojoj virus moe samo ispisati neku poruku na ekranu ili izvriti neku destruktivnu operaciju. Najpoznatiji tipovi virusa su: paraziti, stalno prisutni u operativnoj memoriji, boot sektor, stealth i polimorfni. Paraziti se uvijek nalaze kao dio nekog izvrnog programa. Stalno prisutni virusi u memoriji su obino dio nekog sistemskog programa i inficiraju sve programe koji se izvravaju. Bootsektor virusi inficiraju glavni boot slog (master boot record) i ire se nakon podizanja sistema sa diska. Stealth virusi su posebno projektovani da budu nevidljivi prilikom detekcije od strane antivirusnih softvera. Polimorfni virusi su virusi koji mutiraju prilikom svakog inficiranja, ime ostvaruju da detekcija na osnovu karakteristinog uzorka virusa nije mogua

Crvi
Crv je raunarski program koji kopira samog sebe sa jednog raunara na drugi. Crvi se mogu koristiti za prenoenje virusa ili za zamjenu postojeih datoteka verzijama datoteka koje predstavljaju Trojanske konje. Obino se crvi prenose preko raunarske mree koristei nedostatke operativnih sistema u pogledu zatite. Crvi se brzo replikuju i troe puno memorije na host raunarima. Najee se prenose uz elektronsku potu i uz dodatke elektronskoj poti. Izmeu crva i virusa ne postoji ba uvijek jasna granica. Crvi su dosta slini virusima, ali izmeu njih postoji razlika. Za razliku od virusa, za aktiviranje crva nije potreban korisnik i oni skrivaju svoje irenje na druge raunare. Propagacija crva moe biti mnogo bra od propagacije virusa. Brzina propagacije je proporcionalna broju ranjivih raunara.

Trojanski konj
Trojanski konj je program koji se najee prenosi na ciljni raunar kao nevidljivi dodatak uz neki drugi program, a zatim dolazi do njegovog aktiviranja. Mogu se prenijeti kopiranjem programa, skidanjem sa Interneta, kao i otvaranjem dodatka u elektronskoj poti. Aktivnosti Trojanskih konja mogu biti veoma razliite. Mogu da obriu podatke, poalju svoju kopiju na sve raunare sa liste elektronske pote i da omogui dodatne napade na dati raunar. Obino ostvaruju povezivanje sa nekim udaljenim raunarom i prenose informacije sa raunara na kome su instalirani. Trojanski konji koji se izvravaju u okviru jezgra operativnog sistema su najopasniji. Tada ovi programi imaju potpunu kontrolu nad datim sistemom. To znai da programi kao to su, na primjer, drajver ureaja, screen saver i bilo koji drugi programi koje operativni sistem izvrava predstavljaju potencijalni izvor napada.

Trojanski konji se najee prikazuju kao korisni programi, ali u sutiti oni uvijek imaju neku neeljenu aktivnost po onoga ko ih koristi. Oni se koriste za indirektno izvravanje funkcija koje neautorizvani korisnici ne bi mogli da ostvare direktno.

Mehanizmi zatite
Zatita sistema moe biti implementirana na vie razliitih naina. Pod fizikom zatitom podrazumijeva se obezbjeenje zgrada, obezbjeenje prostorija i neki nain kontrole identiteta korisnika sistema. Glavni problem zatite kod svih operativnih sistema je autentikacija. Tradicionalan mehanizam zatite je sistem kod koga se koristi korisniko ime i lozinka kojim se verifikuje identitet korisnika i na taj nain iskljuuje mogunost rada neidentifikovanih korisnika. Tajnost lozinke je glavni dio sistema kojim se naovaj nain obezbjeuje zatita. Od naina implemenatacije sistema lozinki najvie zavisi koliko e sistem biti zatien. Zato veina dananjih sistema ne omoguava korisnicima unos onih lozinki koje nisu dovoljno sigurne i koje se nazivaju slabe lozinke. Primjeru slabih lozinki su ime i prezime, rije iz rijenika, ime lana porodice, itd. U cilju bolje zatite, potrebno je da operativni sistem podri jake lozinke, odnosno: 1. kontrolie da lozinke budu rijei koje se ne mogu nai u rijeniku, 2. kontrolie da lozinke budu rijei najmanje 6 karaktera duine, 3. kontrolie da lozinke budu sastavljene i od slova i brojeva, 4. obezbjedi da lozinke imaju period vaenja, 5. ogranii broj pokuaja prijavljivanja na sistem sa pogrenom lozinkom, tako to e nakon maksimalnom broja pokuaja automatski zabraniti korisniki nalog. Najvanija lozinka u datom sistemu je lozinka sistem administratora, jer ona ima kompletnu kontrolu nad sistemom. Upravo zbog toga najvei broj napada na sistem ima za cilj pronalaenje lozinke sistem administratora. Sistem zatite koji se zasniva na lozinkama se moe naruiti pogaanjem lozinki. Drugi nain je metodom grube sile gdje se korienjem dananjih raunara veoma brzo moe pretraiti kompletan skup moguih lozinki ija je maksimalna duina unaprijed poznata. Naruavanje sistema zatite koji se zasniva na lozinkama se moe naruiti kao rezultat vizuelnog ili elektronskog monitoringa. Vizuelni monitoring nastaje gledanjem u tastaturu prilikom unosa korisnikog imena i lozinke. Elektronski monitoring se moe uraditi pomou sniffing alata kojim se moe snimiti identitet korisnika i njegova lozinka. Kriptovanje podataka koji sadre lozinku rijeava ovaj problem. Raunarske mree i nain rada u mrei Raunarska mrea se formira povezivanjem raunara ili komunikacione opreme preko komunikacionog kanala tako da preko nje mogu da se prenose podaci, programi ili da se dijele pojedini ureaji nekog raunarskog sistema. Postoje dva osnovna tipa raunarskih mrea: - lokalne raunarske mree (eng. Local area networks, LAN) koje povezuju ureaje koji su relativno blizu jedni drugima, - globalne raunarske mree (eng. Wide area networks, WAN) koje pokrivaju vee geografske povrine.

Nain rada u mrei


Poslovi u raunarskoj mrei mogu da se izvravaju na tri naina:

1. na jednom centralnom raunaru, 2. na skupu ravnopravnih raunara, 3. klijent-server okruenje.

Centralizovana obrada
U ovom nainu obrade svi poslovi se izvravaju iskljuivo na jednom raunaru (npr. mainframe raunaru ili serveru preduzea) dok se ostali vorovi mree koriste iskljuivo za unos podataka i prikaz eventualnih razultata. Ovaj nain rada uobiajen je kod mrea koje se sastoje iz centralnog raunara i terminalske mree.

Obrada na mrei ravnopravnih raunara


Drugi primjer organizacije mree je mrea ravnopravnih raunara (eng. peer to peer). Upotrebom tehnologija koje obezbjeuju npr. Artisoft LANtastic, Microsoft Windows for Workgroups ili Apple Localtalk, raunari u ovoj vrsti mree mogu da komuniciraju direktno jedan sa drugim bez postojanja servera. Ova vrsta mree obezbjeuje osnovne mrene servise koji ukljuuju djeljivost datoteka i tampaa, uz mnogo manja ulaganja u opremu. Nedostatak ove organizacije je usporavanje komunikacije kroz mreu sa rastom broja raunara, tako da u mreama ovog tipa koje imaju vie od 25 raunara ili dijele veliku bazu podataka, komunikacija moe da bude veoma spora. Zbog toga se ova vrsta mree koristila u malim preduzeima koje nemaju potrebu za brzinom i kapacitetom klijent-server arhitekture. Danas se, zbog pada cijene raunarske opreme, ova vrsta mree relativno rijetko koristi.

Obrada u klijent-server okruenju


Veliki broj mrea sadri snaniji mikroraunar ili radnu stanicu sa mrenim operativnim sistemom koji upravlja aktivnostima u mrei. Uobiajeno je da se aplikativni softver (npr. za obradu teksta, tabeliranje, elektronsku potu, itd.) i podaci smjetaju na serveru. Server distribuira programe i podatke ostalim vorovima u mrei na njihov zahtjev. Takoe, na zahtjev klijenata server moe da izvrava i pojedinane poslove ili dijelove poslova, dok se jedan dio poslova (obino onih koji imaju manje zahtjeve za resursima) odvija i na klijentima. Korienje servera prua mrei veu brzinu i snagu obrage, ali zahtjeva vea ulaganja i vezuje se sa odreenim problemima u odravanju. Za mreu koja doputa ovakav nain obrade se kae da ima klijent-server arhitekturu, dok se za poslove koji se izvravaju na ovakav nain kae da rade u klijent-server okruenju. Topologija mree Toplologija predstavlja fiziki izgled ili oblik mree. vorovi u sistemu mogu da budu fiziki povezani na razliite naine. Svi naini povezivanja mogu da se porede prema sljedeim kriterijumima: 1. Osnovna cijena: Koliko je isplativo povezivati razliite vorove u mrei? 2. Cijena komunikacije: Koliko vremena je potrebno da bi se poruka poslala iz vora A do vora B? 3. Pouzdanost: Ako neka od veza ili neki vor mree otkae da li e ostali vorovi moi meusobno da komuniciraju?

Potpuna povezanost

U potpuno povezanoj mrei svaki vor je povezan direktnom linijom sa svim ostalim vorovima u mrei (slika 1). Osnovna cijena ovakvog naina povezivanja je jako visoka i proporcionalna je kvadratu broja vorova u mrei. Sa druge strane, ovakav nain povezivanja omoguuje jako brzo prenoenje poruka koje se obavlja bez posrednika u prenosu. Ovakva mrea je vrlo pouzdana jer je potreban jako veliki broj prekida na komunikacionim linijama da bi se mrea podijelila na dijelove izmeu kojih nije mogua komunikacija. U praksi se potpuno povezana mrea rijetko koristi zbog velike cijene povezivanja.

Djelimina povezanost
U djelimino povezanoj mrei direktne veze postoje izmeu nekih, ali ne i izmeu svih parova vorova u mrei (slika 2). Zbog toga je osnovna cijena ovakvog naina povezivanja neto nia nego kod potpuno povezane mree. Komunikacija u ovakvoj mrei moe da bude sporija jer poruka mora da proe kroz vie vorova.

Djelimino povezana mrea ima manji novo pouzdanosti od potpuno povezane mree. U nekim sluajevima otkaz jedne od komunikacionih linija moe da dovede do podijele mree u dva dijela izmeu kojih ne postoji komunikacija. Radi smanjivanja ovakvog efekta u djelimino povezanim mreama se vaniji vorovi obino povezuju sa najmanje dva druga vora.

Mrea sa strukturom drveta


U hijerarhijskim mreama vorovi su organizovani u obliku drveta (slika 3). Ovaj nain povezivanja se esto primjenjuje u mrei velikih preduzea. Svaki vor (sem onog koji predstavlja korjen drveta) ima jedinstvenog direktnog prethodnika i jednog ili vie nasljednika. Osnovna cijena povezivanja je u optem sluaju manja od cijene povezivanja u djelimino povezanu mreu. Nedostatak ovakvog naina povezivanja je to komunikacija izmeu dva vora nije direktna ukoliko se ne radi o voru i njegovom direktnom nasljedniku. Ukoliko jedan od vorova otkae tada izmeu njegovih direktnih nasljednika nije mogua dalja komunikacija.

Mrea sa strukturom zvijezde


U ovom tipu mree jedan od vorova u mrei je povezan sa svim ostalim (slika 4). Meusobne veze izmeu vorova (sem sa vorom u centru) ne postoje. Osnovna cijena formiranja ove mree je relativno niska i linearno je proporcionalna broju vorova u mrei. Cijena komunikacije je relativno niska jer poruka izmeu bilo koja dva vora zahtjeva najvie dva prenosa, koji se vre preko centralnog vora. Posljedica ovakve organizacije je mogue zaguenje na voru koji se nalazi u centru.

Zbog toga se u najveem broju mrea sa ovom topologijom u centru obino ne nalazi raunar, ve ureaj zaduen samo za upravljanje saobraajem i njegovo prosljeivanje vorovima mree. To moe da bude komunikacioni procesor ili poseban ureaj koji se naziva switch. Zbog smanjenja zaguenja i cijene

mree pravi se i kombinacija hijerarhijske topologije i topologije zvijezde (slika 5). Kod mree sa topologijom zvijezde najkritiniji resurs je vor u centru. U sluaju njegovog otkaza mrea se raspada na meusobno nepovezane dijelove. Otkaz bilo kog vora na periferiji nema nikakvog uticaja na ostale vorove u mrei.

Mrea sa strukturom prstena


U ovom sluaju su svi ureaji povezani u komunikacioni kanal koji formira zatvorenu krunu liniju (slika 6). Svaki raunar u prstenu moe da komunicira direktno sa drugim raunarom u prstenu. Poruke kroz prsten mogu da se prenose samo u jednom ili u oba smjera. Osnovna cijena povezivanja u mreu oblika prstena je proporcionalna broju vorova. Cijena komunikacije kroz mreu sa n vorova moe da bude jako visoka. To je posebno izraeno kod prstena sa jednostrukim vezama i jednosmjernim saobraajem gdje moe da bude potrebno i n 1 prenosa za predaju poruke ukoliko vor alje poruku svom susjedu koji se nalazi u suprotnom smjeru od smjera prenoenja poruke. Pouzdanost sistema zavisi od naina prenosa podataka. U sluaju jednosmjernog prenosa otkaz bilo kog vora sprijeava dalju komunikaciju, dok se kod dvosmjernog prenosa prsten raspada i postaje specijalna vrsta magistrale. Ovi efekti se mogu umanjiti uvoenjem viestrukih veza izmeu vorova, ali to moe da znatno povea osnovnu cijenu prstena.

Mrea sa strukturom magistrale


U mrei sa topologijom magistrale sa vie pristupnih taaka (eng. multiacess bus) svi vorovi u mrei su vezani direktno na komunikacioni kanal koji moe da bude organizovan u obliku prave linije (slika 7) ili prstena (slika 8). U ovoj vrsti mree prenos podatak izmeu vorova se vri u oba smjera. Osnovna cijena formiranja ovakvog tipa mree je proporcionalna broju vorova. Cijena komunikacije je mala, ali pri veem optereenju komunikacioni kanal moe da postane usko grlo. Jedan od problema ove vrste mree je mogunost pojave kolizije, odnosno sudaranje poslatih paketa, kada jedna ili obe poruke moraju da se ponove. U takvim sluajevima, performanse mree sa magistralom opadaju i prenos kroz mreu se usporava. Otkaz bilo kog pojedinanog vora ne utie na funkcionisanje magistrale, ali otkaz komunikacione linije dovodi do potpunog prekida saobraaja na magistrali.

Lokalne raunarske mree Lokalne raunarske mree predstavljaju kombinaciju hardvera, softvera i komunikacionih kanala koji povezuju dva ili vie raunara unutar odreenog podruja. Hardverski ureaji u mrei se ponekad nazivaju i vorovima. Tipina LAN mrea moe da sadri razliite djeljive periferne ureaje (npr. tampae i/ili jedinice magnetnih traka), kao i veliki broj razliitih raunara (najee radnih stanica i/ili raunara uz jedan do dva mainframe raunara). Svaki od ureaja u LAN mrei treba da posjeduje mrenu karticu (eng.network interface card, NIC) preko koje se ureaj prikljuuje na mreu. Sastavni dio mree je i operativni sistem koji upravlja svim aktivnostima u mrei. Ovakav operativni sistem mora da bude instaliran na najmanje jednom raunaru u mrei. Za PC platformu najpoznatiji mreni operativni sistemi su Novell Netware, Microsoft Windows NT Advanced Server, IBM LAN Server i razliite vrste Unix-a. LAN se obino

konfigurie u tri oblika: zvijezda, magistrala i prsten. Kao prenosni medijum u LAN mrei moe da se koristi bilo ica (uporedna ica, koaksijalni ili optiki kabl) bilo mikrotalasi. Najee korieni protokoli u LAN mrei su Ethernet za topologiju magistrale, brzi Ethernet za topologiju zvijezde i IBM Token Ring za topologiju prstena. LAN mree mogu da sadre i hardverske i softverske ureaje koji dozvoljavaju komunikaciju sa drugim LAN mreama ili raunarskim resursima. Most (eng. bridge) povezuje dvije ili vie LAN mrea zasnovanih na slinoj tehnologiji, dok mreni prolaz (eng. gateway) doputa korisniku LAN-a da kumunicira sa mainframe raunarom ili sa raunarom ili programom na nekoj neslinoj mrei npr. komercijalnom bazom podataka raspoloivom na globalnoj mrei.

Pogodnosti LAN mrea


Motivacija za formiranje mree je najee:

Mogunost rada sa djeljenim resursima, npr. tampanje datoteka na tampaima koji se nalaze na drugoj lokaciji, obrada informacija iz distribuirane baze ili upotreba specijalizovanih hardverskih ureaja koji se nalaze na razliitim lokacijama. Poveanje brzine obrade informacija djeljenjem poslova izmeu raunara u mrei. Pouzdanost rada. Ukoliko doe do otkaza pojedinog vora u mrei, ostali vorovi mogu preuzeti njegove funkcije do uspostavljanja normalnog stanja. Komunikacija izmeu vorova u mrei.

Nedostaci LAN mrea


LAN mree mogu da budu vrlo komplikovane i obino zahtjevaju posebno osposobljena lica za njihovo odravanje i svakodnevno funkcionisanje. ak i kada takva lica postoje, LAN mree su mnogo slabije zatiene i mnogo vie izloene opasnostima po sigurnost podataka od raunara koji rade kao samostalne jedinice. Bez obzira na brzinu mikroraunara koji se nalaze u mrei, postoje aplikacije sa vrlo velikim brojem transakcija koje LAN mree ne mogu da podre na pravi nain. Krajnji korisnik zahtjeva posebnu obuku za upotrebu LAN-a, kao i dodatnu obuku koja u velikoj mjeri zavisi od tipa aplikacije koji e koristiti. Zbog ovih nedostataka, LAN mree sastavljene iskljuivo od mikroraunara nee potpuno zamjeniti mainframe raunare kao to je izgledalo prije nekoliko godina. Posljednjih godina je prisutan obrnut trend da se sve vie koriste mainframe raunari (tj. serveri preduzea) koji su zahvaljujui razvoju tehnologije i padu cijena postali dostupni veem broju firmi. Globalne raunarske mree Nasuprot lokalnim mreama, globalne raunarske mree mogu da pokrivaju velike geografske povrine koristei jedan ili vie razliitih komunikacionih kanala kao to su telefonske linije, mikrotalasi ili satelitske komunikacije. Firme mogu da odaberu da koriste javne globalne raunarske mree ije usluge pruaju lokalni provajder ili da naprave svoje line, koristei kombinaciju javnih i privatnih resursa. Komunikacione veze u globalnim raunarskim mreama su pod kontrolom komunikacionih procesora. Za prosleivanje saobraaja sa globalnih na neku od lokalnih mrea i obrnuto se koristi ureaj koji se naziva ruter (eng. router). Ruter se koristi i za prosljeivanje poruka kroz nekoliko povezanih LAN mrea. Jedna od posebnih vrsta globalne raunarske mree je mrea sa naplatom (eng. value-added networks, VAN). Mrea sa naplatom je privatna mrea koja nudi na raspolaganje servise u mrei uz naplatu usluga.

Obino VAN radi samo sa digitalnim prenosom podataka, bez podrke zvune komunikacije. Provajderi VAN-a obino iznajmljuju komunikacione kanale i dodaju izvjestan procenat ekstra trokova i/ili odreene servise za koje korisnici ele da plaaju. Servisi mogu da budu npr. elektronska pota, javne baze podataka, elektronske novine, razne diskusione grupe, otkrivanje greaka, bolje vrijeme odziva ili prosto pruanje svih usluga po ekonomskoj cijeni. Korisnici VAN-a ne moraju dodatno da investiraju u mrenu opremu ili softver, niti da sami brinu o telekomunikacionim vezama. Oni su u obavezi da plate samo koliinu prenijetih podataka, plus cijenu pretplate. Zbog toga su VAN mree pogodne kao alternativa za firme koje ele da imaju mogunost komunikacije, ali ne ele ili nisu u mounosti da same odravaju skupu infrastrukturu privatne WAN mree.

You might also like