86
1. Mrežni operativni sistemi Mrežni operativni sistemi razvijani su od najranijih dana mikroračunara. U početku su to bile „crne kutije“ koje su predstavljale skup diskova sa odgovarajućom logikom za kontrolu mrežnog pristupa. Novell NetWare S-Net je jedna od pionirskih mreža. Napravljena je u zvezdastoj topologiji za relativno mali broj korisnika, a sastojala se iz kutije u kojoj je bio skup diskova kontrolisan procesorom Motorola 68000. Na tu kutiju su se u zvezdastom rasporedu priključivali klijenti. Od samog početka S-Net mreža je zahtevala operativni sistem da bi pružala usluge radnim stanicama koje su koristile CP/M, a kasnije DOS. Novell je zaposlio razvojni tim čiji je zadatak bio izrada mrežnog operativnog sistema, koji bi egzistirao kao softver, nezavisno od Novell servera. Rezultat je bio NetWare. Ostale organizacije išle su sličnim putem. Ovi prvi sistemi prodavali su se dovoljno dobro da bi zadržali kompanije u poslu, ali zapravo nisu postale značajne sve do pojave IBM XT računara i njihovih klonova. Mnoge kompanije su u to vreme radile svoje mrežne operativne sisteme, a svi su o nečemu bili zavisni. Novell je zauzeo vodeće mesto prebacivši svoj mrežni operativni sistem iz S-Net kutije u XT računar. Ovo je omogućilo slobodan izbor računara, ali ne i mrežnih kartica. U početku je Novell isporučivao svoje Gateway G-Net mrežne kartice, ali je odlučio da pruži podršku i ostalim proizvođačima hardvera. Tako su u igru ušli 3Com Ethernet, Corvus OMNInet i Proteon Token Ring sa svojim mrežnim karticama. Budući da NetWare nije originalno razvijen kao DOS aplikacija, a bio je zamišljen da emulira male i srednje računare, podržavao je od samog početka višenitnost i multitasking. Novellov operativni sistem postao je tako popularan da je sa samo nekoliko aplikacija u 1984. skočio na više od 2000 podržanih aplikacija osamnaest meseci kasnije. U početku se vodila borba između Novella, 3Coma i ostalih proizvođača hardverskih mrežnih uređaja za prevlast na tržištu, ali je Novell odneo veliku pobedu napravivši podršku u svom sistemu za 10 Mbps Ethernet, dok su se proizvođači hardvera koncentrisali na povećanje brzine prenosa svojih mrežnih kartica na 64 kbps. Uvidevši pobedu Novella počeli su da proizvode NetWare kompatibilne mrežne kartice, a Novell je i dalje uspešno razvijao svoj softver. Malo po malo, svi proizvođači servera su instalirali NetWare na svoje servere. 1

Mrežni operativni sistemi

  • Upload
    lion78

  • View
    301

  • Download
    8

Embed Size (px)

DESCRIPTION

Predavanja

Citation preview

1. Mrežni operativni sistemiMrežni operativni sistemi razvijani su od najranijih dana mikroračunara. U početku su to bile

„crne kutije“ koje su predstavljale skup diskova sa odgovarajućom logikom za kontrolu mrežnog pristupa. Novell NetWare S-Net je jedna od pionirskih mreža. Napravljena je u zvezdastoj topologiji za relativno mali broj korisnika, a sastojala se iz kutije u kojoj je bio skup diskova kontrolisan procesorom Motorola 68000. Na tu kutiju su se u zvezdastom rasporedu priključivali klijenti. Od samog početka S-Net mreža je zahtevala operativni sistem da bi pružala usluge radnim stanicama koje su koristile CP/M, a kasnije DOS. Novell je zaposlio razvojni tim čiji je zadatak bio izrada mrežnog operativnog sistema, koji bi egzistirao kao softver, nezavisno od Novell servera. Rezultat je bio NetWare. Ostale organizacije išle su sličnim putem. Ovi prvi sistemi prodavali su se dovoljno dobro da bi zadržali kompanije u poslu, ali zapravo nisu postale značajne sve do pojave IBM XT računara i njihovih klonova.

Mnoge kompanije su u to vreme radile svoje mrežne operativne sisteme, a svi su o nečemu bili zavisni. Novell je zauzeo vodeće mesto prebacivši svoj mrežni operativni sistem iz S-Net kutije u XT računar. Ovo je omogućilo slobodan izbor računara, ali ne i mrežnih kartica. U početku je Novell isporučivao svoje Gateway G-Net mrežne kartice, ali je odlučio da pruži podršku i ostalim proizvođačima hardvera. Tako su u igru ušli 3Com Ethernet, Corvus OMNInet i Proteon Token Ring sa svojim mrežnim karticama. Budući da NetWare nije originalno razvijen kao DOS aplikacija, a bio je zamišljen da emulira male i srednje računare, podržavao je od samog početka višenitnost i multitasking. Novellov operativni sistem postao je tako popularan da je sa samo nekoliko aplikacija u 1984. skočio na više od 2000 podržanih aplikacija osamnaest meseci kasnije. U početku se vodila borba između Novella, 3Coma i ostalih proizvođača hardverskih mrežnih uređaja za prevlast na tržištu, ali je Novell odneo veliku pobedu napravivši podršku u svom sistemu za 10 Mbps Ethernet, dok su se proizvođači hardvera koncentrisali na povećanje brzine prenosa svojih mrežnih kartica na 64 kbps. Uvidevši pobedu Novella počeli su da proizvode NetWare kompatibilne mrežne kartice, a Novell je i dalje uspešno razvijao svoj softver. Malo po malo, svi proizvođači servera su instalirali NetWare na svoje servere.

Microsoft je ovu borbu posmatrao iz ugla softvera. Ubrzo je napravio MSnet, proizvod koji su prihvatili proizvođači hardvera. Microsoft je u to vreme izašao i sa novom (3.1) verzijom DOS-a, koja je između ostalog dozvoljavala zaključavanje datoteka na nivou lokalne mreže. IBM je razvio svoj PCnet proizvod na Microsoft MSnet standardu i to je bio trenutak kad su se tri glavna proizvođača našla na tržištu u isto vreme. Za vreme razvoja svoje mrežne strategije, Microsoft je takođe radio i na novoj radnoj okolini da bi pomogao korisnicima na radnim stanicama i rešio mnoge nedostatke i neefiksanost DOS-a. Ova radna okolina nazvana je Windows, a manje ili više bazirala se na tehnologiji razvijenoj u Xerox Corp prihvaćenoj od strane Apple Computer. Prve dve verzije Windowsa bile su jednostavne, nedorečene i spore, ali revolucionarne za mnoge korisnike. Microsoft je počeo na sva zvona hvaliti važnost grafičkog korisničkog okruženja (GUI). Ipak, korisnici su i dalje nastavili kupovati NetWare i ignorisali Windows. Njihova najveća prednost bila je u aplikacijama namenjenim projektovanju i crtanju. Najveća promena dogodila se kad je Microsoft izdao Excel za Windowse, tablični kalkulator sa Apple Macintosh sistema. Po prvi put je neka stvarna poslovna aplikacija bila na raspolaganju u grafičkoj radnoj okolini. Iako je napravio uspeh sa ovim aplikacijama, Microsoft nije uspeo da se uključi u mrežne operativne sisteme.

U borbi za mrežne operativne sisteme Microsoft i IBM su zaostali daleko iza Novella. Da bi potisnuli njegovu dominaciju na tržištu, udružili su se u razvoju OS/2. Po prvi put je OS/2 predstavljen 1987. godine, zajedno sa novom linijom IBM računara PS/2. Rame uz rame ove dve kompanije su nudile opremu budućnosti, izgrađenu oko OS/2. Nudili su snažne računare sa visokom grafičkom rezolucijom i brzim magistralama podataka. Operativni sistem koristio je grafičko okruženje, bio je višenitni i višekorisnički, a obećavao je sve ono što je NetWare imao i još mnogo više. Kašnjenja u izlasku i problemi oko kompatibilnosti zakočili su porast prodaje ovog proizvoda, a Microsoft je ubrzano radio na usavršavanju Windowsa i aplikacijskoj podršci za Windowse. Ubrzo je došlo do raskola u partnerstvu

1

između IBM-a i Microsofta. Microsoft je nastavio razvijati Windowse, a IBM OS/2. Tek izlaskom Windows 3.0 operativnog sistema promenio se stav industrije i potrošača prema grafičkoj radnoj okolini. Microsoft je poboljšao korisničko okruženje i rešio mnoge od problema u prethodnim verzijama. Zbog nedostatka mrežne podrške ubrzo je izšla verzija 3.1, a novi proizvod Windows for Workgroups nudio je sve potrebno za izgradnju peer-to-peer računarske mreže, uključujući i podršku tradicionalnim klijent/server sistemima kao što su NetWare i LAN Manager. Microsoft je počeo preuzimati vodeću ulogu u prodaji desktop operativnih sistema sa podrškom mrežnom radu i grafičkim korisničkim okruženjem. Kako je prodaja Windowsa rasla, Microsoft se potpuno prebacio na izradu operativnih sistema sa grafičkim okruženjem da bi sredinom 1993. objavio dva nova proizvoda: Windows NT (New Technology) i Windows NT Advanced Server (NTAS), zamišljen za serverske namene, a 1995. godine izašao je proizvod koji je preplavio svet, Microsoft Windows 95. Novel je dalje razvijao svoj mrežni operativni sistem do verzije 5, uključujući u njega podršku za pristup velikim računarima, mrežne servise za pristup Internetu i podršku novo razvijenom hardveru i sve ono što je trebalo da bi ostao na tržištu. Veliki bum Interneta krajem 1996. zatekao je Novell pomalo nespremnim, dok je Microsoft prilično agresivno preuzeo taj deo tržišta svojim Windows NT Server Sistemom. Istovremeno su na popularnosti dobili i UNIX Serveri, do tad upotrebljavani u krugu akademske zajednice i nešto malo u poslovnom svetu. Za to vreme IBM je i dalje razvijao svoj OS/2 nudeći podršku za Microsoft Windows aplikacije, relacijske baze, mogućnost povezivanja na velike (mainframe) sisteme i velike relacijske baze podataka, te je polako širio bazu instaliranih proizvoda. Stalno plivajući između velikih sistema i desktop rešenja, nikad zapravo nije ni ugrozio poziciju Microsofta i Novella na njihovom delu tržišta.

1.1 Osnovne karakteristike serveraU računarskim mrežama razlikujemo dve vrste računara: računare klijente i računare servere

(client/server). Sami nazivi govore da jedni nešto daju, serveri, a jedni nešto primaju, klijenti. U svakom slučaju oni razmenjuju podatke. Osim klasičnog klijent/server okruženja postoje i takozvane peer to peer, ili jednaki među jednakima računarske mreže. U takvim mrežama svaki računar može biti i klijent nekog drugog računara i server ostalim računarima spojenim u mrežu. To je moguće zato što svaki računar pokreće u sklopu svog operativnog sistema i podršku za mrežu, serverske i klijentske upravljačke programe, a od korisnika računara zavisi šta će ponuditi drugima na raspolaganje sa svog računara. To može biti ceo njegov disk, neki određeni direktorijum ili štampač priključen na njegov računar.

Mrežni serverski sistemi razlikuju se po konfiguraciji zavisno od toga kakav zadatak obavljaju. To su obično računari koji su opremljeni velikim diskovnim prostorom, uz mnogo radne memorije (RAM) i brzim mrežnim karticama. Mogu poslužiti kao file serveri, serveri za štampanje (print server), serveri za elektronsku poštu (e-mail server), specijalni serveri strogo definisanih poslova (domain name server – server imena u domenu), komunikacijski server (gateway) ili server baza podataka (database server). Sve ove vrste servera mogu se nalaziti i u samo jednom (malo moćnijem) računaru. O svakoj serverskoj funkciji brine i odgovarajuća programska podrška, a ceo server baziran je na nekom mrežnom operativnom sistemu. Danas najpopularniji serverski mrežni operativni sistemi su Apple IBM OS/2, Novell Netware, UNIX operativni sistemi raznih proizvođača (SCO OpenServer, UnixWare, besplatne Linux distribucije ), Microsoft Windows Server i ostali manje poznati.

Svi oni dele zajedničko tržište i bore se za što veći udeo u njemu. Dobar deo tržišta i dalje drži Novell Netware najčešće primenjen kao fajl server i server za štampanje u računovodstveno finansijskim poslovnim programima. UNIX je do sad bio praktično nezamenljiv kao komunikacijski server (e-mail server, gateway, DNS server i sl.). UNIX serveri čine jezgro danas toliko popularnog Interneta. Windows Server pronašao je svoju ulogu kao intranet/Internet server, odnosno WWW server, iako osigurava punu podršku za relacijske baze različitih proizvođača i sve ostale nabrojane vrste servera.

2

Činjenica je da svi oni mogu međusobno da komuniciraju i razmenjuju podatke pokretanjem odgovarajućih servisa operativnog sistema, a svaki ima svoje prednosti i mane. U trenutku odabira glavnog servera za neko preduzeće treba svakako znati unapred nekoliko podataka. Odgovore na pitanja hoće li to biti jedini server, koje će sve funkcije obavljati, na kojoj hardverskoj platformi će raditi, koliko će biti klijenata i niz drugih, ne manje značajnih pitanja, treba znati pre donošenja konačne odluke o odabiru, odnosno kupovini (i hardvera i softvera).

Često je sa serverom moguće ostvariti i udaljenu vezu (remote access). Primera radi, ako otputujete poslom u drugi grad, a trebaju vam podaci koji se nalaze na serverskom računaru u sedištu firme, dovoljno je spojiti prenosni računar na prvu dostupnu telefonsku utičnicu ili prvu slobodnu wireles mrežu, nazvati broj servera i ostvariti vezu. Server računari se obično ne koriste za lokalni rad (nije predviđeno da korisnik radi direktno na serveru) već se njima pristupa putem mreže, a pomoću računara - klijenata. Jednom konfigurisani server obično se uopšte ne gasi već radi 24 sata, 365 dana u godini, a izuzetak su održavanje sistema, zamena komponenti ili servis.

Mrežni serveri i klijenti međusobno komuniciraju mrežnim paketima koji su u skladu s nekim od mrežnih protokola. TCP/IP je najzastupljeniji Internet i mrežni protokol koji koriste Windows i Linux sistemi. NetWare je takođe od verzije 5 prešao na rad s IP protokolom, dok je ranije koristio IPX/SPX mrežni protokol. Treba napomenuti da je moguće ostvariti vezu između raznih protokola. Sve to zajedno znači da je u lokalnim mrežama moguće imati heterogene konfiguracije (različite vrste servera i klijenata koji međusobno komuniciraju različitim mrežnim protokolima, a na istom mrežnom medijumu. Različite računarske mreže, bilo po vrsti protokola ili mrežnom operativnom sistemu koji koriste, mogu se povezivati u jedinstvene celine i deliti neke zajedničke resurse.

Dakle, mrežni operativni sistem je operativni sistem koji se sastoji od komponenti i programa koji omogućavaju računaru na mreži da opslužuje zahteve drugih računara na mreži, slanje podataka, pristup resursima kao što su štampači itd.

Serveri mogu da: Dodaju, uklanjaju i upravljaju korisnicima koji žele da koriste resurse na mreži. Dozvoljavaju korisnicima pristup podacima na serveru. Dozvoljavaju korisnicima da pristupaju podacima nađenim na mreži kao što je internet. Dozvoljavaju korisnicima da pristupaju hardweru koji je povezan na mrežu. Štite podatke i servise locirane na mreži

Mogućnosti mrežnog operativnog sistema mogu da uključuju: osnovnu podršku za hardverskim portovima bezbedonosne mogućnosti, kao što su autentifikacija, autorizacija, login restrikcije i kontrola

pristupa servisi imena i servisi direktorijuma fajl, print, data storage, backup i replikacioni servisi udaljeni pristup kontrola sistema administracija mreže klasterovanje tolerancija na greške i visoka dostupnost

Neke od bitnijih funkcija koje Mrežni operativni sistemi donose sa sobom jesu: Multitasking, Multiuser, raspodela memorije i sigurnost.

1.2 Multitasking i multiuser karakteristike sistema

3

Postoje brojne podele operativnih sistema na osnovu različitih kriterijuma: prema broju korisnika i/ili procesa, prema načinu obrade poslova, prema distribuciji procesorske snage i ostalih resursa, prema nameni i funkcionalnim osobinama.

Ono što je bitno kod mrežnih operativnih sistema je da podržavaju multasking i multiuser rad. Prema broju korisnika, operativni sistemi se dele na jednokorisničke (singleuser) i višekorisničke

(multiuser). Jednokorisnički sistemi, kao što im samo ime govori, obezbeđuju virtuelnu mašinu za samo jednog korisnika. To su ili računarski sistemi prilagođeni za jednu funkciju ili je reč o slabijim i jeftinijim konfiguracijama tipa mikroračunara. Uglavnom ih karakteriše jeftin hardver, solidna prateća programska podrška, jednostavan sistem datoteka, jednostavan U/I sistem, a u prošlosti i relativno slabe performanse. Međutim, prilike su se izmenile, hardver mikroračunara je ostao jeftin, ali su se performanse drastično poboljšale, što je dovelo do realizacije vrlo kvalitetnih operativnih sistema koji su i dalje jednokorisnički ali višeprocesni, tj. sposobni da obavljaju više simultanih aktivnosti.

Višekorisnički sistemi su kvalitetni operativni sistemi koji zahtevaju jače hardverske konfiguracije. Tipičan višekorisnički sistem je UNIX, koji obezbeđuje simultani pristup za više korisnika istovremeno, pri čemu korisnici pristupaju sistemu preko posebnih terminala. Prema broju simultanih aktivnosti, tj. prema broju procesa koji se mogu izvršavati paralelno ili kvaziparalelno, operativni sistemi se dele na jednoprocesne (singletasking, singleprocess) i višeprocesne (multitasking, multiprocess). Na osnovu kombinovanog kriterijuma mogu se izdvojiti tri vrste operativnih sistema:

jednokorisnički jednoprocesni (single-user, singletasking), kao što je MS-DOS; jednokorisnički višeprocesni (single-user,multitasking), kao što su OS/2 iMS Windows

3.1/9x/ME; višekorisnički višeprocesni (multiuser,multitasking), kao što je UNIX, ali uslovno se mogu

prihvatiti i MS Windows 2000/XP/2003 ukoliko obezbeđuju terminalske usluge (terminal services).Dakle, multitasking je mogućnost da se više od jednog programa izvršava istovremeno. Na

primer, moguće je štampati tokom izmena teksta ili tokom slanja faksa. Naravno, operativni sistem (osim u slučaju kada posedujete višeprocesorski računar) daje deo vremena procesora svakom od programa, čime se stiče utisak paralelnog izvršavanja. Ovakva raspodela resursa je moguća zato što veliki deo vremena procesor ostaje slobodan iako može izgledati da ga (npr. unošenjem podataka) činimo veoma zauzetim.

Multitasking se može realizovati na dva načina, zavisno od toga da li operativni sistem prekida izvršavanje programa, a da ih prethodno ne konsultuje, ili se programi prekidaju samo onda kada su raspoloženi da prepuste kontrolu. Prvi od ova dva načina zove se preemtivni multitasking, a drugi kooperativni multitasking. Stariji operativni sistemi, kao što su Windows 3.x i Mac OS 9, imaju kooperativni multitasking, isto kao i operativni sistemi na jednostavnijim uređajima, kao što su mobilni telefoni. Operativni sistemi UNIX/Linux, Windows NT/XP (iWindows 9x za 32-bitne programe) i Mac OS X su sa preemptivnim multitaskingom. Preemptivni multitasking je mnogo efikasniji iako ga je teže implementirati. Sa kooperativnim multitaskingom se može dogoditi da program koji se loše ponaša „zaglavi“ celokupan rad.Višenitni programi proširuju ideju multitaskinga spuštajući je na niži nivo: izgleda da pojedinačni program istovremeno obavlja više zadataka. Svaki od zadataka se obično zove nit (thread) – što je skraćenica za kontrolnu nit. Programi koji mogu istovremeno izvršavati više od jedne niti nazivaju se višenitni (multithreaded).

1.3 Raspodela memorije

4

Pod upravljanjem memorijom podrazumeva se upravljanje radnom, tj. glavnom memorijom računara, kojoj centralni procesor pristupa direktno, radi uzimanja instrukcija ili podataka. Na ovom nivou obavljaju se sledeće funkcije:

realizacija određene strategije dodeljivanja memorije (redosled dodeljivanja memorije poslovima, statično ili dinamiĺno dodeljivanje, principi dodeljivanja itd.);

dodeljivanje memorije (algoritmi izbora početne lokacije segmenta koji se dodeljuje); sprovođenje određene strategije oslobađanja memorije (ukrupnjavanje manjih oslobođenih

delova memorije, oslobađanje delova memorije, redosled obrade zahteva za dodelu memorije).Memorije kod savremenih računara mogu da se klasifikuju na razne načine. S obzirom na način

funkcionisaja (brzina, kapacitet i cena po jedinici mere) mogu se podeliti u 3 kategorija:

1. eksterna memorija (najvećeg kapaciteta, najsporija, najjeftinija),

2. interna memorija (manjeg kapaciteta, brža, skuplja),

3. keš (Cache) memorija (najmanjeg kapaciteta, najbrža, najskuplja).Najinteresantnija je interna (operativna) memorija i njen odnos sa eksternom memorijom.

Procesor može izvršavati samo procese koji su u internoj memoriji. Kako je operativna memorija relativno malog kapaciteta, pojavljuju se sledeći problemi:

proces je veći od interne memorije (i kod monoprogramiranja i kod multiprogramiranja), nema dovoljno memorije da bi se učitali sve spremni procese (kod multiprogramiranja). Upravljač memorije (Memory Manager) je deo operativnog sistema koji upravlja korišćenjem

memorije. Njegovi osnovni zadaci su da: vodi računa o tome koji delovi memorije su zauzeti, vodi računa o tome koji delovi memorije su slobodni, da zauzme potrebnu količinu memorije za nove procese, da oslobodi memoriju zauzetu od strane nekog procesa, da upravlja prebacivanjem procesa iz interne u eksternu memoriju i obrnuto.

Pri tome mora voditi računa o tome da procesi ne štete jedni drugima, ni operativnom sistemu. U slučaju da nema dovoljno interne memorije, koriste se sledeće tehnike:

Swapping (prebacivanje procesa) – ako nema dovoljno mesta u operativnoj memoriji za smeštanje svih spremnih procesa, neki se prebacuju na disk. Kada je potrebno, celi spremni procesi iz interne memorije se prebacuju na disk, odnosno spremni procesi sa diska se prebacuju u internu memoriju;

Paging (straničenje) – delovi procesa se drže na disku i učitavaju po potrebi.Postoje i tehnike upravljanja memorijom bez swapping-a i bez paging-a. Monoprogramiranje

(Monoprogramming): u internoj memoriji računara se istovremeno može nalaziti samo jedan proces. Prvi (najjednostavniji) način je kada korisnik učita program po želji i taj program dobija

apsolutnu kontrolu nad računarom. Kod ovog pristupa nije potreban ni OS, ni posebni drajveri za razne uređaje; program koji se učitava u memoriju je potpuno sam i oslanja se isključivo na sebe. Mora znati kako da koristi memoriju, uređaje i sve ostalo što mu je potrebno da izvrši svoj zadatak. Kada taj program završi sa radom, može se učitati sledeći program, koji takođe mora sve znati. Ova metoda je davno napuštena, kao vrlo nepraktična – programeri moraju ugraditi sve potrebne drajvere u svaki program. Ako nema dovoljno memorije, mora se naći neko rešenje: optimizuje kod, ili razbija program na manje funkcionalne delove koji se mogu samostalno izvršavati ili nešto treće. Drugi način je kada se memorija deli između OS i jednog korisničkog programa. Kada se računar uključi, učitava se OS bez koga se računar ne može koristiti. Potom se na monitoru dobija komandni prompt gde korisnik može izdavati naredbe operativnom sistemu. Ako OS prepozna komandu, pokuša da je izvrši; ako ne, javlja grešku i

5

čeka sledeću komandu. Korisnikov program se učitava u preostali deo memorije i tamo se izvršava. Više nije potrebno u svaki program ugraditi i sve potrebne drajvere, jer je OS zadužen da obezbedi sve potrebne funkcije. Postoji više načina za raspodelu memorije:

OS se učitava u donji deo RAM-a (Random Access Memory), ostatak memorije je na raspolaganju korisničkim programima;

OS se nalazi u ROM-u (Read Only Memory) na vrhu memorije, korisnički program su ispod njega;

OS se nalazi u donjem delu RAM-a, drajveri u ROM-u na vrhu memorije a između korisnički program.

Osnovni skup funkcija za rad sa uređajima može biti smešten u poseban deo ROM memorije koji se zove BIOS (Basic Input Output System). OS se oslanja na BIOS, a korisnički programi mogu pozivati i funkcije OS-a i funkcije BIOS-a. Ni ovde ne postoji prava podrška OS-a za upravljanje memorijom; u slučaju da je proces prevelik, dobiće se poruka da ne postoji dovoljno memorije. Neka razvojna okruženja pružaju mogućnost da se program razbije na delove, pa se učitava onaj deo koji je potreban za rad.Multiprogramiranje (Multiprogramming): istovremeno se može nalaziti više spremnih procesa u internoj memoriji. Neki razlozi za uvođenje multiprogramiranja:

rad sa više korisnika: računar i nekoliko terminala, bolje iskorišćavanje procesorskog vremena (dok proces A čeka na podatke sa diska, procesor bi

mogao izvršavati proces B), jednokorisnički sistemi: dok pišemo u editoru teksta, slušamo muziku sa CD-a, a želimo da nam

štampač odštampa izvučene Loto-brojeve koji su u međuvremenu preuzeti sa Interneta, itd. Drugi način monoprogramiranja je kada se memorija deli na dva dela. Jedan deo koristi OS, a

drugi deo je namenjen korisničkim programima. Već bi se ovde mogao ostvariti Swapping tako što spremni procesi čekaju na disku, bira se jedan koji se učitava u memoriju i izvršava se neko vreme, zatim se vraća na disk, pa se bira drugi itd. Nedostatak kod ovakog načina raspodela memorije je sporost. Diskovi su mnogo sporiji od memorije, pa se mnogo vremena gubi na menjanje procesa. Proširena ideja monoprogramiranje je da se memorija podeli na međusobno nezavisne i odvojene delove – particije. U svaku particiju se učita proces koji je spreman za izvršavanje. Taj proces vidi samo svoju particiju i tretira sebe kao samog u memoriji. Particije se određuju nakon startovanja sistema, ručno, od strane operatora sistema. Kod ovagnog načina raspodele memorije je bitno odrediti veličunu particije.

neka su sve particije iste veličine – nedostatak: particija je veličine 1MB, a u njoj se izvršava proces veličine 100 KB. Cela particija je zauzeta, a 90% raspoložive memorije u toj particiji je neiskorišćeno;

neka su particije različitih veličina – postoje manje i veće particije, u svaku particiju se stavlja proces koji najbolje iskorišćava raspoloživu memoriju.

Rešenje ovog problema jesta da kada neka particija postane slobodna, upravljač memorije pregleda listu čekanja i bira sledeći proces. Izbor procesa se vrši na dva osnovna načina:

bira se proces koji je najbliži u redu čekanja i može da stane u datu particiju. Nedostatak kod ovakve raspodele je taj da je na raspolaganju velika particija, mali proces je bliže nego veliki, pa će mali proces biti učitan u veliku particiju – gubi se mnogo memorije za mali proces;

bira se najveći od svih onih procesa koji mogu stati u datu particiju. Nedostatak je taj da su mali procesi diskriminisani, uvek se biraju veći procesi.

6

Slika 3. Particionisanje memorije

Rešenja za izbegavanje navedenih nedostatakas su sledeći definiše se dovoljan broj dovoljno malih particija (u koje mogu stati samo mali procesi, ne i

veliki); uvodi se pravilo: ni jedan proces ne može biti preskočen više od k puta. Svaki proces dobija po

jedan brojač, svaki put kad se dati proces preskoči, povećava se brojač. Ako pri traženju procesa upravljač memorije vidi da je proces preskočen k puta, učitava ga u particiju, a brojač se resetuje. Veličinu broja k određuje sistem operator.

Može se Swapping realizovati i sa fiksnim particijama: svaki put kada se neki proces blokira, prebaci se na disk, a u tako oslobođenu particiju se učita drugi spreman proces. Praktično posmatrano, neće se dobiti dobri rezultati u iskorišćavanju memorije: mogu postojati mali procesi koji se učitavaju u veće particije, pa se gubi mnogo memorije. To se zove unutrašnja fragmentacija (Internal Fragmentation).

7

2. Vrste mrežnih OS i njihove karakteristike U zavisnosti od arhitekture mreže, mrežne operativne sisteme možemo podeliti u tri osnovne grupe, odnosno modela:

File-server, Peer-to-Peer (P2P), Klijent-server

Svaka od pomenutih grupa operativnih sistema ima svoje prednosti i mane.

2.1 File-server operativni sistemiKod ovog tipa mrežni operativni sistem instalira se na jedan od računara u mreži koji se naziva fajl server. Konfiguracija tog računara predstavlja obično najsnažniji računar u mreži i predstavlja računar sa najjačim procesorom i najvećim kapacitetom diskova. Ukoliko su radne stanice brže od fajl servera, on postaje usko grlo i usporava rad mreže. Mrežni operativni sistem fajl servera vrši kontrolu cele mreže i ima primarni cilj Slika 11 Centralizovani file server da obezbedi lokacije za zajedničko pristupanje disku, odnosno deljenje prostora za skladištenje datoteka (kao što su dokumenti, zvučne datoteke, fotografije, filmove, slike, baze podataka, itd ) kojima se može pristupiti od strane radnih stanica koje su priključene na računarsku mrežu. Prema tome, da bi mreža uopšte bila aktivna, mora se prvo startovati (podići) mrežni operativni sistem. Fajl server koordinira rad svih radnih stanica i reguliše način raspodele resursa mreže. Server reguliše koje datoteke mogu biti otvorene na svakoj radnoj stanici, reguliše rad mrežnih štampača, pražnjenje bafera itd. Svi mrežni fajlovi smešteni su na čvrstim diskovima fajl servera. Pri planiranju lokalne mreže uzima se u obzir broj radnih stanica, ukupno opterećenje servera, potrebe za stepenom zaštite podataka i (najčešće) fmansijske mogućnosti investitora. Sa porastom broja korisnika koje istovremeno opslužuje operativni sistem i porastom stepena zaštite podataka, raste i cena softvera. Količinu potrebne memorije i ostale parametre potrebne za rad sistema, npr. broj komunikacionih bafera (engl. buffers) izračunavaju sistem inženjeri koji planiraju instalaciju i koji instaliraju operativni sistem na server po obrascima i pravilima datim u originalnoj literaturi za svaku verziju. Dobro obavljena instalacija i korektno podešeni parametri sistema osnovni su uslov za nesmetan rad.Server datoteka obično ne obavlja bilo kakve kalkulacije, i ne koristi ni jedan program u ime svojih klijenata. Namenjen je pre svega da omogući brzo skladištenje i pristup podacima . Server može biti posvećen ili ne posvećen. Posvećen server je generalno dizajniran posebno za upotrebu kao server datoteka, sa radnim stanicama kojima je omogućeno čitanje i pisanje fajlova i baza podataka. File serveri takođe mogu biti razvrstani po načinu pristupa: internet fajl serverima se često pristupa pomoću File Transfer Protocol (FTP) ili HTTP-a (ali se razlikuju od Web servera, koji često pružaju dinamički Web sadržaj, pored statičke datoteke). Serverima na LAN-u obično se pristupa pomoću SMB / CIFS protokola(Windows i Unix-u) ili NFS protokola (na Unix-likim sistemima). Serveri baza podataka, koji omogućavaju pristup deljenoj bazi podataka preko baze podataka drajvera uređaja se ne smatraju fajl serverima. Većina fajl servera su istovremeno i print serveri, i omogućavaju pristup štampačima preko mreže. Pošto je skladišni prostor vrlo važan za jedan fajl server, razvijena je tehnologija koja omogućava da više diskova rade zajedno, praveći niz. Niz diskova obično ima keš (cache) (privremeno memorijsko skladište koje je brže od magnetnih diskova), kao i napredne funkcije kao RAID i virtualizaciju skladišta.

Sredinom 1980-tih preduzeća postaju sve više zainteresovana za načine povezivanja ubrzano rastuće populacije personalnih računara. Novell je predložio pristup korišćenja softvera za povezivanje svake radne stanice na mrežni fajl server koji će upravljati i mrežom i pristupom resursima mreže. Novell je ovu zamisao implementirao u svoj Netware operativni sistem, upotrebljen za fajl server, i u kasnim 80-im imao je 50% udela na tržištu lokalnih mreža.

Prednosti i mane file-server arhitekture

8

Dok fajl serveri mogu obezbediti organizaciji visoko centralizovani način deljenja podataka, često nailaze na ograničenja što se tiče brzine kojom podaci mogu biti poslati ka ili od mrežnih klijenata. Na primer, dok je gigabitna glavna magistrala danas uobičajna u organizacijama, još uvek je teško jednom serveru koji koristi SAS (Serial Attached SCSI) disk skladište da u potpunosti iskoristi gigabitnu vezu na maksimalnoj brzini. Da bi iskoristili ovakve gigabitne ili deseto-gigabitne magistrale moramo povezati nekoliko servera koji će raditi paralelno i opsluživati klijente.

Mrežne performanse takođe ometaju i desktop klijentski računari, koji imaju uglavnom niže performanse memorije i skladišta od većine servera. Većina desktop računara nisu u mogućnosti da ostvare brzinu rada sa podacima od 250 Mb, iako imaju na raspolaganju gigabitnu spoljnu magistralu. Deo problema je u tome da trenutna tehnologija mehanizma za disk ozbiljno usporava kada su u pitanju veoma male datoteke, zbog relativno male brzine pretraživanja između sektora na disku.

Primeri mrežnih operativnih sistema na bazi servera su: LAN Manager (Microsoft), LAN Server (BM), NetWare (Novell), PacerShare (Pacer Software), PathWorks (DEC), StarGroupSystem (NCR), TotalMac (Syntax), VINES (BanyanSystems) i Windows NT Advanced Server (Microsoft).

2.2 Peer-to-peer (P2P) operativni sistemiP2P arhitektura predstavlja mrežu računara istog nivoa, koja

koristi raznovrsnu povezanost između čvorova (peer-ova) i kumulativnu propusnost mreže umesto klasičnih centralizovanih server‐klijent modela. U ravnopravnim mrežama nema klijenata niti servera, već svaki klijent, tj. bilo koja stanica, može da radi kao server datoteka ili kao klijent (potrošač) mrežnih usluga. To znači da je svaki čvor u mreži može da u jednom trenutku bude klijent a u drugom server. Ravnopravni mrežni operativni sistemi obično su jednostavniji od operativnih sistema serverskih mreža. Često se ravnopravni mrežni operativni sistemi izvršavaju kao i svaki drugi.

Mnogi sadašnji operativni sistemi obezbeđuju uslove za mreže ravnopravnih korisnika (Windows 98, 2000, XP, Vista, Linux). Kod mreža ravnopravnih računara (peer-to-peer mreže) ne postoje Mreža ravnopravnih računara namenski serveri niti hijerarhija računara. Svi računari su jednaki, odnosno ravnopravni. Nude jednostavan pristup povezivanju računara radi zajedničkog korišćenja resursa i međusobne komunikacije. Svaki računar funkcioniše i kao klijent i kao server, pa ne postoji administrator koji bi bio odgovoran za celu mrežu. Korisnik svakog računara sam određuje koji se resursi na njegovom računaru mogu deliti preko mreže.

Mreže ravnopravnih računara se često nazivaju i radne grupe. Ovaj termin se odnosi na malu grupu ljudi. Ovakvu mrežu najčešće čini 10 ili manje računara. Mreže ravnopravnih računara su relativno jednostavne. U situaciji kada svaki računar funkcioniše i kao klijent i kao server, ne postoji potreba za moćnim centralnim serverom, ili drugim komponentama svojstvenim mrežama velikog kapaciteta. Zato su ove mreže jeftinije od serverskih mreža.

U ovim mrežama mrežni softver ne mora da ima isti nivo performansi i bezbednosti kao mrežni softver namenjen namenskim serverima. Mogućnost umrežavanja u mrežu ravnopravnih korisnika ugrađena je u mnoge operativne sisteme. Zbog toga nije potreban nikakav dodatni softver.U tipičnom mrežnom okruženju, ova vrsta mreža pruža sledeće prednosti:

Umrežavanje je jednostavno jer mreža ne zahteva centralni server i usmerivač. Ne zahteva se kupovina posebnog softvera za umrežavanje. Korisnici su sami sebi administratori i sami planiraju bezbednost. Svi čvorovi u mreži su ravnopravni u uloge klijenta i servera se poklapaju. Ispad nekog računara iz mreže ima uticaj samo na eventualno deljene resurse na datom računaru.

Ostali računari mogu da nastave rad.Ove mreže su dobar izbor u sledećim situacijama:

Na lokaciji ima manje od 10 korisnika. Korisnici dele zajedničke resurse, kao što su datoteke i štampači, ali ne postoje

specijalizovani serveri. Pitanje bezbednosti nije značajno.

9

U doglednoj budućnosti organizacija i mreža se neće znatno proširiti.

Bezbednost, sprečavanje neovlašćenog pristupa računarima i podacima, podrazumeva definisanje lozinke za resurs, recimo za određeni direktorijum, koji se koristi preko mreže. U mreži ravnopravnih korisnika, svaki korisnik sam podešava sopstvenu bezbednost, pa je zato teško sprovesti centralnu kontrolu. Ovaj nedostatak kontrole ima značajne posledice na bezbednost mreže, jer pojedini korisnici mogu da ne primenjuju nikakve mere bezbednosti. Stoga, ukoliko je bezbednost bitan faktor, bolje rešenje predstavlja serverska mreža.

Peer-to-peer (P2P) arhitektura predstavlja vid distrubuiranog računarstva u kome svaki čvor (eng. node) ima dvostruku ulogu. Svaki čvor P2P mreže komunikaciju sa ostalim članovima P2P mreže obavlja putem simetričnog softvera koji se može ponašati i kao klijent (zahtevajući podatke ili usluge od ostalih čvorova) i kao server (odgovarajući na zahteve ostalih čvorova). Na ovaj način P2P arhitektura omogućava veću autonomiju članova mreže. P2P arhitektura se uglavnom primenjuje kod potreba u kojima postoji veća tolerancija greške kod distribuirane odbrade.

Kako su operativni sistemi Microsoft Windows i Mac OS postali dominantni na tržištu personalnih računara (a do toga je došlo zbog njihove pristupačnosti, upotrebljivosti i zato što su postali standard u poslovnom svetu), mreže ravnopravnih računara, koje se koriste za povezivanje kućnih računara i u malim firmama, pojeftinile su i lako su se podešavale. Kada jednom povežemo računare i štampače u mrežu jednakih računara, podešavanje računara za deljenje datoteka i štampača pod bilo kojim od ova dva operativna sistema postaje stvar rutine (o tome više u poglavlju 6, "Podešavanje mreža ravnopravnih računara").

Obavezno treba pomenuti operativni sistem Linux i mogućnost da se upotrebi kao klijentski operativni sistem pod kojim rade računari podešeni za rad u mrežama jednakih računara. Sa malo truda možete podesiti skoro svaku vrstu Linuxa da podrži deljenje datoteka i štampača u radnim grupama (Linux nudi i mnoge opcije za okruženje zasnovano na radu servera - ne samo deljenje datoteka i štampača, već i mogućnost da računar radi kao server za vezu sa Internetom). Računari pod Linuxom ne samo da mogu da dele datoteke i štampače me?usobno, već se mogu podesiti da to isto rade i sa računarima pod operativnim sistemom Windows.

Razlozi u korist umrežavanja ravnopravnih računaraRazlozi u korist umrežavanja ravnopravnih računara su pristupačna cena i lakoća instaliranja.

Operativni sistemi koji podržavaju ovu vrstu umrežavanja znatno olakšavaju podešavanje računara za rad u radnoj grupi.

U suštini, ovo su prednosti umrežavanja ravnopravnih računara: Relativno su mali troškovi za hardver. Ne mora da se kupuje dodatni računar koji bi služio kao

server. Instaliranje je lako. Sav potreban softver najčešće se već nalazi u operativnom sistemu računara. Ne zahteva centralizovano administriranje - sam korisnik može da podesi operativni sistem za

deljenje resursa. Računari raspolažu resursima i vrše prijavljivanje na mrežu, a da im za to nije potreban server, pa

mogu da rade i kad im ostali računari na mreži nisu dostupni. Mada su mreže ravnopravnih računara jeftine i prilično se jednostavno instaliraju i podešavaju, one se

ne mogu proširivati - ovakve mreže mogu imati do desetak računara. Razlozi protiv umrežavanja ravnopravnih računaraMada se mreže ravnopravnih računara mogu činiti kao savršeno rešenje kada ne želimo probleme pri

instaliranju i podešavanju mreža (ili ne možemo da priuštimo server i softver za njega), umrežavanje ravnopravnih računara ipak ima brojna ograničenja. Prvo, izuzetno je ograničen broj računara koji se mogu umrežiti u ovakve mreže (do desetak). Mnogi stručnjaci čak preporučuju da mreža ravnopravnih računara ima do pet računara, jer, što je veći broj računara koji pristupa određenim informacijama, veći je skok radnog opterećenja računara. Pošto se pri ovakvom umrežavanju resursi raspodeljuju širom mreže, kada im mnogo računara pristupa (a svaki resurs može imati različitu lozinku), pristup datotekama može postati vrlo komplikovan.

Mreže ravnopravnih računara nemaju nikakvo centralno obezbeđenje. Nema provere identiteta korisnika povezanih sa mrežom. To je posledica načina deljenja resursa u radnoj grupi.

10

Svaki resurs koji se deli na mreži (disk, direktorijum ili štampač) može imati svoju lozinku za pristup. Ako na mreži ima mnogo takvih deljenih resursa, pamćenje lozinke za svaki od njih može biti problem. Ovaj tip obezbeđenja naziva se obezbeđenje na nivou deljenog resursa (engl. share-level security); svaki disk, direktorijum ili štampač koji se deli na mreži naziva se deljeni resurs.

Evo liste nedostataka mreža ravnopravnih računara: Računari treba da izdrže skok radnog opterećenja da bi mogli da dele resurse. Dok korisnici

pristupaju štampaču, procesorski resursi računara se koriste za neke druge poslove. Nepostojanje centralne lokacije za deljenje datoteka otežava pravljenje njihovih rezervnih kopija. Svaki resurs mora se posebno obezbeđivati. Decentralizacija resursa otežava korisnicima pronalaženje određenog resursa. Korisnici moraju da pamte veliki broj lozinki (za svaki resurs posebno) da bi mogli da pristupe

resursima. U mrežama ravnopravnih računara korisnici moraju da sarađuju. U suprotnom, nastaju problemi, jer

različitim resursima upravljaju različiti korisnici. Ipak, ovo je dobro za umrežavanje kućnih računara i za male firme. Ako želimo da štampač deli nekoliko korisnika ili hoćemo da podesimo mrežu da bismo igrali računarske igre, mreža jednakih računara je pravi izbor. P2P mreže se mogu prema strukturi podeliti na:

1. Centralizovane P2P mreže -zasnivaju se na centralnom serverskom sastavu koji usmerava promet podataka između pojedinih registrovanih korisnika. Središnji serveri održavaju direktorijume sa deljenim datotekama koje su smeštene na računare korisnika. Popisi datoteka se osvežavaju svaki put kada se korisnik spoji ili odspoji sa mreže. Svaki put kada neki korisnik zatraži neku određenu datoteku, centralni server pretražuje tako da uporedi zahtev koji mu je predan sa popisom dostupnih mu datoteka kod trenutno spojenih korisnika. Sledeće, server prikazuje korisniku, koji je podneo zahtev, listu dostupnih datoteka po korisnicima. Korisnik, podnosilac zahteva, bira od koga će preuzeti datoteku pa se uspostavlja direktna HTTP konekcija između dva korisnika. Stvarna datoteka nikada nije smeštena na centralni server niti na neku među‐tačku u mreži. Jedna od glavnih prednosti centralizovanog tipa je postojanje tabele pomoću koje se sve datoteke mogu brzo i jednostavno locirati. Tabela se redovno osvežava pa su rezultati pretraživanja odmah dostupni za preuzimanje. Druga prednost leži u činjenici da su svi pojedinačni korisnici nužno registrovani pa se pretraživanje ostvaruje tako da se pretražuju trenutno ulogovani korisnici pa su dobijeni rezultati maksimalno sveobuhvatni. Sa druge strane, centralizovani tip ima samo jednu ulaznu tačku koja je ustvari slaba karika ovog tipa mreže – ukoliko se taj serverski čvor odseče, na bilo koji način, čitav centralizovani sistem pada.

2. Decentralizovane P2P mreže –Predstavljaju mreže novije generacije P2P mreža, a njihova je glavna karakteristika da izbegavaju strukturu središnjeg servera već komuniciraju direktnim međusobnim povezivanjem.

Klasični predstavnici mrežnih operativnih sistema za P2P mreže su: 10net5.1 (Tiara Systems), Complete Network (Buffalo Products), LANsmart (D-LinkSystems), LANstep (Hayes Microcomputer Products), LANtastic (Artisoft), Personal Netware (Novell), PC/NOSPIus (Actrix), PowerLAN (Performance Technology), Web (Webcorp) i Windows forWorkgroups (Microsoft).

  2.3 Klijent-server operativni sistemi

Serverski mrežni operativni sistemi su daleko složeniji (i moćniji) od mrežnih operativnih sistema za mreže ravnopravnih računara. U serverskim mrežama mrežni operativni sistem i server nose celu „predstavu", a mrežni operativni sistem je osnovni operativni sistem servera. Oni predstavljaju posebne mrežne operativne sisteme sa oznakom NT - mrežni (network). Pa tako imamo npr. Windows 2000 i 2003 NT Server. Međutim, kada broj korisnika mreže naraste i pređe više od 10 korisnika, obe ove arhitektura ne mogu adekvatno da ispunjavaju zahteve korisnika, pa je u tom slučaju neophodan

11

prelazak na neku drugu arhitekturu - klijent-server arhitekturu. To je arhitektura gde su korisnik (klijent) i server odvojeni ili neravnopravni. Najočitiji je primer pregledanja Internet stranica. Korisnikov računar i Internet pregledač su klijent – oni zahtevaju, dok su računar i baza podataka koji čine web stranicu server – on poslužuje. Klijent je obično aktivan korisnik, koji šalje zahteve i čeka dok se isti ne ispune, dok je server pasivan, čeka na zahteve te ih ispunjava i šalje korisniku. Serveri su obično veoma jake mašine sa dobrim konfiguracijama i karakteristikama zbog toga što istovremeno moraju preraditi mnogo zahteva koji rastu iz dana u dan. Sa povećanjem broja računara u mreži i saobraćaja između njih, nastaje potreba za većim brojem servera. Sa povećanjem broja servera obezbeđuje se manja opterećenost svakog servera u mreži a zahtevi klijenata se brže obrađuju. U takvim situacijama postoje namenski serveri. Namenski server je računar čija je jedina uloga opsluživanje ostalih članova mreže i ne koristi se kao klijent ili radna stanica. Za servere se kaže da su „namenski" zato što oni ne obavljaju ulogu klijenta, već su optimizovani da brzo opsluže zahteve mrežnih klijenata i osiguraju bezbednost datoteka i direktorijuma. Kako se mreža povećava brojem računara, njihovom međusobnom udaljenošću i saobraćajem između njih, nastaje potreba za većim brojem servera. Podela poslova na nekoliko servera obezbeđuje da se svi poslovi obavljaju na najefikasniji mogući način. Raznovrsnost i složenost poslova koje serveri treba da obave je velika. Obično su na serverima i posebni operativni sistemi za razliku od običnih – klijent operativnih sistema, serverski operativni sistemi su u više segmenata bolji i sadrže naprednije opcije.

Usluge koje server pruža klijentima se realizuju preko namenskih softverskih paketa (ili su zasnovane na mogućnostima operativnog sistema). Na jednom računaru je moguće instalirati više različitih softverskih paketa i na taj način dobiti multifunkcionalni server. Ovakav pristup je opravdan ukoliko hardverska moć računara može da podrži istovremeno izvršavanje pomenutog softvera i ukoliko sve usluge koristi uglavnom ista grupa korisnika. U protivnom, kombinovanje servisa na jednom računaru može u slučaju greške u jednom softverskom paketu ugroziti bezbednost i dostupnost ostalih servisa na tom računaru. Noviji odgovor za ovaj problem leži u virtualizaciji. Virtualizacija servera predstavlja korišćenje specijalnog sistemskog proširenja operativnog sistema koje omogućava kreiranje većeg broja "logičkih" računara koji dele stvarne (fizičke) resurse. Na svakom od logičkih servera se može instalirati različit operativni sistem sa različitim softverskim paketima i na taj način omogućiti određeni servis u mreži.

Postoji i situacija suprotna prethodnoj u kojoj hardverske mogućnosti jednog računara nisu u stanju da odgovore potrebama velikog broja korisnika servisa istovremeno. U tom slučaju se ista uloga raspodeljuje na veći broj fizičkih servera. Ukoliko se veći broj fizičkih servera krajnjima korisnicima predstavi kao jedna (logička) jedinica, takva konfiguracija servera se naziva klaster.

Iako su instaliranje, konfigurisanje i upravljanje kod serverskih mreža znatno složeniji nego kod mreža ravnopravnih korisnika, one imaju brojne prednosti. Server je napravljen tako da omogući pristup brojnim datotekama i štampačima, uz odgovarajuće performanse i bezbednost. Kod serverskih mreža je moguće administriranje i kontrolisanje zajedničkog korišćenja resursa iz jednog centra. Ovako se resursi lakše pronalaze i čine dostupnijim nego kod mreža ravnopravnih korisnika. Bezbednost je najčešće osnovni razlog opredeljivanja za serversku mrežu. U ovakvom okruženju jedan administrator može da definiše bezbednost i to, onda, važi za svakog korisnika mreže. U zavisnosti od važnosti podataka, moguće je praviti rezervne kopije više puta dnevno ili nedeljno. Kako su najbitniji podaci centralizovani na jednom ili nekoliko servera, ovaj proces je vrlo jednostavan.

Serverske mreže mogu imati hiljade korisnika. Takvom mrežom se ne bi moglo upravljati kada bi se primenio princip ravnopravnih korisnika, ali savremeni alati za nadgledanje i upravljanje mrežama omogućavaju da serverska mreža normalno funkcioniše i sa ogromnim brojem korisnika.

Razlozi za i protiv mreža sa serverimaMreže sa serverima takođe imaju dobre i loše strane. Jedna od prednosti ovih mreža je centralno

upravljanje resursima, što olakšava korisnicima da pronađu željeni resurs. Na primer, mrežni operativni sistem Microsoft Windows 2000 Server upravlja resursima kao što su deljeni direktorijumi, diskovi i štampači, i čak i korisnicima, pomoću alatke za upravljanje bazom Active Directory. Active Directory služi da se korisnici dodaju na mrežu ili uklone sa nje i za svrstavanje korisnika koji pristupaju istim resursima u jednu grupu. Active Directory omogućuje administratoru da upravlja pristupom mreži i različitim nivoima pristupa koji se dodeljuju grupama korisnika.

Centralno upravljanje korisnicima i resursima je skupo zbog visoke cene računara koji radi kao specijalizovan server i operativnog sistema pod kojim taj računar radi. Ovo je glavni nedostatak ove vrste

12

mreža. Za ove mreže potreban je i mrežni administrator - neko ko dobro poznaje mrežne operativne sisteme - što znači još jedna osoba na platnom spisku kompanije, a to još više poskupljuje mreže sa serverima.

Ipak, ukupna cena softvera i hardvera potrebnog za formiranje ovakve mreže danas je manja nego ikad, pa su one postale standard čak i u veoma malim preduzećima. Delovi mrežnog operativnog sistema koji štite informacije na mreži omogućuju administratoru da zaštiti kompanijske podatke od spoljnih upada u mrežu kao i da kontroliše pristup osetljivim podacima sa mreže.

Razdvojimo razloge za i protiv mreža sa serverima u dve liste. Evo liste prednosti ovih mreža: centralizovanost – prijavljivanje na mrežu, pristup i upravljanje njenim resursima, kao i

bezbednost podataka kontroliše se kroz server, lako se pravi rezervna kopija direktorijuma i datoteka zahvaljujući tome što su smešteni na centralnoj lokaciji.

jednostavnost - korisnicima treba samo jedno korisničko ime i lozinka. skalabilnost - bilo koji ili svi elementi mogu se jednostavno zameniti po potrebi ili proširiti dostupnost - serveru se lako pristupa udaljeno i preko više različitih platformi brzina - poseban, snažan server omogućava korisnicima brži pristup resursima.

A evo i nedostataka: visoka cena - cena servera, mrežnog operativnog sistema i odgovarajuće klijentske licence može

biti previsoka za vlasnike malih preduzeća a I za održavanje je potreban veći broj administrarora koji koštaju.

zavisnost - kada postoji problem sa serverom, čitava mreža je u zastoju a pored toga neko mora biti zadužen za podizanje mreže i upravljanje njenim resursima, što znači da radno mesto mrežnog administratora mora da postoji.

Lokalna mreža (LAN), što je drugo ime za mreže sa serverima na jednoj lokaciji, skoro po pravilu postoji u svim firmama u današnjem poslovnom svetu. Različite vrste servera mogu se naći čak i u malim lokalnim mrežama. Pogledajmo mogućnosti koje nam se pružaju.

3. Vrste mrežnih serveraVeć smo pomenuli činjenicu da LAN mreže imaju server koji proverava identitet korisnika kada se

prijavljuju na mrežu. Ako korisnik unese neodgovarajuće korisničko ime i lozinku, server mu ne dopušta pristup na mrežu. U velikim mrežama, ovaj "centralni računar" može postati preopterećen kada svi korisnici krenu da se prijavljuju na mrežu. Da bi se ovaj server rasteretio, obično se njegovo radno opterećenje raspodeljuje i na druge specijalizovane servere.

Serveri datotekaNa ovim serverima smeštaju se datoteke potrebne korisnicima mreže. Oni sadrže i datoteke koje deli

veći broj korisnika. Deljene datoteke se obično smeštaju u zajedničke direktorijume, u kojima se mogu naći i privatni direktorijumi, namenjeni određenim korisnicima. Vrlina servera datoteka je to što se sve važne datoteke nalaze na jednom mestu, pa se lako mogu, s vremena na vreme, napraviti njihove rezervne kopije. Mana je to što, ako server padne, korisnici ne mogu pristupiti svojim datotekama.

Serveri za štampačeOvaj server služi za pristup štampačima dostupnim na mreži. On, u stvari, upravlja informacijama

upućenim štampaču. Zbog toga što zahtevi za štampu moraju da budu smešteni u privremenu memoriju računara pre nego što se upute štampaču, (engl. spooled ), server za štampače odvaja prostor na čvrstom disku za ovu namenu. Ovaj server, takođe, sve zahteve za štampu ređa, tj. stavlja u red za čekanje. Mrežni administrator može da izbriše bilo koji zahtev za štampu ili mu promeni redosled.

Komunikacioni serveriOvaj server izvršava specijalizovani softver koji omogućuje korisnicima na mreži da međusobno

komuniciraju. On nudi usluge kao što su elektronska pošta i diskusione grupe, pomoću kojih korisnici razmenjuju informacije. Dva najpopularnija softverska paketa za komunikaciju na LAN mreži su Microsoft Exchange i Lotus Notes.

Serveri aplikacijaNa ove servere smeštaju se razne aplikacije, kao što su specijalizovne baze podataka. Čak i aplikacije

uobičajene za stoni računar, kao što su program za obradu teksta i program za tabelarnu obradu podataka,

13

mogu da se smeštaju na ovaj server. Ovo znatno olakšava ažuriranje (engl. update) aplikacija, jer se one ne nalaze na klijentskim radnim stanicama, nego na serveru za aplikacije.

Web serveri Pomoću ovih servera možemo sami da izradimo Internet stranu, kojoj će pristupati kako zaposleni u

našem preduzeću (to se zove intranet), tako i ljudi koji krstare po Internetu. Web serveri nisu za svakoga - mnoge kompanije angažuju firme koje se bave izradom i održavanjem Web strana. Veliki broj softverskih paketa može se upotrebiti za podešavanje Web servera. Razlikuju se po lakoći rada i stabilnosti.

Drugi specijalizovani serveriNa mreži se mogu naći i vrste servera koji ne nude resurse korisnicima LAN mreže. Oni omogućavaju

ispravan rad mreže i povećavaju njenu efikasnost. Na primer, na većim mrežama koje koriste mrežni protokol TCP/IP, na svakom računaru se mora podesiti jedinstvena Internet Protokol (IP) adresa da bi on mogao da komunicira na mreži. To znači da bi tada mrežni administrator morao da podešava stotine računara, svaki posebno. Rešenje za ovo je server koji koristi Dynamic Host Configuration Protocol (DHCP). Ovaj server automatski dodeljuje IP adrese računarima kada se ovi prijavljuju na mrežu.

Dynamic Host Configuration Protocol može da radi na glavnom mrežnom serveru, ali i na bilo kom drugom serveru mreže. Određeni operativni sistemi imaju ugrađenu verziju DHCP protokola. To znači da se server može podesiti da dinamički dodeljuje IP adrese (ovaj opseg adresa se naziva "skup" - engl. scope) računarima na mreži. DHCP protokol štedi vreme koje bismo potrošili na podešavanje IP adresa svakog računara na mreži ponaosob.

Drugi specijalizovani serveri na lokalnoj mreži su hardverska podrška operativnim sistemima koji svakom računaru dodeljuju ime blisko korisniku. Na primer, kada želimo da posetimo Web stranu, upisujemo njeno ime (takođe poznato kao jedinstveni identifikator resursa - engl. Uniform Resource Locator - ili URL) u svoj pretraživač Interneta. Obično ne unosimo numeričku adresu strane (što, u stvari, jeste IP adresa). Specijalni serveri na Internetu, zvani DNS serveri (podržavaju uslugu Domain Name Service) preslikavaju to ime koje je zgodno korisnicima u stvarni oblik adrese. Neretko se i na lokalnoj mreži podesi DNS server sa istom ovom funkcijom.

Slika 10 Klijent-server mreža

14

3. OpenVMS

Open VMS (Open Virtual Memory System), ranije poznat kao VAX-11/VMS, VAX/VMS ili VMS je naziv high-end mrežnog operativnog sistema koji se pokreće na VAX, Alpha i Itanium- zasnovanim familijama računara. Za razliku od nekih drugih mainframe orijentisanih operativnih sistema poput z/OS, Open VMS ima grafički korisnički interfejs, sa prilično kompletiranom grafičkom podrškom, pa se zato koristi u proizvodnji i školskoj edukaciji podjednako kao i za kućnu upotrebu. Sredinom 90-tih godina VAX korporacija je bila jedna od tri najvećih prodavca linija radnih stanica (druge dve su bile: Domen/OS od strane Apolo i San Mikrosistem UNIX).

Open VMS je više korisnički , multiprocesorski, virtuelno memorijski zasnovan operativni sistem napravljen za upotrebu u time sharingu, paralelnom radu, batch procesuiranju, radu u realnom vremenu (gde se prioritetni procesi mogu setovati na višem nivou nego OS kernel poslovi), i transakcionim obradama. Ovakav operativni sistem koristi planiranje CPU-a i multiprogramiranje dozvoljavajući svakom korisniku da koristi procesor tokom malog, unapred definisanog vremenskog intervala. Maksimalnu iskorišćenost postiže kroz clustering, ili sposobnost da se distribuira preko više fizičkih mašina. VMS takođe sadrži sistem prioriteta procesa koji omogućuje real-time procesima nesmetano izvršavanje, dok korisnički procesi dobijaju privremeni prioritet „boosts“ ukoliko je neophodno. VMS pruža visok sistem dostupnosti kroz klasterovanje (grupisanje), tj. mogućnost da distribuira sistem preko više fizičkih mašina. Ovo omogućava sistemu da bude „tolerantan na katastrofe“ tj, ukoliko dođe do prirodne nepogode koja može onemogućiti individualne podatke na jednom računaru. VMS takođe uključuje sistem prioritetnih procesa koji omogućava real time procesima da se izvršavaju nesmetano, dok se korisnički procesi privremeno ubrzavaju, ukoliko je to potrebno.

Slika 1. OpenVMS LogoOpenVMS je komercijalizovao mnoge mogućnosti koje se sada smatraju za standarne zahteve u

bilo kom high-end serverskom operativnom sistemu. Neke od tih mogućnosti su:

Simetrično, asimetrično i NUMA multiprocesiranje grupisanje (clustering), Integrisane računarske mreže (originalno DECnet, a kasnije TCP/IP) Distribuirani fajl sistem Integrisane mogućnosti u bazama podataka, kao što su RMS Podrška za višestruke računarske programske jezike Standardizovani mehanizam za pozivanje između dva ili više različitih programskih jezika Sopstveni proširivi komandni jezik (Digital Command Language) Hardversko particionisanje multi procesora Visok nivo zaštite.

Srednja preduzeća obično biraju i koriste OpenVMS na različite načine, uključujući tu mail server, mrežne servise, kritične aplikacije i baze podataka, a posebno u sredinama u kojima je vreme rada sistema i pristup podacima od presudnog značaja. Postoji slučaj gde je VMS radio punih trinaest godina. Funkcije kao što su „Kotrljajući upgrade“ i klasterovanje, omogućavaju klasterovanim aplikacijama i podacima da ostanu neprestano dostupne, dok se operativni sistem i hardver nadograđuju. Korisnici koji najčešće koriste OpenVMS su banke i finansijske institucije, bolnice, mrežni informativni centri i preduzeća za masovnu proizvodnju raznih proizvoda.

3.1 Istorija VMS-aAprila 1975. Digital Equipment Corporation, je krenula sa hardverskim projektom zvanim Star,

da dizajnira proširenje 32-bitne virtualne adrese na svojoj liniji računara PDP-11. Juna 1975. se kreće sa razvojem totalno novog operativnog sistema sa imenom Starlet, koji se zasniva na RSX-11M Star familiji procesora. Ova dva projekta su bila usko vezana od samog početka. Rezultat ova dva projekta su računar

15

VAX 11/780 i VAX-11/VMS operativni sistem. Ime Starlet je preživelo pod VMS-om kao ime nekoliko glavnih sistemskih biblioteka, uključujući STARLET.OLB i STARLET.MLB. Tokom godina ime projekta se menjalo. 1980. projekat je preimenovan sa verzijom 2.0 u VAX/VMS (u isto vreme kad je i VAX-11 računar preimenovan u VAX). Predstavljanjem MicroVax serije računara, kao što su MicroVaX II i MicroVax2000, sredinom 80-tih, Digital objavljuje MicroVMS verziju operativnog sistema, specijalno ciljanu za ove platforme. MicroVMS se objavljivao uz VAX/VMS verzije 4.0 do 4.7 na TK50 trakama i RX50 flopi diskovima, ali je prestao da se distribuira uz verziju VAX/VMS 5.0.

Tokom godina naziv ovog operativnog sistema je više puta menjan. Od 1980. poznat je kao VAX/VMS, a kasnije je, paralelno sa uvođenjem MicroVAX linije računara preimenovan u MicroVMS. Naziv koji nosi i danas, OpenVMS, dobio je 1991. godine, kada je konačno prestao da bude specijalizovani operativni sistem za VAX liniju računara, istovremeno postavši Unix kompatibilan. Iste godine počeo je i razvoj verzije za 64-bitnu Alpha RISC platformu koji je završen naredne, 1992, mada je potpuno 64-bitno adresiranje omogućeno tek u verziji 7.0 lansiranoj januara 1996. Manja (v7.1) revizija je usledila 1997. godine, a sledeće veliko izdanje ovaj mrežni operativni sistem doživeo je tek 2003. godine. 2005. godine stigla je i podrška za Intel Itanium platformu (v8.2), nedugo potom i podrška za multiprocesorske Alpha i Itanium sisteme (v8.3, 2006. godine), da bi oktobra 2007. bila objavljena za sada aktuelna verzija 8.3-1H1 sa podrškom za Blade servere c-klase (Blade serveri su serverski računari modularno dizajnirani na takav način da zauzimaju minimum prostora iz maksimalno efikasnu potrošnju električne energije i nesmanjenu funkcionalnost. Smeštaju se u posebna blade kućišta u kojima može biti i po više blade servera).

1991. sistem se ponovo preimenuje u OpenVMS kako bi se iskazala podrška industrijskim standardima kao što su POSIX i Unix. OpenVMS ime se prvi put pojavljuje posle objavljivanja verzije 5.4-2.

Danas se OpenVMS koristi u velikim okruženjima kao mail server, sistem za kontrolu i nadgledanje proizvodnje i transporta ili u sistemima sa kritičnim aplikacijama i bazama podataka, naročito kada su pouzdanost sistema i pristup datotekama bitni. Postoje podaci da je na pojedinim serverima OpenVMS funkcionisao i punih deset godina bez greške i ijednog pada sistema, pri čemu su pomenute mogućnosti distribucije sistema omogućavale hardverske nadogradnje bez privremenog gubitka funkcionalnosti. U korisnike OpenVMS-a ubrajaju se razne banke i velike finansijske institucije, bolnice i mnogi poznati proizvođači sa velikim informacionim sistemima.

3.2 Podrška za DEC Alpha procesorePodrška za Alpha procesore rezultirala je stvaranjem drugih, odvojenih biblioteka izvornog koda

(zasnovanih na izvornom kodu alata za upravljanje poznatih kao VDE) za VAX 32-bitne biblioteke izvornog koda i druge nove biblioteke za Alpha 64-bitnu arhitekturu. 1992. godine je objavljena prva verzija OpenVMS-a za Alpha AXP sisteme, poznata kao OpenVMS AXP V1.0. 1994. godine, sa objavljivanjem verzije 6.1 postignut je paritet između VAX i Alpha sistema. Ovo je bilo takozvano „Funkcionalna Ekvivaletnost“ izdanje.

3.3 Podrška za Intel Itanium procesore2001. godine, neposredno pre kupovine Compaq-a od strane Hewlett-Packard-a, objavljena je

podrška za Intel Itanium arhitekturu. Ova podrška je postignuta upotrebom koda koji se koristio u OpenVMS Alpha izvornim bibliotekama, sa dodatnim modulima koji sadrže promene koje su zahtevane od Itanijum arhitekture. OpenVMS Alpha izvorni kod je izabran kao osnova za dalji razvoj zato što je mnogo više prilagodljiv nego originalni OpenVMS Vax izvorni kod, a pogotovo što je Alpa izvorni kod već bio 64-bitni. Dva izdanja, OpenVMS I64 V8.0 i verzija 8.1 su bila dostupna od 30. juna 2005. godine. Ova izdanja su bila namenjena HP-u kao i nekim drugim distributerima koji su bili umešani u proizvodnju softvera za OpenVMS I64.

Datum Verzija Napomena

25.10. 1977. V1.0 Početno komercijalno izdanje

April, 1980. V2.0 VAX-11/750

16

April, 1982. V3.0 VAX-11/730

Septembar, 1984. V4.0 VAX 8600 i MicroVMS (zaMicroVAX)

April, 1988. V5.0 VAX 6000

Novembar, 1992. V1.0 prva OpenVMS AXP (Alfa) specifična verzija

Jun, 1993. V6.0 VAX 7000 i 10000

April/Maj, 1994. V6.1 stapanje VAX i Alpha AXP brojeva verzija

Januar, 1996. V7.0 puno 64-obitno virtuelno adresiranje na Alfu

1997. V7.1

Jun, 2003. V8.0 limitirana dostupnost integriteta

Februar, 2005. V8.2 zajedničko Alfa i Itanium izdanje

Septembar, 2006. V8.3 Alfa, Itanium podrška dvojnog jezgra

Oktobar, 2007. V8.3-1H1 c-Klasa Integritet podrške servera

Tabela 1.1 Vreme većih izdanja

3.4 Karakteristike OpenVMS sistema

3.4.1 Grupisanje (Klasterovanje)OpenVMS podržava grupisanje (prvo nazvano VAX grupisanje, a kasnije VMS grupisanje),

gde više sistema deli prostor na HDD-u, procesorsku snagu, poslove koji čekaju na izvršenje, dokumente koji čekaju na štampanje i oni su povezani specijalnim hardverom ili industrijski standardizovanim LAN-om (obično ethernetom). LAN zasnovana grupisanja obično se nazivaju LAVc (Local Area Network VMSclusters) i omogućavaju rad bez čvrstog diska, tj sistem se podiže preko mreže koristeći neki drugi sistem kao butabilni.

Podrška za VAX grupisanje prvi put je dodata u verziji 4, koja je objavljena 1984. Ova verzija je podržavala grupisanje samo preko CI, dok su kasnije verzije donele podršku za klasterovanje preko LAN-a. Razne verzije klasterovanja su moguće preko Gigabitne mreže, SCSI-ja, FDDI-a itd.

OpenVMS podržava do 96 noda na jednom klasteru, i dozvoljava mešanu arhitekturu klastera, gde VAX i Aplha sistemi, ili Alpha i Itanijum sistemi Slika 2. GUI OpenVMS-amogu koegzistirati u pojedinačni klaster. (Razne organizacije su demonstrirale trostruku arhitekturu klasterovanja i konfiguraciju klastera do 150 noda, ali ovakve

konfiguracije nisu podržane od strane HP-a). Za razliku od drugih rešenja klasterovanja, VAX klasterovanje pruža transparentnost i distribuirano piši – briši sa record-level lockin-om, što znači da se istom disku, ili čak istom fajlu, može pristupati sa nekoliko različitih nodova odjednom. Zaključavanje se dešava samo na nivou jednog zapisa ili fajla, što bi obično bio jedan red teksta ili jedan zapis u bazi podataka. Ovo omogućava konstrukciju visoko dostupnih i višestrukih servera baza podataka. Veza između klastera može ići i do 800 km, omogućavajući članovima grupa da budu locirani u različitim zgradama ili čak u različitim gradovima.

Puni pristup DLM-u (distributed lock manager) je dostupan programerima aplikacija, i omogućava aplikacijama da koordiniraju proizvoljno resursima i aktivnosti preko cele strukture. Ovo očigledno uključuje koordinaciju fajlova, ali resursi, aktivnosti i operacije kojima se može upravljati preko DLM-a su apsolutno slobodne.

17

Sa mogućnošću rolling nadogradnje i sa višestrukim sistemskim diskovima, konfiguracija klastera može biti izvedena on line i nadogradnja se može izvršavati inkrementalno. Ovo dozvoljava konfiguraciji klastera da kontinualno pruža aplikacijama i podacima pristup, dok se skup članova nadograđuje na noviju verziju softvera.

3.4.2 Upravljanje memorijomOriginalni sistem memorijskog upravljanja prihvata samo 32-bitno adresiranje. Sistem je dopunjen

64-bitnim servisom koji prihvata 64-bitne adresne argumente. Imena koja se završava na _64 i ukazuju da se prihvate i 64-bitne adrese po referenci. Originalni sistemski servis za korišćenje 32 bitne adrese, proširuje se dodavanjem virualne memorijske lokacije za izvršavanje 64-bitnih aplikacija. Ovaj dodatak koristi termin 32-bitni za originalne usluge i termina 64-bitni za usluge usluge čija imena se završavaju na _64 ili usluge koje mogu da utiču na taj dodatni prostor prostor.

Kada je omogućena 64-bitna podrška, kompleksni sistemski servisi podeljeni su na veliki broj novih servisa i procesa. Novi procesi se bave ili procesom ili globalnom selekcijom ali ne istovremeno. Mnogi od 32-bitnih memorijskih sistema za upravljanjememorijom imaju slične strukture i sekvenci i slične argumente. Takođe i 64-bitni sistem ima sličnu strukturu i argumente.

3.4.3 Fajl sistemOpenVMS ima veoma bogate funkcije fajl sistema, sa podrškom za snimanje protoka I/O

podataka, stream i zapisu orijentisani I/O, liste sa dozvolama pristupa (ACLs), i više tipova fajlova.. Pisanje i čitanje se kontrolišu na nivou zapisa, što znači da istom fajlu može istovremeno pristupiti i po nekoliko čvorova, a fajl je zaključan za pristup jednom čvoru samo u svom delu koji se neposredno menja, na primer jedna linija teksta u čitavom tekstualnom dokumentu. Ova sjajna osobina, uz mogućnost softversko-hardverskih nadgradnji na pojedinačnim čvorovima bez uticaja na funkcionisanje celine, tj. klastera, omogućila je stalnu visoku raspoloživost OpenVMS sistema.

Fajl-sistem VMS operativnog sistema je, u skladu sa prethodno navedenom osobinom, jako kvalitetno zamišljen i realizovan. Osim upisa i čitanja organizovanih na nivou pojedinačnih zapisa, postoji stream podrška i ACL kontrola. Stream (eng. stream - potok, tok) koncept je najlakše opisati ako se jedan fajl shvati kao skup više različitih tokova koje jedna ista, ili različite aplikacije, koriste na različite načine. Jednostavan savremeni primer za ovo je npr. JPG koji je u jednom toku kompresovana slika, a u drugom sadrži informacije o veličini slike, datumu fotografisanja, modelu digitalnog fotoaparata i td. ACL (eng. Access Control List) predstavlja listu kontrole pristupa koja omogućava davanje različitih privilegija za čitanje i pisanje određenih fajlova određenim grupama korisnika

Tipičan korisnički interfejs u fajl sistemu je RMS (Record Management Sistem). RMS su procedure koje aplikacije mogu pozvati kako bi pristupile ili snimile fajlove. VMS RMS su integrisani deo sistemskog softvera i njegove procedure se izvršavaju u glavnom izvršnom modu. RMS podržava četiri metode pristupa podacima

Sekvencijalni pristup Indeksirani pristup Pristup preko adrese fajla Relativni brojevni pristupRMS takože podržava tri metode za upis podataka: Fiksna dužina Varijabilna dužina Varijabilna dužina upisa sa fiksnom kontrolom blokova

3.4.4 Programiranje - Common Language Environment (integracija jezika u okruženju)Jedna od značajnijih mogućnosti OpenVMS-a je Common Language Enviroment, striktno

definisani standard koji određuje pozivanje funkcija i rutina uključujući stekove, registre itd, nezavisno od programskog jezika. Zajedničko okruženje za programske jezike podržava mixed-language pozive, set specifičnih jezika, run-time biblioteku (RTL) i sistemske rutine. Jezik poziva i RTLs su implementirani u korisnički model deljivih slika, dok su pozivi sistemskim servisima, generalno, deo operativnog sistema, ili deo privileged-mode koda. Zbog ovoga, moguće je pozvati rutinu pisanu na jednom jeziku (na primer Fortran) iz drugog jezika (na primer Cobol), bez potrebnog znanja implementacije te rutine na ciljnom

18

jeziku. OpenVMS je i sam pisan iz mnoštva različitih jezika (primarno Bliss, VAX macro i C), i Common Language Enviroment omogućava slobodno mešanje ovih jezika sa mnogim drugim. Postoji veliki broj različitih alata koji su integrisani, mada je OpenVMS otvoren i za različite druge add-on jezike i alate.Ovo je kontrast sistemu kao što je Unix, koji je gotovo ceo napisan na C jeziku. Sam VMS je primenjiv u različitim jezicima (prevnstveno BLISS, VAX Macro i C), a zajedničko jezičko okruženje i pozivanje standarda podržavaju slobodno mešanja ovih jezika, kao i Ada, PL/I, Fortran, Basic i drugih. Ovo je u suprotnosti sa sistemom kao što je UNIKS, koji je gotovo u potpunosti primenjiv u C jeziku.

3.4.5 ZaštitaBezbednost sistema predstavlja izuzetno bitan faktor pri procenjivanju kvaliteta mrežnih

operativnih sistema Sa tog gledišta OpenVMS pruža različite zaštitne mogućnosti i mehanizme. Njegov bezbedonosni mehanizam uključuje kontrolne liste pristupa koje omogućuju sigurnosno identifikovanje korisnika, identifikatore resursa, podsistemske identifikatore, zaštitne alarme i detaljne bezbedonosne revizije. Sve to podrazumeva upravljanje lozinkama i drugim parametrima korisničkih naloga, kontrolu i nadgledanje upada, čuvanje istorije lozinki, grupisanje korisnika u bezbednosne klase, postavljanje restrikcija nad diskovima i datotekama, kontrolu pristupa zaštićenim programima i čuvanje izveštaja o greškama, pokušajima upada, pristupima datotekama, akcijama operatora i slično. Kao primer koliko je ovaj sistem bezbedan, može da posluži podatak da su određene verzije ovog operativnog sistema nastale po zahtevu Američkog ministarstva odbrane i zadovoljavale su stroge kriterijume za zaštitu računarskih sistema koje je propisala Vlada USA - Rainbow Series standarde.

3.4.6 Debugging (otklanjanje grešaka)VMS modul za čišćenje grešaka (debugger) podržava sve DEC-ove kompajlere. On omogućava

da se na raznim tačakama (brakepoints, watchpoints) i interaktivnim programima otklanjanjaju greške ili sa komandne linije ili sa grafičkim verzija za otklanjanje grešaka.

3.4.7 Run-time Libraries OpenVMS sadrži veoma bogat set Run-time Libraries (RTLs). Ovi pokrivaju širok opseg

funkcija, uključujući i string manipulacije (STR$ routines), matematičke operacije (MTH$ routines), run-time biblioteke (LIB$ routines), upravljanje operacijama ekrana (SMG$ routines) i niz drugih kategorija grupisanih zajedno kao funkcije opšte namene funkcije (OTS$ routines). Ove funkcije u kombinaciji sa sistemom servisa nižeg nivoa, olakšavaju pisanje složenih programa. Pre pisanja jednostavnog programa na jeziku visokog nivoa, međutim, korisnik bi trebalo da razmotri da li planirana operacija može biti izvršena preko DCL funkcije iz komandne datoteke.

3.4.8 Upravljanje korisnicimaVMS se odlikuje postojanjem sistema za upravljanje korisnicima jednostavno nazvanim Account

Management. U odnosu na, recimo, Active Directory Windows familije operativnih sistema nešto je skromnijih mogućnosti, dok je upravljanje korisnicima prilično komplikovano i zahteva proceduru koju je gotovo u potpunosti potrebno ručno ponoviti kroz sve pojedinačne korake. Korišćenjem konzole, tipičan dijalog kojim se kreira novi korisnik izgleda ovako: $ RUN SYS$SYSTEM:AUTHORIZE UAF> ADD JONES/PASSWORD=LPB57WM/UIC=[014,1] - _UAF> /DEVICE=DISK$USER/DIRECTORY=[JONES] - _UAF> /LGICMD=DISK$USER:[JONES]LOGIN - _UAF> /OWNER="ROBERT JONES"/ACCOUNT=DOC UAF> EXIT

$ CREATE/DIRECTORY DISK$USER:[JONES] /OWNER_UIC=[014,1]

$ CREATE/DIRECTORY DISK$USER:[JONES.MAIL] /OWNER_UIC=[014,1]

$ RUN SYS$SYSTEM:SYSMAN SYSMAN> DISKQUOTA ADD - _SYSMAN> [JONES]/DEVICE=DISK$USER/PERMQUOTA=2000 -

19

_SYSMAN> /OVERDRAFT=500 SYSMAN> EXIT

Slika 7: Kreiranje korisničkog naloga u OpenVMSU ovom procesu kreiraju se korisničko ime i lozinka za korisnika i otvaraju privatni folder na disku i folder za e-mail nalog sa kvotama. Proces se može delimično automatizovati uvođenjem scriptova, ali i kao takav je prilično naporan, naročito za mreže sa većim brojem korisnika

3.4.9 Backup komponentaVeoma bitna mogućnost VMS-a je postojanje Backup komponente. Postoje tri osnovna Backup

režima: Image Backup (kojim se pravi kopija čitavog diska na drugi uređaj, uz opcionu verifikaciju), Incremental Backup (kojim se pravi poređenje sa postojećim Image Backupom i dodaju se samo fajlovi kreirani/promenjeni nakon poslednjeg Image Backupa) i Backup With Volume Shadowing (kojim se 1-3 fizička diska vezuju u logičku celinu - shadow set - takvu da se zapis na jedan disk prosleđuje svim članovima logičke celine radi obezbeđenja integriteta podataka). Poslednja procedura nije klasičan backup jer ne postoji zaštita od slučajnog brisanja datoteka ili softverskih grešaka.

3.4.10 Print serverVMS može sasvim korektno da funkcioniše i kao print server zahvaljujući LPR/LPD servisu nalik

Unixovom. LPD (Line Printer Daemon) vodi računa o dolazećim zahtevima za štampu i prosleđuje ih odgovarajućem štampaču, dok je LPR (Line Printer Request) klijent koji se aktivira kada se izda lokalna naredba PRINT. LPR/LPD bez problema funkcioniše i sa TCP/IP printerima. Zanimljiva opcija VMS Print servera je postojanje tzv. printer farmi - ukoliko se kreira jedna farma, koja predstavlja generički virtualni printer, svi zahtevi za štampu mogu se prosleđivati i ređati u jedinsteni red za štampu. VMS na ovaj način može obezbediti balans zauzetosti između većeg broja štampača tako što će im automatski ravnomerno prosleđivati poslove iz kreiranog redosleda.

3.4.11 TimekeepingOpenVMS predstavlja sistemsko vreme kao 64-bitni broj od 100 nanosekundi intervala (10

miliona jedinica u sekundi) od epoch. Epoch je ponoć 17. novembra 1858. godine, što se smatra početkom modifikovanog Julian Day brojanja. Nije neophodno sat osvežavati svakih 100 ns; npr., sistem sa 100 Hz interval tajmerom jednostavno dodaje 100 000 na postojeću vrednost svake stote sekunde. Operativni sistem sadrži mehanizam za regulaciju hardverskog otklona; koji, ukoliko je kalibrisan poznatim vremenskim standardom, lako postiže tačnost bolju od 0.01%. Sve OpenVMS hardverske platforme dobijaju timekeeping iz internog sata koji nije ni u kakvoj vezi sa naizmeničnom frekvencijom napona napajanja.

Kada je sistem isključen, vreme se održava preko Time-of-Year (TOY) hardverskog sata. Ovaj sat održava vreme na niskoj rezuluciji (najčešće 1 sekund) i generalno, niskoj tačnosti (često 0.025% nasuprot radne 0.01%). Kada se sistem restartuje, VMS 64-bitna vremenska vrednost se ponovo izračunava na osnovu vremena sadržanom u TOY satu i poslednjem zapisu godine (sačuvanom na sistemskom disku).

20

4. NetWare operativni sistem

Iako su Windows i Linux danas ubedljivo najpopularniji mrežni operativni sistemi, oni nisu jedini. Upoznaćemo se i sa manje poznatim operativnim sistemima, kao što su: Open VMS i Novell NetWare. U ovom trenutku, mnoge kompanije proizvode softver za LAN-ove, tako da postoje i mnogi drugi mrežni operativni sistemi koji ovde nisu pomenuti.

Novell NetWareNetWare je mrežni operativni sistem razvijen od strane Novell-a. Ovaj mrežni operativni sistem

pre svega poznat je po tome što je među prvima uveo mogućnost multitaskinga, odnosno istovremenog izvršavanja većeg broja zadataka. U početku je koristio kooperativni multitasking (scheduling) kako bi simulirao paralelizam u izvršavanju, a mrežna arhitektura je bila zasnovana na Xerox-ovoj varijanti koja je podrazumevala udaljene pozive procedura i rutiranje paketa po mreži po Internet Datagram Protocol (IDP) koji je bio veoma sličan Internet Protokolu (IP) kasnije. Koristio se za izvršavanje multitaskinga na personalnom računaru, dok su mrežni protokoli bili zasnovani na Xerox Network Sistemu (IPX/SPX). NetWare je evoluirao od malog koncepta: deljenje fajlova umesto deljenja diskova. 1983. kada je predstavljena prva verzija NetWare-a, svi drugi konkurentski proizvodi su bili zasnovani na konceptu omogućavanja direktnog pristupa diskovima. Novelov alternativni pristup je potvrdio i IBM 1984. godine i pomogao im da promovišu svoj proizvod.

Sa Novelovim NetWare-om, prostor na disku je deljiv u formi NetWare volumena, koji su bili DOS kompatibilni i to tako što je bilo dovoljno da klijent pod DOS-om pokrene jedan rezidentan program koji će mapirati slovo kojim je označen lokalni disk u slovo koje je prihvatljivo NetWare-ovom OS. Klijenti, koji su koristili MS-DOS, su pokretali specijalnu aplikaciju „Terminate and stay resident TSR“, koja je dozvoljavala da se mapira lokalni disk na NetWare volumenu. Klijenti su morali da se loguju na server kako bi im bilo dozvoljeno mapiranje diskova, i pristup im je mogao biti zabranjen prema korisničkom imenu. Slično ovome, mogli su da se povežu na deljeni štampač i da štampaju kao da je printer povezan u lokalu. Zbog ovokvog mapiranja i pristupa diskovima, jasno je zašto se ovaj operativni sistem često poistovećuje sa komandnim DOS-olikim sistemom.

Krajem devedesetih kada je “cvetalo“ povezivanje na Internet, Internet TCP/IP protokol je postao dominantan na LAN-u. Novell je predstavio ograničenu verziju TCP/IP protokola u verziji NetWare 3.x, uglavnom se zasnivajući na FTP servisima i UNIX LPR/LPD štampanju. Puna podrška TCP/IP protokolu, fajl i print servisima je predstavljena tek 1998. godine u verziji NetWare v 5.0

Sredinom 80-tih Microsoft je predstavio svoj LAN sistem kroz LAN Manager zasnovan na konkurentskom NetBios protokolu. Rani pokušaji da se Microsoft nametne NetWare-u su bili bezuspešni, ali sa promenama koje su uključile poboljšanu mrežnu podršku u Windows for Workgroup-u, a zatim i sa Windows NT-om su bacile Netware u drugi plan. U osnovi ponuđeni servisi su bili slični onima koje je nudio NetWare, ali sa sistemom koji je mogao da se koristi na desktop-u i da se povezuje direktno na druge Windows desktop računare.

Iako po mnogo čemu jedinstven, naročito u pogledu kvaliteta i pouzdanosti, ovaj operativni sistem ipak je doživeo svoj konačni kraj sa verzijom 6.5 SP8 objavljenom oktobra 2008. godine.

4.1 IstorijaUbrzan razvoj Novell NetWare sistema je počeo razvojem PC računara koji su žudeli za neki

način povezivanja. Do tada je to bilo rezervisano samo za velike i skupe sisteme koji nisu bili svima dostupni a i daleko od toga da su mogli da stanu na sto korisnika. 16-bitni zaštićeni mod procesora 80286 je dao osnovu za multitasking OS koji je u kombinaciji sa maksimalnih 16MB radne memorije i hard diskovima koji su po tehnologijama bili najčešće MFM, RLL, ESDI i mnogo ređe SCSI sa 40-tak MB činili okosnicu prvih računarskih mreža PC računara. 256MB ograničenja particije diska se činilo nedostižnim. Ovakvu pogodnost nije moglo da naruši ni to što su nastupili sa zatvorenom arhitekturom 8-bitnih i 16-bitnih mrežnih kartica na čiju tehnologiju su stavili šapu time što su tržištu ponudili 10Mbps protok dok su svi ostali kaskali na 64Kbps. Mrežni protokol koji su koristili bio je IPX/SPX (Internetwork Packet Exchange/Sequenced Packet Exchange) kao nasleđe Xerox-ovog sistema internet datagrama (IDP). Koristivši mogućnost instalacije više od jednog servera u mreži i maksimalni kapacitet od 250 korisnika je bio dovoljan za male mreže. Ono što je bilo nedorečeno je administriranje sistema

21

kada je za svaku promenu bilo potrebno rekompajliranje kernela. Radne stanice koje se povezuju sa centralnim računarom (serverom) mogu da rade pod operativnim sistemom DOS ( verzije 2.x ili više), OS/2 (sve verzije), MS Windows i Unix sa instaliranim NFS (Network File System) sistemom. Popularizacija i rast prodaje Novell NetWare-a počela je 1985. godine objavljivanjem verzije 286 2.0 a i izbacivanjem na tržište Intelovog 16-bitnog procesora 80286. 80286 CPU doneo je 16-bitni mod koji je omogućavao pristup do 16 MB RAM-a kao i nove mehanizme za multi tasking. Već krajem osamdesetih i tokom većeg dela devedesetih Novell NetWare je vladao na tržištu mrežnih operativnih sistema za personalne računare. Tokom 1994. lansirana je četvrta verzija NetWare-a, a najveća novina bila je upotreba direktorijumskog servisa (NDS, NetWare Directory Services, kasnije preimenovanog u Novell Directory Services). NDS je omogućio administraciju svih postojećih objekata u mreži kao što su serveri, diskovi, štampači i, naravno, korisnički nalozi.NDS je pratio standard opisan od strane organa ISO (International Standards Organization) i CCITT (Consultative Committee for International Telegraphy and Telephony; danas se zove ITU). Standard nazvan X.500 opisan je krajem osamdesetih godina, a X.500 specifikacija definiše globalni i distribuirani direktorijumski servis, prvobitno zamišljen kao globalni imenik za industriju telekomunikacija. Struktura X.500 je hijerarhijska i podseća na obrnuto stablo, sa korenom na vrhu i granama koje „rastu” naniže.Usvajanjem direktorijumske tehnologije, Novell je na globalnoj bazi omogućio upotrebu funkcija lokalnih mreža (file, print). Prava korišćenja određenog štampača ili pristup do posebnog hard diska u direktorijumskom servisu dodeljeni su globalno. Zbog sigurnosti moguća je podela NDS stabla u više grana (partitioning) i kopiranje tih grana na više servera (replication). Tako je obezbeđen brz pristup globalnim izvorima informacija, nezavisno od lokacije.

Prvih godina postojanja NDS-a, tržište nije u potpunosti uvidelo prednosti upotrebe direktorijumskog servisa. Istini za volju, NDS nije bio prvi servis te vrste: postojalo je nekoliko različitih X.500 direktorijumskih servisa, ali implementacija je bila komplikovana, zbog zahteva za upotrebu OSI (Open System Interconnect) kao transportnog protokola. Za korišćenje OSI protokola bilo je potrebno puno memorije i procesorske snage, što je u to vreme bilo veoma skupo, a veliki overhead pri prenosu unosio je dodatni problem. Zato je razvoj X.500 direktorijumskih servisa tekao sporo, a jedini prihvaćeni direktorijumski servis bio je StreetTalk, koji je na sjajan način omogućavao fleksibilnu administraciju operativnong sistema Banyan Vines. Pošto je NetWare bio rasprostranjeniji od Vines-a (koji je najviše upotrebljavan u američkoj vojsci), NDS je uskoro zavladao kao direktorijumski servis za PC mreže.

Slika 6. NetWare Konzola

Kada je Novell lansirao ZENworks (Zero Effort Networks), veći deo tržišta je uvideo pravu snagu direktorijumskog servisa. Kombinacija NDS/ZENworks omogućila je administraciju radnih stanica u mreži: koristeći pravila postavljena u NDS-u, administratori distribuiraju aplikacije, service pack-ove i

22

drajvere, preuzimaju kontrolu nad korisničkim personalnim računarom, koriste policies iz Windows-a i tako obezbeđuju uniformna radna okruženja za sve korisnike. Nije čudo što je ZENworks nazvan Novell-ovom killer aplikacijom.U isto vreme Novell je napravio i NDS for NT, koji je korisnicima Windows NT Server-a obezbedio tehnologiju za administriranje računara u domenu preko NDS-a. Umesto velikih domena sa mnogo uvedenih trust relacija, NDS for NT je dozvolio lakšu administraciju i sigurnost, a onda i omogućio Novell-u da nastavi poslovne odnose sa korisnicima koji su davali prednost NT-u u odnosu na NetWare.

Rad u lokalnoj mreži pod operativnim sistemom NetWare podrazumeva da korisnik može da koristi zajedničke resurse mreže, a da istovremeno ima izvestan stepen autonomije (koliko mu omogućava njegova radna stanica). Mrežni operativni sistem se instalira na jedan od računara u mreži i predstavlja fajl server koji upravlja radom cele mreže. Pored mrežnog OS i njegovih modula, na serverima mogu biti instalirane dodatne korisničke aplikacije. Jedna od osnovnih funkcija servera jeste da obezbedi sigurnost podataka koji su njemu upućeni ili na njemu memorisani. Pored “običnih” servera, u računarskoj mreži mogu postojati i komunikacioni serveri. To su namenski računari predviđeni da obavljaju poslove komunikacije mreže sa okruženjem. Novell je za svoj operativni sistem Net Ware lansirao na tržište dve vrste komunikacionih servera i to:

o NetWare Async Communication Server (NACS),o NetWare Acces Server (NAS).

NACS predstavlja mrežni prolaz (gateway) za intenzivan saobraćaj prema WAN mrežama, dok NAS služi za pristup više udaljenih korisnika na NetWare mrežu. Ovim se omogućava udaljenim korisnicima da putem telefonskih veza ostvare vezu sa serverom i da imaju sve mogućnosti kao da rade na jednoj od lokalnih radnih stanica.

Od verzija 4.0 zahtevi su prevazišli potrebe LAN mreža tako da je NetWare zamišljen kao operativni sistem više povezanih mreža ili gradskih računarskih mreža (MAN). Ova verzija podržava višeserverski rad (rad sa više računara-servera) i predstavlja objektno orjentisan operativni sistem, tako da je administracija postavljena na principu upravljanja hijerarhijskih raspoređenih objektima (terminalima, serverima, štampačima), uz definisanje rasporeda izvođenja i dodeljivanja prava korisnicima. Posebne prednosti ove verzije (31/24) su:

- veći broj korisnika (do 1000),- korišćenje perifernih uređaja velikog kapaciteta (optički diskovi i dr.),- mogućnost kompresije podataka,- povećan broj komunikacionih protokola koje podržava i dr.Nove verzije Novell operativnih sistema takođe karakteriše otvorenost prema različitom hardveru

a koja je prvenstveno rezultat primene standardnih interfejsa i međunarodnih standarda u komunikacijama.

4.2 KarakteristikeNetWare je os kompatibilan sa DOS-om, ali nije njegova nadgradnja. On je samostalan i moćan višekorisnički (multiuser) i višeprogramski (multitasking) os, koji je među prvima uveo višeprogramski (multitasking) režim rada. Jezgro operativnog sistema je program NET$OS.EXE kod ranijih verzija, odnosno SERVER.EXE kod verzija 3.x i 4.0. pomoćni programi potrebni za normalan rad mreže smešteni su u 4 sistemska direktorijuma: SYSTEM, PUBLIC, LOGIN, MAIL. U verzijama 3.x i 4.0 postoje još i direktorijumi: DELETED.SAV i ETC. NetWare se dodaje na već postojeći operativni sistem. Sastoji se od klijentskog i serverskog softvera. Na klijente se instalira NetWare Client, a na servere NetWare Server. Sa instaliranim NetWare Client-om, svaki klijentski računar može da koristi sve usluge NetWare Servera pa je zbog toga pogodan za mreže u kojima postoje računari sa različitim operativnim sistemima. NetWare je prvi uveo koncept deljenja fajlova umesto deljenja diska. U početku je koristio IPX/SPX mrežni protokol koji je Novell razvio za potrebe svojih mreža a 1998 god sa verzijom 5.0 prelazi na TCP/IP uz podršku za IPX/SPX. Novell takođe dodaje grafički interfejs u NetWare sa verzijom 5.0. NetWare je dominirao mrežnim operativnim sistemima od sredine 80-tih sve do sredine 90-tih zbog svojih ekstremno visokih performansi u odnosu na druge mrežne operativne sisteme. Svi testovi tokom ovog perioda demonstrirali su odnos performansi 5:1 do 10:1 u korist NetWare prema drugim sistemima. Postoji nekoliko razloga za ovo.

23

4.2.1 Fajl servisi umesto disk servisa

U vreme kada je NetWare prvi put predstavljen, gotovo sav LAN storage je bio zasnovan na disk server modelu. Ovo znači da ako klijentov kompjuter želi da čita određeni blok iz određenog fajla, moraće da pošalje zahtev preko relativno sporog LAN-a:

1. Čita prvi blok direktorijuma2. Nastavlja se čitanje poddirektorijuma sve dok se ne naiđe na željenu informaciju, pa samim tim

može da ima dosta blokova direktorijuma3. Čita se kroz sve ulazne blokove fajlova sve dok se ne naiđe na blok koji sadrži lokaciju

željenog fajla, opet može imati dosta blokova.4. Čita se željeni podatak

Sa obzirom da je NetWare zasnovan na fajl modelu, komunikacija sa klijentom se odvija na API (Application programming interface) nivou samog fajla:

1. Šalje se zahtev za otvaranje fajla2. Šalje se zahtev za željenim podatkom iz fajla

Sav posao traženja direktorijuma kako bi se saznalo gde se željeni podatak fizički nalazi na disku se izvršavao velikom brzinom na samom serveru.

4.2.2 KlasteriPoput VMS-a, i Novell je rano uveo podršku za klastering, omogućavajući tako znatnu višu raspoloživost distribuiranog sistema. Međutim, Novell je kao značaju novinu uveo paralelni NSS mirroring (New Storage System, novi sistem za pohranjivanje podataka, tako nazvan u vreme razvoja, doneo je mogućnost rada sa većim brojem diskova uz povećanu otpornost na greške i napredne načine oporavka od gubitka podataka). U suštini, svakom klasteru pridodavane su kopije podataka sa drugih klastera, što se radilo potpuno transparentno, nezavisno i paralelno sa operisanjem klastera. Na ovaj način bez primetnog opterećenja resursa značajno je podizan nivo bezbednosti, a u slučaju pada jednog klastera, osetio ni se samo pad performansi sistema srazmeran performansama klastera. Novell je u početku razvoja ove mogućnosti ponudio čitavo hardversko/fotversko rešenje pod nazivom NetWare SFT-III, a pad cena računarske opreme kasnije je omogućio kreiranje i znatno moćnijih klastera po nižim cenama.

4.2.3 Agresivno keširanjeOd samog starta NetWare je dizajniran da se koristi na serverima sa većom količinom RAM

memorije. Cela FAT tabela se učitavala u RAM kada se koristi određeni disk, i na taj način sistem zahteva određenu količinu RAM-a proporcionalnu veličini diska. Dodavanje novog diska bi automatski značilo i nadogradnju RAM memorije. Za razliku od najuticajnijih mrežnih operativnih sistema, na prvom mestu Windows NT, NetWare automatski koristi neiskorišćenu RAM memoriju za keširanje aktivnih fajlova. Neočekivano gašenje može izazvati korupciju podataka, tako da kod NetWare-a UPS se podrazumeva pri samoj instalaciji servera.

4.2.4 Efiksanost NetWare Core Protokola (NCP) Većina mrežnih protokola koji su se koristili u vreme kada je NetWare razvijan nisu verovala

mreži da isporuči poruke. Tipičan primer čitanja fajlova sa servera bi izgledao ovako:1. Klijent šalje zahtev serveru2. Server prepoznaje zahtev3. Klijent prepoznaje odgovor od servera da je njegov zahtev prihvaćen4. Server šalje željeni podatak klijentu5. Klijent prepoznaje podatak6. Server prepoznaje odgovor da je klijent primio podatak

U suprotnom, NCP je zasnovan na ideji da mreža treba da radi perfektno sve vreme, pa potvrda o pristiglom podatku nije potrebna. Evo primera kako je prenos zasnovan na ovom modelu:1. Klijent šalje zahtev za čitanje podataka serveru2. Server šalje željeni podatak klijentuSvi zahtevi sadrže redni broj, pa ako klijent ne primi podatak za određeno vreme ponovo će poslati zahtev sa istim rednim brojem. Ukoliko je server već obradio zahtev, poslaće odgovor koji je u kešu, ako ipak

24

nije stigao da obradi zahtev poslaće samo pozitivni odgovor da je primio zahtev. U najgorem slučaju ovaj model je smanjivao 2/3 transakcija na mreži.

4.2.5 Operativni sistem dizajniran za mrežne serviseJedna od glavnih debata devedesetih je bila ta da li je prikladnije da se mrežni fajl servisi

izvršavaju na softverskom nivou koji se nalazi na vrhu operativnog sistema koji se koristi za opšte svrhe ili da se izvršavaju na operativnom sistemu koji je specijalno pravljen za ovu namenu. NetWare je bio taj specijalni operativni sistem. Pisan je od samog početka kao platforma za klijent-server servise. Inicijalno se fokusirao na fajl i printing servise, ali je kasnije demonstrirao svoju fleksibilnost, pokrećući baze podataka, email, web i druge servise. Takođe se pokazao efikasno kao ruter, podržavajući IPX, TCP/IP, Appletalk protokole, ali takođe nikad nije pokazao fleksibilnost kao hardverski ruter. U verzijama 4.X i ranijim, NetWare nije podržavao virtuelnu memoriju, GUI. Radi poređenja, sistemi za opštu upotrebu kao Unix ili Windows, su bili zasnovani na interaktivnom, time-sharing modelu, gde aplikacije koje se izvršavaju mogu koristiti sve raspoložive resurse ukoliko iz nekog razloga to operativni sistem nije zabranio. Ovakvi sistemi su vremenom značajno unapredili svoje mrežne servise i prešli daleko od sistema za opštu upotrebu. Verovatno jedini razlog uspeha Novell-ovog sistema tokom 80-tih i 90-tih je bila znatno veća efikasnost u odnosu na druge sisteme. Ipak, kako je snaga mikroprocesora rasla, efikasnost sistema je postajala sve manja i manja. Predstavljanjem Pentium procesora, performanse NetWare-a su pale u drugi plan samom kompleksnošću upravljanja i razvijanja aplikacija za NetWare okruženje.

4.2.6 Novell eDirectorySvi mrežni podaci smešteni su na čvrstim diskovima fajl servera i organizovani su logički u

jedinice zvane fajlovi ili datoteke. Sistem NetWare –a za smeštanje fajlova sastoji se od čvrstih diskova koji sadrže jednu ili više NetWare particija. Zatim paticije sadrže jedan ili više volumena,volumeni sadrže direktorije,direktoriji poddirektorije a ovi zadnji faljove. Pri instalaciji sistemskog softvera na fajl server, automatski se kreira volumen SYS i na njemu 4 sistemska direktorija: SYSTEM, LOGIN, PUBLIC, MAIL, a kod verzija 3.x i 4.0 još i direktorije ETC i DELETED.SAV. Za rad pod OS Novell NetWare koriste se linijske komande i NetWare meniji. Radi lakšeg kretanja kroz strukturu direktorija u Net Ware-u, direktoriji se mapiraju kao logički diskovi. Za mapiranje diskova koriste se linijska komanda MAP i meni SESSION, a u verziji 4.0 meni NETUSERNovell eDirektorijum (poznat i kao Novell Directory Service), inicijalno objavljen 1993 godine koristi se za centralno administranje i pristup resursima na više servera i klijentima. eDirektorijum je hijerarhijski, objektno orijentisana baza podataka koja se koristi da reprezentuje određene celine u jednoj organizaciji u logičkom drvetu, uključujući korisnike (ljude), pozicije, servere, radne stanice, aplikacije, štampače, servise i grupe. eDirektrijum se korsti u preko 80% najvećih Američkih kompanija. eDirektorijum koristi dinamička prava nasledstva, što omogućava kontrolu nad globalnim i specifičnim pristupom. Prava pristupa nad objektima u drvu su određena u vreme zahteva i određuju se pravima koja su dodeljena objektima prema njihovoj lokaciju u drvetu, i prema individualnim zadacima. Softver podržava particionisanje na bilo kom mestu u drvetu, kao i replikaciju bilo koje particije na bilo koji server. Replikacija između servera se dešava periodično. Svaki server se može ponašati kao master informacija koje čuva, omogućavajuči tako da replika ne bude samo za čitanje. Dodatno, replika se može filtrirati tako da uključuje samo definisane atribute kako bi se povećala brzina (na primer, replika se može konfigursati da čuva samo imena i email adrese svih korisnika). eDirektorijum podržava referencnu celokupnost (referential integrity10), multi master replikaciju, i ima modularnu autetntifikacisku arhitekturu. Direktorijumu se može pristupati preko LDAP11, ODBC12 itd. eDirektorijum može imati milijardu objekata.

4.2.7 Bezbednost i sigurnost Po pitanju bezbednosti, Novell NetWare ne zaostaje nimalo za drugim mrežnim OS: on nudi integrisani firewall zadovoljavajućih mogućnosti koji se prilično lako konfiguriše (doduše, konfigurisanje se vrši sa klijentske radne stanice, što je pomalo čudno), a za razliku od drugih operativnih sistema, korisničke lozinke mogu sadržati čak i specijalne karaktere. Zbog manjeg udela na tržištu, retko je meta virusa i trojanaca, pa sa ove strane nudi prilično visok nivo bezbednosti. Zaštita preko prijavljivanja i lozinke login/pasword kontroliše ko može pristupiti fajl serveru, jer ona kontroliše ko se može prijaviti na

25

mrežu. Starateljska zaštita kontroliše mogućnosti pojedinog korisnika ili grupe da radi sa fajlovim u direktoriju. Svakom korisniku su data određena prava za svaki direktorij. Prava se odnose na čitanje, upis, kreiranje, brisanje, roditeljsko pravo,pretraživanje i modifikovanje. Zaštita atributima fajlova dozvoljava da se kontroliše kada određeni fajl može biti deljen ili modifikovan.Osnovni atributi fajlova su Read/Write, ReadOnly, Shareable i Non – Shareable. Da bi seko dođe do pojave virusa u mreži može se upotrebiti program NETSCAN.EXE ili neki sličan.Na primer za zaštitu servera može se upotrebiti program VSHIELD.NLM ili neki sličan. Međutim naravno u mreži treba instalirati antivirus program koji preporučuje proizvođač samog originalnog softvera Novell NetWare i koji on nudi u paketu.Kad se govori o sigurnosti podrazumeva se i fizička i logička sigurnost sistema.

4.2.8 Mrežni servisiNovell NetWare mašina bez problema može da funkcioniše kao fajl server, a za prenos podataka

mogu se koristiti FTP, HTTP, SMB i mnogi drugi protokoli. NetWare, osim sopstvenog, prepoznaje fajl sisteme i Linuxa i Windowsa, pa je iz tog razloga izuzetno zahvalan za ovu ulogu. Danas se NetWare mašine u domenu fajl servera koriste uglavnom kao FTP serveri zbog izuzetne pouzdanosti, bezbednosti i, iznad svega, mogućnosti da se nad FTP serverima primeni pomenuti koncept klasteringa sa NSS mirroringom. Očigledno, postignut je dodatni nivo bezbednosti, a paralelnom isporukom prilikom zahteva od strane klijenta postiže se manje opterećenje po klasteru, čime se podiže raspoloživost u domenu protoka podataka.

Web server kao opcija je još jedna od mogućnosti koju NetWare nudi, i jako je dobar u ovom pogledu, s obzirom da dolazi sa integrisanim Apache 2.0 Web Serverom i podrškama za PHP, Perl i Novell Script, odnosno MySQL, a svemu ovome treba dodati i mogućnost da standardno funkcioniše kao platforma za izvršavanje Java aplikacija.

Novell NetWare takođe, bez problema, može da opslužuje i štampu u heterogenom okruženju funkcionišući kao print server. Veliku ulogu u ovome igra iPrint aplikacija kao podrška štampi preko Interneta, uz oslonac na Apache, Tomcat, iManager i eDirectory. Princip funkcionisanja, mada šema ne deluje tako, prilično je jednostavan. Klijent se obraća sa zahtevom za štampu preko Interneta pozivanjem određenog servleta1 posredstvom Apache servera. Tomcat kao servlet container2 omogućava izvršavanje JSP (JavaServer Page) ili servleta kojima se štampa inicira. Posredstvom iManagera vrši se obraćanje eDirectory, bazi podataka mrežnih resursa, među kojima se traži printer na kojem treba da se štampa. Zahtev za štampu dolazi do IPP servera, koji prima zahteve i slaže ih redom, vodeći računa o redosledu i prioritetima. Po potrebi poziva Broker, bazu drajvera za štampače odakle se drajver isporučuje klijentu u slučaju potrebe, a ukoliko za tim nema potrebe, zahtev za štampu se prosleđuje printeru posredstvom iPrint Gateway, fizičkog mrežnog uređaja kojim se printer povezan na globalnu mrežu.

U prethodnom primeru već je pomenuto postojanje eDirectory, baze podataka korisnika i njihovih lozinki i mrežnih resursa, što je paralelna komponenta Windows-ovom Active Directory. Paralelno sa eDirectory, Novell NetWare može da radi i kao potpuno funkcionalan DNS i DHCP server, pa po ovim funkcionalnostima sasvim zadovoljava serverske potrebe jedne mreže srednje veličine.

1 Servlet je program koji se izvršava na web serveru i kao rezultat nekog zahteva korisnika generiše web strane na izlazu. Dva ili više servleta koji pružaju neku funkcionalnost čine Web aplikaciju.2 Servlet container ima ulogu da poziva servlete kada ih zahteva web pretraživač ili drugi servlet

26

5. UNIX/Linux

UNIX (Uniplexed Information and Computing Service) je stabilan, moćan i fleksibilan operativni sistem visokih performansi pogodan za izvršavanje kritičnih aplikacija od visoke važnosti, koji je nastao u AT&T laboratorijama još daleke 1969. godine. To je multiuser i multitasking operativni sistem koji je prvenstveno namenjen serverima ali ni radne stanice nisu bez podrške. Moguće ga je instalirati na raznorazne hardverske arhitekture, ali postoje i verzije koje rade samo na određenom opremom jedinstvenog proizvođača (npr. IBM-ov AIX i HP-ov HP-UX). Dakako da je postignuta i kombinacija ova dva kraja u vidu npr. Solaris OS koji može raditi na originalnim računarima ali i na drugim računarima koji poštuju proizvođačevu specifikaciju. UNIX je prvobitno bio napisan na asembleru. Od 1971. godine ovo je promenjeno tako da je kod UNIX OS-a preveden na C programski jezik što je označilo prekretnicu u razvoju OS-a. Dobar potez autora je što su programski kod UNIX-a učinilo dostupnim tako što su ga prosledili svim fakultetima u Americi. Već u prvoj verziji je dobio mrežnu podršku (na Berkliju verzija BSD) i tako da se nastavio razvijati sve do trenutka kada je učinjen još jedan korak ka dostupnosti svima time što je postao deo zajednice otvorenog koda. Za razliku od drugih OS, UNIX je zamišljen i izveden tako da predstavlja skup kvalitetnih programa koji izvršavaju samo jednu stvar, ali je izvršavaju pouzdano i brzo i lako ih je kombinovati. Kombinovanje ovih kockica je jednostavno i veoma korisno iz razloga što programer često nema potrebe da piše gomilu programa, već samo da iskoristi gotove visoko optimizovane programe, i dovoljno je da napiše program koji njima upravlja i povezuje ih. UNIX operativni sistemi godinama su dominirali na serverskom tržištu usled svoje stabilnosti, sigurnosti i mrežnih mogućnosti. Kao primer UNIX operativnog sistema možemo uzeti Linux. To je varijanta UNIX-a koju je razvio inicijalno student Univerziteta u Helsinkiju Linus Torvalds još 1991. godine. On je objedinio industrijski (SRV4) i “akademski” (BSD) standard dodajući tome grafički korisnički interfejs kao kod konkurenta.

UNIX je čvrsto povezan sa mrežnim servisima TCP/IP protokola, čime je u potpunosti promenjena slika UNIX servera i radnog okruženja iz prošlosti. Umesto servera sa klasičnim serijskim terminalima, UNIX server se nalazi u mreži, pri čemu sa radnim stanicama ostvaruje vezu preko LAN/WAN mreže i TCP/IP skupa protokola. Većina velikih svetskih proizvođača računara razvija specifičnu varijantu UNIX operativnog sistema, što ukazuje na njegov kvalitet, popularnost i rasprostranjenost. Većina UNIX sistema, poput IBM AIX i Sun Solaris, je komercijalna - korisnik mora da plati licencu za korišćenje, a izvorni kod nije raspoloživ. Danas većina proizvođača računara osim sopstvene komercijalne verzije UNIX sistema nudi i podršku za Linux. Linux se najčešće koristi kao operativni sistem na radnim stanicama ili serverima u manjoj ili srednjoj klasi servera, a jedna od oblasti dominantne primene, u kojoj veliki broj korisnika podržava i promoviše Linux kao bazični server, su Internet servisi.

5.1 IstorijaPre pojave Linux jezgra, postojalo je par starijih evolutivnih karika u razvoju ovog operativnog

sistema. Karika od koje je sve počelo, Unix, datira još iz 1969. godine, kada je započeo njegov razvoj u AT&T laboratorijama u saradnji sa kompanijom General Electric i tehnološkim institutom Massachusetts. Pre toga, sredinom 60-tih godina, započeo je razvoj operativnog sistema MULTICS (Multiplexed Information and Computing Service) koji je predstavljao interaktivni operativni sistem namenjen da opslužuje veliki broj korisnika čiji su terminali direktnim serijskim ili modemskim komunikacionim kanalima bili povezani na centralizovani server. Takav koncept operativnog sistema bio je preambiciozan za tadašnji stepen razvijenosti hardvera, pri čemu se prvenstveno misli na procesorsku snagu i količinu sistemske memorije. MULTICS nije doživeo svoju praktičnu primenu jer se posle nekoliko godina razvoja pokazao kao preskup i preambiciozan projekat od koga su AT&T Bell laboratorije odustale. Bez obzira na to, teorijska i praktična rešenja projekta našla su primenu u mnogim operativnim sistemima. Konkretno, MULTICS je preteča UNIX sistema koji se smatra jednim od najkvalitetnijih i najrasprostranjenijih operativnih sistema, na čijem se razvoju radi preko 40 godina, sa tendencijom dalje egzistencije i usavršavanja.

Dva fundamentalna imena vezana za razvoj UNIX operativnog sistema su svakako Ken Thompson, MULTICS sistemski programer u Bell laboratorijama, i Dennis Ritchie, poznatiji kao tvorac

27

programskog jezika C. Godine 1969, Ken Thompson je započeo razvoj novog operativnog sistema za DEC PDP-7 računar, napravivši redukovani MULTICS, odnosno UNICS (Uniplexed Information and Computing Service). Radi lakšeg izgovora i pisanja ime UNICS je kasnije evoluiralo u UNIX. UNIX je prvobitno napisan u asemblerskom jeziku, a samim tim bio je potpuno zavisan od klase procesora za koji se realizuje. Godine 1971. Ritchie je napisao programski jezik C kao viši programski jezik koji omogućava sistemsko programiranje, a zatim sa Thompsonom preveo asemblerski kod UNIX sistema na C, što se može smatrati prekretnicom i jednim od najznačajnijih poteza u razvoju operativnih sistema. Zahvaljujuči C jeziku UNIX je mogao biti prenešen na razne računarske arhitekture sa vrlo malo programskih modifikacija, što je svakako bio ključ uspeha i popularnosti UNIX operativnog sistema. Nakon prevoda na C jezik, autori su u cilju daljeg unapređenja prosledili izvorni kod UNIX sistema univerzitetima širom Amerike, pri čemu su programeri sa Berkeley univerziteta u Kaliforniji dominantno uticali na dalji razvoj. Nakon brojnih modifikacija koda nastao je BSD UNIX (Berkeley Software Distribution), koji je takođe u izvornoj formi distribuiran američkim univerzitetima na dalje usavršavanje. Najznačajniji doprinos grupe koja je realizovala BSD UNIX odnosi se na softver za umrežavanje, koji omogućava funkcionalnost operativnog sistema u LAN i WAN mrežama. BSD UNIX mrežna rešenja prihvatili su brojni proizvođači računara koji su razvijali sopstvene varijante UNIX operativnog sistema:

SunOS, kompanije Sun Microsystems, baziran na BSD UNIX v4.2 System V UNIX, kompanije AT&T XENIX, kompanije Microsoft, razvijen za PC računare sa Intel procesorima.

Godine 1988. kombinovanjem dobrih osobina Sun OS/BSD, AT&T System V Release 3 i XENIX operativnih sistema nastala je nova varijanta UNIX sistema - System V Release 4 (SVR4), koja je ubrzo postala de facto standard i osnova za dalji razvoj UNIX sistema. Sledeći korak u razvoju predstavlja pokušaj standardizacije i realizacije međusobne kompatibilnosti raznih vrsta UNIX sistema.

Možda godina 1987. predstavlja najveću prekretnicu u razvoju UNIX operativnih sistema jer je te godine, Endru Tanenbaum, profesor računarskih nauka na Univerzitetu u Helsinkiju, napravio MINIX (MIni-uNIX), jeftinu minimalizovanu komercijalnu zamenu za Unix. Ovaj operativni sistem, pored činjenice da se zasnivao se na UNIX-u, izvršavao se na PC računarima. Njegov osnovni cilj bio je da edukuje studente a i sve ostale koje je zanimalo kako jedan operativni sistem radi. Nešto kasnije, 1991 godine, Linus Torvalds, student Univerziteta u Helsinkiju, krenuo je sa radom na kreiranju nekomercijalne zamene za MINIX. Iz ovog samostalnog projekta nastaće čuveno Linux jezgro, imenovano po svom tvorcu. U priči o razvoju Linuxa neophodno je pomenuti GNU projekat Ričarda Stalmana iz 1983, čiji je cilj bio kreiranje Unix-kompatibilnog softverskog sistema. Projekat se godinama razvijao, pa je tokom devedesetih, osim softvera, i čitavo jezgro ovog operativnog sistema prepisano i postalo javno dostupno. GNU projekat je bitan jer je samo uz njegovu pomoć Linus Torvalds mogao da završi rad na svom projektu. Nakon pisanja jezgra, odlučio je da sve komercijalne komponente MINIX sistema zameni besplatnim, koje su figurisale u okviru GNU projekta. Ipak, zbog prirode GNU projekta, Linus je morao i svoje jezgro da obuhvati odredbama GNU/GPL (GNU General Public License ) licence koja je važila za sav GNU softver, čime je dozvoljena komercijalna redistribucija jezgra. Istovremeno, razvojni timovi krenuli su sa prilagođavanjem nekompatibilnog softvera Linux jezgru, čime je počela komercijalizacija i popularizacija ovog operativnog sistema.

Danas su Linux distribucije široko rasprostranjene i postoje u velikom broju. Linus Torvalds, generalno, usmerava dalji razvoj jezgra, Stalman upravlja Fondacijom za besplatni softver koja daje podršku GNU komponentama, a individualci i korporacije razvijaju komercijalne komponente. Kombinacije Linux jezgra, GNU i komercijalnih komponenata čine Linux distribucije.

Na grafičkoj ilustraciji Wikipedie, slika br. 1 vidi se više razvojnih puteva OS zasnovanih na Unix jezgru. U sredini je Linux, a interesantna je kratkotrajna pojava Xenix operativnog sistema u čijem je razvoju osamdesetih učestvovao i Microsoft. U osnovi svega leži Unix Time-Sharing System, koji je u vreme svog uvođenja predstavljao revolucionaran računarski koncept, koji je determinisao smer razvoja računarstva narednih decenija. On je omogućavao istovremeni pristup procesoru od strane više korisnika kao i prividno istovremeno izvršavanje više procesa. Procesor vrši raspodelu svog slobodnog vremena na taj način da obavlja više poslova istovremeno (multitasking). Raniji računari su funkcionisali isključivo na taj način što su kreirali listu poslova i obavljali ih jedan za drugim (batch processing)

28

Slika 1: Istorijsko stablo razvoja Unix operativnih sistema

5.2 Verzije Linux-aKada se kaže "Linux", ne može se ni izbliza misliti na jedan operativni sistem, iz najmanje dva

razloga. Najpre, "Linux" predstavlja zajednički naziv za sve Unix operativne sisteme zasnovane na Linux jezgru. Uz to, operativni sistemi zasnovani na Linux jezgru, uz dodatak različitog pratećeg softvera i komponenata, nazivaju se Linux distribucijama. Razvoj ovih operativnih sistema najbolji je primer slobodnog softvera zasnovanog na otvorenom kodu (open source). Izvorni kod Linux jezgra je slobodan za preuzimanje, izučavanje, modifikaciju - u kreiranju sopstvene distribucije Linux operativnog sistema učešće može uzeti bilo koji pojedinac ili grupa pojedinaca. Drugim rečima on predstavlja jako dobru alternativu kvalitetnim, ali relativno skupim UNIX operativnim sistemima. Linux je zadržao većinu dobrih osobina UNIX sistema, a dodatno se odlikuje raspoloživim izvornim kodom i praktično besplatnim korišćenjem. Zahvaljujući intuitivnom, userfriendly grafičkom okruženju, Linux se može koristiti kao operativni sistem na radnim stanicama koje nisu zahtevne u hardverskim resursima. Takođe, može se koristiti i kao operativni sistem na serverima u LAN i WAN mrežama, gde mu može biti dodeljena uloga servera za datoteke, web i mail servera, mrežne skretnice (rutera) ili mrežne barijere (firewall uređaja). Linux predstavlja jednu od poslednjih varijanti UNIX operativnih sistema, čiji je razvoj započeo Linus Torvalds 1991. godine. Torvalds je svoj operativni sistem koji objedinjuje oba standarda, SRV4 i BSD, objavio na Internetu i podsticao druge programere širom sveta da se priključe njegovom daljem razvoju. Ubrzo, Linux je postao veoma popularan među računarskim entuzijastima koji su tražili alternativno rešenje za postojeće operativne sisteme za PC računare (DOS, Windows). Linux je svojom koncepcijom stabilnog a jeftinog operativnog sistema doživeo veliku ekspanziju i popularnost tako da je njegov simbol, mali pingvin (Tux), postao vrlo brzo jako popularan sirom sveta, a naročito među tehnički obrazovanijom populacijom. Linux je prvobitno bio namenjen 32-bitnim Intel x86 mikroprocesorima (počevši od 80386), na kojima može funkcionisati kao radna stanica ili kao server. Jezgro Linux sistema je kasnije modifikovano i prilagođeno procesorima koji ne pripadaju Intel x86 klasi, među kojima treba istaći Intel IA-64, DEC Alpha, SUN SPARC/UltraSPARC, Motorola 68000, MIPS, PowerPC i IBM mainframe S/390. Upravo zbog toga može se konstatovati da današnji Linux, u odnosu na bilo koji operativni sistem, podržava najširi spektar procesora i računarskih arhitektura.

29

5.3 Linux DistribucijeLinux je uglavnom serverski operativni sistem, mada se može koristiti i na mrežnim ili

samostalnim radnim stanicama, pa i na raznim uređajima sa računarskom osnovom. Brojne profitne i neprofitne organizacije čine Linux raspoloživim u formi distribucija, odnosno različitih kombinacija kernela, sistemskog softvera i korisničkih aplikacija. Većina distribucija sadrži kolekciju CD/DVD medijuma na kojima se nalaze operativni sistem, izvorni kôd, detaljna dokumentacija, kao i štampana uputstva za instalaciju i upotrebu sistema. Cene ovakvih distribucija su u većini slučajeva simbolične, osim ako se u distribuciji nalazi komercijalan softver ili je distribucija specifične namene. Osnovna komponenta svake Linux distribucije je kernel operativnog sistema. Osim kernela i sistemskog softvera u distribuciji se nalaze i instalacioni alati, softver za podizanje operativnog sistema (boot loader), razne korisničke aplikacije (kancelarijski paketi - office suite, softver za manipulaciju bit-mapiranih slika) i serverski paketi. Većina distribucija je, poput Windows sistema, grafički orijentisana prema korisniku, dok su neke distribucije namenjene za sistemske administratore i programere familijarne sa tradicionalnim UNIX okruženjem. Linux distribucije, kao što je rečeno, osim samog jezgra, obuhvataju mnoštvo pratećih komponenata poput Apache Web servera, GNOME desktop okruženja, alata i biblioteka iz GNU projekta. Česte prateće aplikacije su Mozilla Firefox pretraživač ili OpenOffice.org paket. Mada nije praksa da se nešto što je besplatno prepakuje i naplaćuje, Linux distribucije mogu biti i komercijalne, a njihove cene mogu biti prilično visoke. Današnje Linux distribucije se uglavnom isporučuju sa GNOME, KDE, Xfce ili drugim grafičkim korisničkim okruženjima koje su po atraktivnosti u rangu sa Windows ili MacOS.

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

5.4 Karakteristike Linux je uz Windows jedan od najrasprostranjenijih i najpopularnijih operativnih sitema u svetu,

izuzetno pogodan za sve klase mikro i mini računara kao i velikih računarskih sistema. On je višekorisnički, višeprocesni operativni sistem s potpunim skupom UNIX kompatibilnih alata, projektovan tako da poštuje relevantne POSIX standarde. Linux sistemi podržavaju tradicionalnu UNIX semantiku i potpuno implementiraju standardni UNIX mrežni model. Operativni sistem Linux sastoji se od jezgra, sistemskog softvera, korisničkih aplikacija, programskih prevodilaca i njihovih odgovarajućih biblioteka (GCC – GNU C Compiler i C biblioteka za Linux) i dokumentacije. Sadržaj konkretne distribucije Linuxa definisan je sadržajem instalacionih medijuma, koji u slučaju nekih Linux sistema uključuju razne FTP lokacije širom sveta. Linux predstavlja pravi (true) multitasking operativni sistem. Iz njegove komandne linije možete startovati više programa istovremeno. Sadrži komande kojim je moguće upravljati multitasking-om, odnosno, istovremenim izvršavanjem više programa. Novi proces u svakom momentu možemo startovati ili zaustaviti, zavisno od potreba. Procese možete zaustaviti a zatim i videti prikaz svih zaustavljenih procesa. Predhodno zaustavljene procese možemo nastaviti u prvom planu (foreground) ili u pozadini (background). Nabrojačemo neke od njegovih pozitivnih osobina: Linux ima sve karakteristike softverskog alata koji korisniku omogućava rešavanje složenih problema

jednostavnim povezivanjem u jedinstvenu celinu već prethodno rešenih manjih delova posmatranog složenog problema,

jednostavna prenosivost Linux -a i programskih sistema razvijenih pod ovim operativnim sistemom sa jednog računarskog sistema na drugi (od najmanjih do najvećih) uz minimalne adaptacije,

fleksibilnost Linux -a je takva da uz dodavanje novih modula omogućava rešavanje veoma širokog spektra problema,

operativni sistem Linux je razvijen da radi u ambijentu podele vremena, tako da istovremeno radi više korisnika uz istovremeno aktiviranje više različitih procesa (multiuser and multitasking),

Linux se smatra za jedan od najelegantnijih operativnih sistema. Shvativši osnovne koncepte operativnog sistema Linux korisnik na jednostavan način razrešava sve svoje probleme,

Besplatan sistem dostupan u velikom broju distribucija Lycoris, Xandros i Lindows kao najbolje za neiskusne korisnike, Gentoo, Debian i Slackware koji zahtevaju puno znanja da bi se efektivno koristili. Mandrake, Red Hat i SuSE koji se mogu klasifikovati kao dobre srednje zahtevne distribucije,

30

Linux je multiuser, multitasking, multiprocesorski operativni sistem, Odvojenost kernela od aplikativnog softvera, Moguća jednostavna i sigurna udaljena administracija. Ne oslanja se na grafički interfejs, Sigurnost Linuxa se dokazala u praksi. Linux poseduje robustan filter paketa i firewall sistem i mnoge

alate za detekciju upada, Fajl sistem kod Linuxa je ext2 – ext4, neki koriste UFS (Unix File Sistem) koji u saradnji sa

sigurnošću kernela, daje veoma pouzdan sistem, Linux Apache Server ... besplatan i dolazi u paketu sa svim Linux distribucijama pomenutim iznad.

Apache je najpopularniji Web server od početka korišćenja Interneta 1996, Po pitanju stabilnosti, Linux server je jako pouzdan sistem. Linux korisnici na Web i FTP-u ne moraju

imati nikakva prava na Linux sistemu, Sa strane administriranja, komplikovanija podešavanja sa dosta rada u komandnom modu. Konfigurisanje Web i FTP servera vrši se uglavnom preko konfiguracionih datoteka i skripti,

Dobra autorizacija i kontrola pristupa. Apache omogućuje zabranu gledanja sadržaja određenih direktorijuma osim posebnim korisnicima ili grupi osoba,

Uključivanjem Web i FTP paketa prilikom instalacije nije potrebno dodatno instalirati servise, Veliki broj implementiranih besplatnih FTP servera, koji podržavaju secure shell (ssh and sftp), Modularni pristup FTP servisima daje prednost u odnosu na Windows FTP, Dopušta bekapovanje konfiguracije nezavisno od servera, Brzina uploada na FTP serveru na strani Linuxa u odnosu na druge serverske sisteme, Dobar za zahtevne mrežne aplikacije koje koriste najveće svetske internet kompanije, Linux je operativni sistem u svom startu baziran na okruženju sa komandnom linijom čiji je zadatak

da mreža funkcioniše. Iz tih razloga biće neophodno da se više pažnje posveti učenju komandi i pisanju skriptova,

Samo 10% RedHat programskih zakrpa odnosi se na sigurnost, Manja hardverska zahtevnost u odnou na konkurentne operativne sisteme, Napad virusa na Apache web server ima manji efekat jer imaju limitiran domet a čišćenje i povratak

na predhodno stanje vrši se sa nekoliko komandi i bez potrebe za restatom sistema, Podatak Netcraft ankete pokazao je da je resetovanje Web servera pod Linuxom dešava se u proseku

na svakih 349 dana. Neki Linux Web serveri rade godinam bez restarta.

Zamišljen pre svega kao serverski operativni sistem, Linux obiluje mogućnostima i, praktično, nepostoji serverski zadatak koji on ne može uspešno da se ispuni. Za veliki broj zadataka postoji čak i veći broj nezavisnih softverskih rešenja, što je direktna posledica povezanosti sa GNU projektom.

Najpre treba razjasniti, ukoliko još uvek postoji, dilemu vezanu za grafičko okruženje Linux operativnih sistema. Veliki broj korisnika još uvek bira Windows pre Linuxa zbog potrebe da se s vremena na vreme, u zavisnosti od situacije, u radu koristi konzola. Istina je, međutim, da se ogromna većina stvari u Linuxu može uraditi jednako jednostavno kao i pod Windowsom, a konzola se mora koristiti samo za detaljna ekspertska podešavanja. Ovo, uostalom, važi i za Windows, gde se većina "skrivenih" mogućnosti zapravo skriva iza ponekada nerazumljivih komandi command prompt-a.Već smo rekli da je Linux višekorisnički, višeprocesni operativni sistem sa potpunim skupom UNIX kompatibilnih alata, projektovan tako da poštuje relevantne POSIX standarde. Linux sistemi podržavaju tradicionalnu UNIX semantiku i potpuno implementiraju standardni UNIX mrežni model.

31

Slika 7. KDE okruženje

5.6 LINUX KERNELKernel je jezgro operativnog sistema - on omogućava konkurentno izvršavanje procesa, dodeljuje

im memoriju i druge resurse i obezbeđuje mehanizam za ostvarivanje usluga operativnog sistema. Kernel štiti korisničke procese od direktnog pristupa hardveru - procesi pristupaju hardveru korišćenjem sistemskih poziva kernela, čime se obezbeđuje jedna vrsta zaštite između samih korisnika. Sistemski programi koriste kernel u cilju implementacije različitih servisa operativnog sistema. Svi programi, uključujući i sistemske, funkcionišu na nivou iznad kernela, što se naziva korisnički režim rada, dok se sistemske aktivnosti poput pristupa hardveru obavljaju na nivou kernela, odnosno u sistemskom režimu rada (supervisory mode). Razlika između sistemskih i aplikativnih programa je u njihovoj nameni: aplikacije su namenjene za razne korisne aktivnosti (kao što su obrada teksta i slike), dok su sistemski programi namenjeni za rad sa sistemom i administraciju. Razlike između korisničkih i sistemskih programa su ponekad veoma male i značajne samo za stroge kategorizacije softvera. Linux kernel je napravljen, kao i većina drugih modernih sistema, po uzoru na UNIX. To znači, između ostalog, da se zasniva na potpunoj abstrakciji i virtualiziciji svih hardverskih komponenti. Upravo to je i glavna funkcija kernela. Pored toga u kernelu je implementirana funkcionalnost multitaskinga (obavljanje više zadataka odjednom), kontrola procesa, kontrola memorije itd.

Na samom početku Linux kernel je bio monolitske građe, što znači da je sva funkionalnost zajedno sa drajverima implementirana u jednom kernel-imageu. Ovakva arhitektura se brzo ispostavila kao lošom, jer svaka i najmanja izmena može da predstavlja izmenu celog kernela. Danas je Linux hibridno-monolitan, što znači, da je veliki deo drajvera, koji nisu neophodni za sami start kernela, implementirani kao moduli koji se za vreme upotrebe ubacuju ili izbacuju iz kernela.

Kod i kod mnogih drugih operativnih sistema, Linux poseduje dva moda (tipa) za izvođenje programa, od kojih ovisi koja prava i privilegije u sistemu određeni programi imaju. Korisnički programi se izvode u korisničkom modusu (user mode) a sam kernel i njegovi moduli u kernelskom modusu (kernel mode). Takva podela onemogućila je da bilo koji korisnički program izazove pad celog operativnog sistema, što predstavlja još jednu prednost ovog sistema.

Jezgro operativnog sistema omogućava konkurentno (paralelno) izvršavanje procesa, dodeljuje im memoriju i druge resurse i obezbeđuje mehanizam za ostvarivanje usluga operativnog sistema. Jezgro štiti korisničke procese od direktnog pristupa hardveru – procesi pristupaju hardveru korišćenjem sistemskih poziva jezgra, čime se obezbeđuje zaštita između samih korisnika. Sistemski programi koriste jezgro u cilju implementacije različitih usluga operativnog sistema.

Svi programi, uključujući i sistemske, funkcionišu na nivou iznad kernela, što se naziva korisnički režim rada, dok se sistemske aktivnosti poput pristupa hardveru obavljaju na nivou kernela, odnosno u sistemskom režimu rada (supervisory mode). Razlika između sistemskih i aplikativnih programa je u njihovoj nameni: aplikacije su namenjene za razne korisne aktivnosti (kao što su obrada teksta i slike), dok su sistemski programi namenjeni za rad sa sistemom i administraciju. Na primer, tekst procesor je korisnička aplikacija, dok je komanda mount sistemski program. Razlike između korisničkih i sistemskih programa su ponekad veoma male i značajne samo za stroge kategorizacije softvera.

Tri osnovne verzije Linux kernela su: početna verzija, verzija 1.X i verzija 2.X. Početna verzija 0.01, koju je 1991. godine kreirao Linus Torvalds, podržavala je samo Intel 80386 kompatibilne

32

procesore, mali broj hardverskih uređaja i Minix sistem datoteka. Mrežni servisi nisu imali kernelsku podršku. Verzija 1.0, nastala u martu 1994. godine, uključivala je podršku za standardne TCP/IP mrežne protokole, BSD-kompatibilni socket interfejs za mrežno programiranje i drajversku podršku za mrežne kartice. Ova verzija je dodatno podržavala ext i ext2 sisteme datoteka, široku klasu SCSI disk kontrolera, kao i brojne hardverske uređaje. Verzija 1.2 (mart 1995) je poslednja verzija Linux kernela namenjena isključivo PC arhitekturi. U verziji 2.0 (jun 1996) uvedena je podrška za više arhitektura (Motorola i Intel procesori, Sun Sparc i PowerMac sistemi), kao i podrška za više procesorsku arhitekturu (SMP). Dodatno, poboljšano je upravljanje memorijom i uvećane se performanse TCP/IP protokol steka, a ugrađena je i podrška za unutrašnje kernelske niti (internal kernel threads). Kernel je modularizovan, odnosno uvedena je mikro-kernel struktura sa izmenljivim drajverskim modulima (loadable kernel modules), a standardizovan je i konfiguracioni interfejs.

OS Linux se sastoji od jezgra, sistemskog softvera i, korisničkih aplikacija, programskih prevodioca i njihovih biblioteka. Jezgro OS omogućava konkurentno (paralelno) izvršavanje procesa, dodeljuje im memoriju i druge resurse i obezbeđuje mehanizam za ostvarivanje usluga operativnog sistema. Jezgro štiti korisničke procese od direktnog pristupa hardveru čime se obezbeđuje zaštita između korisnika virtualizacijom. Svi programi, uključujući i sistemske, funkcionišu na nivou iznad jezgra što se naziva korisničkim režimom, dok se sistemske aktivnosti (poput pristupa hardveru) obavljaju na nivou jezgra. Nepostojanje disprečera nam kazuje da se svaki proces direktno ubacuje u red čekanja na vreme procesora što može da utiče na stabilnost sistema koji je u direktnoj srazmeri sa snagom procesora i raspoloživom sistemaskom memorijom.

Osnovu Linux sistema čine kernel, sistemske biblioteke i sistemski programi. Kernel je odgovoran za najznačajnije funkcije operativnog sistema. Dve osnovne karakteristike kernela su:

kernel kôd se izvršava u kernelskom modu u kome je jedino moguće pristupati svim komponentama hardvera,

kompletan kernel kôd i sve kernel strukture podataka čuvaju se u istom adresnom prostoru (monolithic).

Kod Linux sistema sistemski pozivi se upućuju kernelu preko sistemskih biblioteka koje definišu standardni set funkcija preko kojih aplikacije komuniciraju sa kernelom. Ovaj metod komunikacije sa kernelom prikazan je na slici 2.

Slika 2. Struktura Linux sistema

Sistemski programi izvršavaju specifične upravljačke poslove, kao što je konfigurisanje mrežnih uređaja i protokola, punjenje kernelskih modula, itd.

Kao što vidimo osnovu Linuxa čini jezgro, sistemske biblioteke i korisnički programi. Jezgro je odgovorno za osnovne funkcije OS. Dve su osnovne karakteristike jezgra:

- kod jezgra se izvršava u režimu jezgra u kome je jedino moguće pristupati svim komponentama hardvera

- kompletan režim jezgra i sve strukture podataka koje pripadaju jezgru čuvaju se u istom adresnom prostoru

Dok se u u većini Unix sistema aplikacije preko sistemskog poziva direktno obraćaju jezgru, kod Linux sistema, sistemski pozivi se upućuju jezgru pomoću sistemskih biblioteka koje definišu standardni skup funkcija preko kojih aplikacije komuniciraju sa jezgrom. Modularno jezgro je odgovorno za definisanje pristupa hardverskim uređajima, drugačijem sistemu datoteka i mrežnih protokola. Moguće ga je nezavisno učitavati, menjati ili izbaciti zavisno od potrebe.

33

Modularni kernelModuli kernela su delovi kernelskog koda koji

može da se prevede, napuni u memoriju ili izbaci iz memorije nezavisno od ostatka kernela. Kernelski moduli implementiraju drajvere za hardverske uređaje, novi sistem datoteka, mrežne protokole, itd. Moduli omogućavaju raznim programerima da napišu i distribuiraju drajvere koji ne moraju da prođu GPL licencu. Moduli kernela omogućavaju micro-kernel arhitekturu, Slika7.2 Modularni Linux kernel odnosno realizaciju minimalne stabilne konfiguracije kernela bez dodatnih drajvera. Potrebni drajveri pune se u memoriju kao moduli kernela.

Modul Linux kernela ima tri komponente:1. upravljanje modulom, koja omogućava punjenje modula u kernelsku memoriju i komunikaciju

modula sa ostatkom kernela, proveru da li je modul u memoriji i da li se koristi i izbacivanje modula iz memorije (pod uslovom da se modul ne koristi),

2. registracija drajvera, koja omogućava modulu da objavi ostatku kernela da je novi drajver u memoriji i da je raspoloživ za korišćenje. Kernel održava dinamičku tabelu drajvera koji se pomoću posebnog seta programa mogu napuniti ili izbaciti iz memorije u svakom trenutku,

3. rezolucija konflikata, odnosno mehanizam koji služi da spreči hardverske konflikte tako što omogućava drajveru da rezerviše hardverske resurse (IRQ, DMA, ports) i time spreči druge drajvere ili autoprobe funkciju da ih koriste.

Linux kernel čini nekoliko značajnih komponenti: upravljanje procesima, upravljanje memorijom, upravljanje sistemima datoteka (VFS), apstrakcija mrežnih servisa, podrška za hardverske uređaje, podrška za različite sisteme datoteka, podrška za TCP/IP.

Kritične komponente Linux kernela su upravljanje procesima i upravljanje memorijom. Komponenta za upravljanje memorijom kontroliše dodeljivanje memorije i swap prostora procesima, kernelskim komponentama kao i bafersko keširanje. Komponenta za upravljanje procesima kreira procese i omogućava višeprocesni rad (multitasking) dodeljujući procesor procesima po odgovarajućem algoritmu. Komponenta za upravljanje procesima pravi procese i omogućava višeprocesni rad dodeljujući procesor procesima po odgovarajućem algoritmu.

U Linuxu, kernel panic je sistemska greška od koje se nije moguće oporaviti i koju detektuje sam kernel. Takva greška je, takoreći „suprotna“ od sličnih grešaka koje se dešavaju u prostoru u kome se izvršava korisnički kod (user space code). Moguće je da kernel indukuje takvo stanje pozivanjem panic funkcije koja se nalazi u fajlu sys/system.h. Međutim, većina panic grešaka nastaje usled neobrađenih procesorskih izuzetaka u kodu kernela, kao što je referisanje na neispravne adrese u memoriji. One, takođe mogu da ukažu na kvar samog hardvera, kao što je kvar ćelija RAM-a ili grešaka u aritmetičkim funkcijama u procesoru, koje su posledica pregrejanog ili oštećenog procesora.

34

5.6 IZVRŠAVANJE KORISNIČKIH PROGRAMALinux podržava brojne formate za punjenje i izvršavanje programa. Među njima svakako treba

istaći stari UNIX format a.out i novi elf format koji je maksimalno prilagođen konceptu virtuelne memorije. Zaglavlje ELF formata opisuje sekcije programa. Sekcije programa su po veličini prilagođene veličini stanice virtuelne memorije.

Program kod kog su funkcije iz sistemske biblioteke direktno ugrađene u kôd programa je program sa statičkim povezivanjem. Glavni nedostatak ovakvog načina povezivanja je povećanje veličine koda, jer svaki poziv funkcije iz biblioteke kopira celu funkciju u kôd. Takođe, sa veličinom koda raste i količina memorije koja je potrebna za njegovo izvršavanje. Na drugoj strani, dinamičko povezivanje je efikasnije u smislu iskorišćenja memorije - sama funkcija se ne kopira u kôd, tako da je za izvršenje potrebna manja količina memorije, ali se programi po nepisanom pravilu izvšavaju sporije.

Svi programi, uključujući i sistemske, funkcionišu na nivou iznad jezgra, što se naziva korisnički režim rada, dok se sistemske aktivnosti – poput pristupa hardveru obavljaju na nivou jezgra, tj. u sistemskom rećimu rada (engl. supervisory mode). Sistemski i aplikativni programi razlikuju se po nameni: aplikacije su namenjene za razne korisne aktivnosti (kao što su obrada teksta i slika), dok su sistemski programi namenjeni za rad sa sistemom i administraciju. Na primer, program za obradu teksta je korisnička aplikacija, dok je komanda mount sistemski program. Razlike između korisničkih i sistemskih programa ponekad su veoma male, i značajne su samo u strogim kategorizacijama softvera.

5.7 UPRAVLJANJE PROCESIMALinux koristi standardni UNIX proces mehanizam (fork) koji razdvaja kreiranje procesa i njegovo

izvršenje u dve različite operacije: sistemski poziv fork, koji kreira novi proces, sistemski poziv exec, koji izvršava program u resursima novostvorenog procesa.

Pod UNIX sistemom sve informacije koje operativni sistem mora čuvati da bi kontrolisao jedan proces predstavljaju kontekst tog procesa. Pod Linux operativnim sistemom, svaki proces je u potpunosti opisan identitetom, okolinom i kontekstom.

Identitet procesa obuhvata sledeće informacije: identifikator procesa (Process ID - PID), pomoću koga Linix kontroliše proces; akreditivi (Credentials). Svaki proces pripada jednom korisniku koji ima svoj user ID i jedan ili

više grupnih IDs koji određuju prava pristupa procesu u radu sa datotekama; ličnost (Personality). Ova informacija se ne koristi kod drugih UNIX sistema, a Linux svakom

procesu dodeljuje lični identifikator koji može imati uticaja za neke sistemske pozive.

35

Korisnički programi

Sistemski pozivi

Upravljanjefajl sistemima

Drajveri za raznefajl sisteme

Drajveri za IDE diskove

Drajveri zaflopi dikove

IDE hard disk Flopi disk

Upravljanje memorijom

Upravljanjeprocesima

Apstrakcijamrežnih servisa

TCP/IP protokol

Drajveri za mrežne adaptere

Mrežniadapter

Korisnički programi

Kernel

Hardver

Okolina procesa se nasleđuje od procesa roditelja (odnosno od procesa koji je izazvao kreiranje datog procesa). U okolinu procesa spadaju vektor argumenata koje process roditelj prosleđuje programu i vektor okoline, odnosno lista promenljivih koje definišu okolinu procesa (environment).

Kontekst procesa je stanje procesa u datom trenutku vremena. Kontekst procesa čine sledeće komponente:

kontekst za raspoređivanje (scheduling context), koji služi za efikasnu suspenziju ili ponovni start procesa. Obuhvata sve CPU registre, prioritet procesa i kernelski stek procesa;

statistički kontekst, koji sadrži informacije o resursima koje proces koristi u jednom trenutku, kao i kompletnu upotrebu resursa za vreme trajanja jednog procesa (accounting information);

tabela datoteka (file table), tj. polje ukazivača na kernelske strukture datoteka; kontekst sistema datoteka (file-system context); tabela za upravljanje signalima (signal-handler table), koja definiše ukazivače na programe koji

se pozivaju nakon određenog signala; kontekst virtulene memorije (virtual-memory context), koji potpuno opisuje korišćenje memorije

od strane procesa.Procesi i niti

Linux koristi istu internu reprezentaciju za procese i niti - nit (thread) je jednostavno novi proces koji deli adresni prostor roditelja. Za razliku od novog procesa koji pomoću sistemskog poziva fork formira novi kontekst sa jedinstvenim adresnim prostorom, nit nastaje pomoću sistemskog poziva clone koji kreira novi kontekst, ali dozvoljava novom procesu da deli adresni prostor roditelja.

Dodeljivanje procesora procesimaLinux koristi 2 algoritma za dodelu procesora procesima (process-scheduling algorithms):

time-sharing algoritam za korektno raspoređivanje između procesa (fair preemptive scheduling). Dodela se vrši na osnovu prioriteta procesa koji definiše korisnik i kredita (efektivni prioritet) koji raste s porastom vremena čekanja na processor, po sledećoj rekurzivnoj formuli:

real-time algoritam za procese gde su apsolutni prioriteti mnogo značajniji od ravnomerne raspodele. Linux je ipak soft real-time operativni sistem.Koji će se algoritam primeniti zavisi od klase u kojoj se proces nalazi (FIFO ili round-robin).

Trenutna pozicija procesa u svakoj od klasa određuje se na osnovu prioriteta, što znači da će se izvršavati onaj proces koji ima najviši prioritet, a u slučaju da su prioriteti isti, izvršava se proces koji je najduže čekao. U FIFO klasi procesi nastavljaju da rade sve dok ne završe rad ili ne uđu u blokirano stanje, dok u round-robin klasi svaki proces radi dok mu ne istekne vremenski kvantum (time-slice), posle čega prekida rad i odlazi na kraj liste za čekanje.

Počevši od kernela 2.0 Linux podržava SMP, što znači da se različiti procesi ili niti mogu izvršavati paralelno na posebnim procesorima. Da bi se obezbedila procesorska sinhronizacija kernela u SMP okruženju samo jedan CPU može izvršavati kôd u kernel modu.

Komunikacija između procesaKomunikacija između procesa obuhvata obaveštavanje procesa o događaju i prenos podataka s

jednog procesa na drugi. Kao i UNIX sistem, Linux informiše procese u korisničkom režimu o događaju putem signala. Procesi u kernel modu umesto signala koriste specijalnu vrstu deljive memorije (wait queue strukturu) za interprocesnu komunikaciju.

Za prosleđivanje podataka između procesa koristi se pipe mehanizam, koji omogućava jednosmernu razmenu podataka putem komunikacionog kanala koji proces nasleđuje od roditelja, i deljiva memorija, koja je brza i fleksibilna, ali zahteva sinhronizaciju.

5.8 UPRAVLJANJE MEMORIJOMUpravljanje memorijom obuhvata upravljanje operativnom (RAM) memorijom i upravljanje

virtuelnom memorijom.Upravljanje operativnom, odnosno fizičkom memorijom, obuhvata dodeljivanje (alokaciju) i

oslobađanje stranica (pages, normal extent), grupe stranica (large extent) i malih memorijskih blokova (small extent). Fizičkom memorijom se upravlja po sistemu drugova (buddy heap). Cela fizička memorija

36

se deli na udružene blokove čije su veličine stepeni broja 2. Blokovi se prema potrebi alokacije dalje razbijaju na manje blokove, ili se parovi udružuju u veće celine.

Sistem virtuelne memorije povećava ukupan adresni prostor koji je dostupan procesima - sistem kreira stranicu virtuelne memorije na zahtev, upravlja punjenjem te stanice u fizičku memoriju sa diska i povratkom stranice na disk, u swap prostor. Kada stranica mora da napusti memoriju i ode na disk izvršava se takozvani page-out alogoritam, koji je na Linux sistemu realizovan LFU konceptom (Least Frequently Used - najređe korišćen). Novi virtuelni adresni prostor formira se nakon kreiranja novog procesa sistemskim pozivom fork, i nakon izvršavanja novog programa sistemskim pozivom exec.

Regioni virtuelne memorije obuhvataju fizičke stanice, odnosno okvire u koje su fizičke stranice smeštene (frames) i swap prostor na disku.

5.9 FAJL SISTEMJednostavan opis UNIX sistema, koji je takođe primenjiv na Linux glasi: “Na UNIX sistemu sve

je fajl, ako nešto nije fajl, onda je to proces”. Ova rečenica je tačna jer postoje specijalni fajlovi koji su više nego fajl (cevi i soketi, na primer), ali reći da je sve fajl je prihvatljiva generalizacija na Linux sistemima. Na Linux-u ne postoji razlika između fajla i direktorijuma, pošto je direktorijum samo fajl koji sadrži imena drugih fajlova. Programi, servisi, slike, muzika, tekstualna dokumenta, sve je fajl. Ulazni i izlazni, i generalno svi uređaji, smatraju se fajlom.

Vrste fajlovaVećina fajlova su “samo” fajlovi i nazivaju se regularnim fajlovima. Oni sadrže normalne podatke

i to su na primer tekstualni fajlovi, izvršni fajlovi ili programi, multimedijalni fajlovi, itd. Iako je razumno da sve našta naletite na Linux-u smatrate fajlom, ipak postoji par izuzetaka:

direktorijumi: fajlovi koji su u strvari liste drugih fajlova specijalni fajlovi: mehanizam koji se koristi za ulaz i izlaz. Većina specijalnih fajlova se nalazi u

/dev direktorijumu. linkovi: sistem koji omogućava da fajl ili direktorijum budu vidljivi na nekoliko mesta u okviru

sistemskog fajl drveta (domain) soketi: specijalni tip fajla, sličan TCP/IP soketima, koji omogućava inter-procesnu

komunikaciju, sa mređnim mogućnostima imenovane cevi (pipes): ponašaju se manje-više kao soketi i formiraju način za komunikaciju

između samih procesa, bez mrežne semantike.

Tabela 7.3: Tipovi fajlova i njihove oznake na Linux sistemimaZbog postizanja veće sigurnosti podataka vrši se particionisanje. Podelom diska na particije, podaci

se mogu grupisati i podeliti. Postoje dve glavne vrste particija na Linux sistemima: data particije: normalne particije na kojima se nalaze svi podaci, sistemski i korisnički, swap particije: proširenje fizičke memorije računara, dodatna memorija na tvrdom disku.

Većina Linux sistema ima root particiju, jednu ili više odvojenih particija za podatke i swap particiju. Sistemi u mešovitim okruženjima mogu da sadrže particije za druge sistemske podatke, kao što su recimo particije za fat i vfat fajl sisteme, za MS Wndows podatke. Standardni Linux fajl sistemi koji se koriste su: ext32 i noviji ext3 (journalised) fajl sistem. Osim ovih, Linux podržava još čitav spektar fajl sistema kao što su: Reiser, JFS, NFS, FATxx i mnoge druge. Upravo je ovo jedna od velikih prednosti Linux sistema u odnosu na ostale. U pogledu deljenja datoteka ovaj OS je veoma fleksibilan jer sve promene koje obavi jedan proces su vidljive u svim sesijama. Kada definišemo direktorijum za deljenje onda se pored njegovog sadržaja dele i celo stablo poddirektorijum ispod definisanog. U jednom višekorisničkom okruženju potrebno je uvesti kontrolu pristupa datotekama odnosno definisati ko može da obavlja pojedine funkcije nad datotekama.

37

Unix/Linux definiše tri vlasničke kategorije: vlasnik (onaj ko je kreirao datoteku), grupa (grupa korisnika koja može koristiti datoteku), ostali (ostali korisnici koji nisu u prethodne dve grupe). Prava pristupa za svaku kategoriju se određuju u odnosu na skup prava: čitanje, upis i izvršenje.

5.8 PARTICIONISANJEJedan od ciljeva particionisanja diskova je postizanje veće sigurnosti podataka. Podelom diska na

particije, podaci se mogu grupisati i podeliti. Postoje dve glavne vrste particija na Linux sistemima: data particije: normalne particije na kojima se nalaze svi podaci, sistemski i korisnički. swap particije: proširenje fizičke memorije računara, dodatna memorija na tvrdom disku.

Većina Linux sistema ima root particiju, jednu ili više odvojenih particija za podatke i swap particiju. Sistemi u mešovitim okruženjima mogu da sadrže particije za druge sistemske podatke, kao što su recimo particije za fat i vfat fajl sisteme, za MS Wndows podatke. Standardni Linux fajl sistemi koji se koriste su: ext32 i noviji ext3 (journalised) fajl sistem. Osim ovih, Linux podržava još čitav spektar fajl sistema kao što su: Reiser, JFS, NFS, FATxx i mnoge druge. Upravo je ovo jedna od velikih prednosti Linux sistema u odnosu na ostale.

5.9 STRUKTURA DIREKTORIJUMALinux fajl sistem se obično zamišlja i predstavlja u formi drveta. Struktiura direktorijuma i njihova

imena kod različitih Linux distribucija variraju, ali sve distribucije imaju veoma sličnu osnovnu strukturu. Opšti pod-direktorijumi korenog (root) direktorijuma su:

/bin – zajednički programi, dele ih sistem, admionistrator sistema i korisnici, /boot – fajlovi za startovanje i kernel, vmlinuz, a u novijim distribucijama i podaci koje čuva

GRUB (Grand Unified Boot Loader), tj. program za podizanje sistema, /dev – sadrži reference ka svim perifernim uređajima CPU-a, koji su predstavljeni kao fajlovi sa

specijalnim osobinama, /etc – najvažniji sistemski konfiguracioni fajlovi se nalaze u ovom direktorijumu, /home – matični direktorijumi korisnika u kojima se čuvaju podešavanja i fajlovi specifični za

pojedine korisnike sistema, /initrd – informacije za butovanje, odnosno podizanje sistema, /lib – biblioteke, fajlovi svih vrsta neophodni za funkcionisanje programa kako sistemskih, tako i

korisničkih, /lost+found – direktorijum u kome se nalaze fajlovi koji čuvaju informacije o padovima,

prekidima rada programa, i sl, /misc – direktorijum u kome se čuvaju fajlovi raznih, mešovitih svrha, /mnt – standardna tačka montiranja za eksterne fajl sisteme, kao što su CD-ROM, flash diskovi,

digialni foto-aparati, i sl, /net – standardna tačka montiranja za udaljene fajl sisteme, /opt – tipično sadrći dodatni, licencirani i third-party softver, /proc – virtuelni fajl sistem koji sadrći informacije o sistemskim resursima, /root – matični (home) direktorijum korisnika root, /sbin – programi koje koriste sistem i administrator sistema, /tmp – direktorijum za smeštanje privremenih fajlova. Najčešće ga korisit sistem i prazni po

ponovnom startovanju sistema, /usr – programi, biblioteke, dokumentacja i sve ostalo vezano za korisničke programe, /var – skladište za sve promenjive i privremene fajlove koje kreira korisnik, kao što su log

fajlovi, mail queue, spool za štampanje, slike CD-a koje se pripremaju za rezanje, itd.

5.10 SISTEMI DATOTEKA I AKTIVNO UNIX STABLOLinux sistemi datoteka koriste hijerarhijsku strukturu stabla i semantku UNIX sistema datoteka.

Interno, kernel sakriva detalje i upravlja različitim sistemima datoteka preko jednog nivoa apstrakcije koji se naziva virtuelni sistem datoteka VFS (Virtual File System).

Aktivno Linux stablo datoteka čini jedan ili više sistema datoteka koji su montirani na odgovarajuće direktorijume preko kojih im se pristupa. Osnovu aktivnog stabla datoteka čini korenski sistem datoteka (root filesystem), čiji koreni (root) direktorijum ujedno predstavlja i koreni direktorijum

38

aktivnog stabla datoteka. Zavisno od hardverske konfiguracije i odluke administratora sistema, struktura aktivnog Linux stabla može biti jednostavna (aktivno stablo realizovano jednim sistemom datoteka), ili složena (aktivno stablo realizovano većim brojem sistema datoteka - root, /boot, /var, /usr, /home ...).Isti autor s pravom naglašava i efikasnu organizaciju datoteka kod UNIX-a koje su u obliku strukture drveta sa mogućnostima pristupa bilo kojoj datoteci sa bilo kog mesta (grane drveta). Pojam datoteke ovde obuhvata podatke, aplikativne ili pomoćne programe pa stoga UNIX razlikuje četiri tipa datoteka:

- obične datoteke,- datoteke direktorijuma,- “fito” datoteke (za povezivanje procesa),- specijalne datoteke.Program Network File System (NFS), proizvod kompanije Sun Microsystems, podržava

simultani, višestruki pristup datotekama na računaru, čime se računar koji radi pod Unix-om pretvara u server za mrežu personalnih računara.

5.11 ULAZNO - IZLAZNI SISTEMLinux deli uređaje u tri klase: blok uređaje (poput diskova i CD-ROM uređaja), karakter uređaje

(poput štampača) i mrežne uređaje. Svaki uređaj je predstavljen specijalnom datotekom (device node, device file) koja se nalazi u direktorijumu /dev root sistema datoteka. Kada korisnik upisuje podatke u datoteku koja predstavlja neki uređaj ili čita iz te datoteke, vrši se neka ulazno-izlazna operacija, odnosno sistem šalje ili prima podatke sa uređaja koji je predstavljen tom datotekom. Time se ukida potreba za postojanjem posebnih programa (a samim tim i posebnom metodologijom programiranja ulazno-izlaznih operacija) neophodnih za rad sa uređajima. Na primer, korisnik može da odštampa tekst na štampaču jednostavnom redirekcijom standardnog izlaza na datoteku /dev/lp1 koji predstavlja štampač:# cat izvestaj.txt > /dev/lp1

Ova komanda će korektno odštampati datoteku izvestaj.txt ukoliko je ona u obliku koji štampač razume (npr. tekstualna datoteka). Međutim, nije preporučljivo da više korisnika istovremeno šalju datoteke na štampač pomoću redirekcije izlaza, jer se ovim zaobilazi red za čekanje za štampač (print spooler). Poseban program, lpr (line printer), obezbeđuje da datoteke poslate na štampu čekaju u redu, i prosleđuje ih štampaču tek kad je štampanje prethodne datoteke završeno. Slični programi postoje za većinu uređaja, tako da korisnici uglavnom ne koriste specijalne datoteke.

Direktorijum /dev nastaje prilikom instalacije Linux sistema i u njemu se nalaze sve specijalne datoteke, bez obzira na to da li je uređaj instaliran na sistem ili ne – postojanje datoteke /dev/sda ne znači da je na sistem instaliran SCSI disk. Postojanje svih datoteka olakšava proces instalacije novog hardvera, tj. oslobađa administratora sistema potrebe za kreiranjem specijalnih datoteka sa korektnim parametrima.

5.12 Linux u mrežiUnix je neprekidno usavršavan, tako da su stručnjaci sa Univerziteta u Kaliforniji (Univesity of California) iz Berklija, uveli rutine koje omogućavaju podršku mreže, podršku mnogim perifernim uređajima, a takođe su razvili alate za kreiranje softvera (razvojne alate).

Značajna inovacija je BSD (Berkley Standard Distribution) Unix, koji ima ugrađene protokole TCP/IP kojI omogućavaju povezivanje različitih tipova računara u mreži (računara različitih proizvođača). Poboljšanje karakteristika Unix-a dovelo je do još brojnije ponude softvera koji je predviđen za rad na miniračunarima pod Unix-om i na PC računarima.

UNIX je stabilan, moćan i fleksibilan operativni sistem visokih performansi, pogodan za izvršavanje važnih aplikacija. UNIX je čvrsto povezan s mrežnim servisima TCP/IP protokola, čime je u potpunosti promenjena slika UNIX servera i radnog okruženja iz prošlosti. Umesto servera s klasičnim serijskim terminalima, UNIX server se nalazi u mreži, pri čemu s radnim stanicama ostvaruje vezu preko LAN/WAN mreće i skupa protokola TCP/IP. Većina velikih svetskih proizvođača računara razvija specifičnu varijantu operativnog sistema UNIX, što ukazuje na njegov kvalitet, popularnost i rasprostranjenost. Većina UNIX sistema, poput IBM AIX i Sun Solaris, komercijalna je – korisnik mora da plati licencu za upotrebljavanje, a izvorni kôd nije raspoloživ.

To su razlozi narastajuće popularnosti Linux sistema koji zadrćava većinu dobrih osobina sistema UNIX, a dodatno se odlikuje raspoloćivim izvornim kodom i praktično besplatnim korišćenjem. Zbog toga danas većina proizvođača računara – osim sopstvene komercijalne verzije UNIX sistema – nudi i

39

podršku za Linux. Linux se najčešće koristi kao operativni sistem na radnim stanicama ili serverima u manjoj ili srednjoj klasi servera, a jedna od oblasti dominantne primene, u kojoj veliki broj korisnika podrćava i promoviše Linux kao bazični server, jesu Internet usluge.Umrežavanje je ključno područje funkcionalnosti Linux sistema. Linux koristi standardni TCP/IP protokol stek kao osnovni komunikacioni protokol, a dodatno podržava i brojne druge protokole koji nisu uobičajeni za komunikaciju dva UNIX sistema (AppleTalk, IPX, Samba). Interno, umrežavanje pod Linux sistemom obuhvata tri softverska nivoa: socket interfejs, protokol drajvere i drajvere za mrežne kartice.Podrška za mrežni hardver se pod Linux OS-om može smatrati veoma dobrom jer sve veći broj proizvođača mrežnog hardvera uviđa potencijal ovog operativnog sistema i svoju ekonomsku korist od njegove podrške. Linux kernel u osnovnoj varijanti podržava većinu proizvoda popularnih proizvođača a podrška se može proširiti i pomoću drajvera iz drugih izvora. Ovi drajveri se nalaze u binarnom obliku i/ili sa dostupnim izvornim kodom. Podrška za popularne mrežne protokole u Linux OS-u postoji direktno u kernelu ili korisničkih programa, u zavisnosti na kom nivou OSI modela na kome protokol funkcioniše. Protokoli nižih nivoa (PPP, TCP, IP...) se mogu uključiti kao opcija pri konfigurisanju kernela. Protokoli viših nivoa (HTTP, FTP) se podržavaju putem korisničkih aplikacija (serverskog i klijentskog dela). Podrška za hardverske uređaje je sadržana jezgru u vidu drajvera. Za hradverske uređaje iste vrste (npr. diskove) koji imaju sličnu funkciju ali se razlikuju u načinu softverske kontrole, formirane su opšte klase drajvera.Način na koji je Linux nastao i kako se razvija, omogućava brzo prihvatanje novih ideja i standarda - mnogo brže nego što je slučaj sa dokazanim operativnim sistemima velikih kompanija (ovo se ne odnosi samo na Microsoft, oni su čak među boljima). To se odnosi i na usvajanje noviteta vezanih za mreže i mrežne protokole, a naročito za TCP/IP protokol - Linux sadrži jednu od najpotpunijih implementacija ovog protokola. Najbolji primer za to je TCP/IP multicast, koji je Linux u svojim distribucijama koristio godinu dana pre svih ostalih konkurenata. Multicast omogućava da proizvoljan broj IP hostova na raznim IP mrežama istovremeno prima IP datagrame. Ovaj mehanizam omogućava svojevrsno "emitovanje" sadržaja na Internetu i koristi se za transmisiju zvučnih i video sadržaja. Osim multicast-a, Linux omogućava još nekoliko zanimljivih opcija vezanih za TCP/IP podršku. Među njima je IP Transparent Proxy, mogućnost redirekcije servera ili servisa sa jedne mašine na drugu. Koristi se kada Linux obavlja ulogu rutera i kada u mreži postoji proxy server. Tada Linux može sve (na primer) Web konekcije da preusmeri na proxy - klijenti misle da rade direktno, a zapravo rade preko proxy-ja.

Zanimljiva opcija vezana za proxy je IP Masquerade, mogućnost da više mašina koriste istu IP adresu - operativni sistem maskira ostale hostove predstavljajući ih ostatku sveta tom IP adresom. Na ovaj način maskirani hostovi mogu da šalju pozive u spoljni svet, ali ne i da ih primaju - zato preko maskiranja direktno rade servisi poput telnet-a, Web-a i IRC-a, dok FTP radi samo u pasivnom modu. Umesto ovih netipičnih rešenja, mogu se koristiti klasični proxy serveri, npr. SOCKS.

Sastavni deo Linux-ovog TCP/IP-a je i IP filtering, koji omogućava da Linux mašina obavlja poslove firewall-a. Upotreba firewall-a i IP štiti lokalnu mrežu od neautorizovanog pristupa sa strane (tj. sa Interneta). Pravila se odnose na filtriranje ulaznih paketa, izlaznih paketa, kao i za filtriranje paketa koji treba da se rutiraju.

Linux može da radi i kao ruter, koristeći bilo statičko rutiranje kreiranjem tabela ruta, bilo dinamičko rutiranje zasnovano na RIP (Routing Information Protocol) ili OSPF (Open Shortest Path First Protocol). RIP se uglavnom koristi na malim i srednjim mrežama, a OSPF može da "izdrži" i velike mrežne konfiguracije, pošto je bolje prilagođen velikim brojem putanja kroz mrežu. Dva programa koja se koriste u ove svrhe su routed, koji implementira RIP i noviji gated, koji osim RIP implementira OSPF i neke druge protokole.Povezivanje i umrežavanje preko serijskog linka, što uključuje modemsku komunikaciju putem telefonskih linija (SLIP/PPP) jedna je od najjačih strana Linux-a kao mrežnog operativnog sistema. SLIP polako postaje prošlost, a PPP je de-facto standard. Linux-ova implementacija PPP-a važi za jednu od najboljih uopšte, a mogućnosti koje pruža bilo kao server ili kao klijent to i potvrđuju.

Jedna od efektnih osobina Linux-ove PPP implementacije je LCP ekstenzija, koju je uveo Microsoft i koja omogućava da PPP server saopšti adrese DNS servera Windows klijentima. U saradnji sa AutoPPP opcijom programa mgetty koji je zadužen za odgovaranje na modemske poziva, Linux se pretvara u pravi access server za Windows klijente - dovoljno je u Dial-Up Networking-u navesti

40

telefonski broj, korisničko ime i lozinku i nakon uspostavljanja veze Linux server će Windows klijentima saopštiti sve potrebne adrese. Korisnik se, naravno, može prijaviti i konzolno, a onda logovati u terminal mod Linux-a sa obzirom da se Dile Up više i ne koristi.Za kraj priče o mrežnoj podršci u kernelu Linux-a, treba pomenuti da pored TCP/IP-a, Linux-ov kernel sadrži i podršku za neke druge protokole, među kojima su najvažniji IPX, AppleLink i NetBios.

5.13 Internet servisiSvi važni programi koji implementiraju Internet servise su portovani na Linux, a neki su na njemu

i razvijani. Pregled počinjemo od elektronske pošte: svaki mail server na Internetu mora da sadrži najmanje servere za SMTP i POP servise, kao i program koji će obavljati isporuku pošte za lokalne korisnike. Postoje i drugačije konfigurisani mail serveri, pa umesto SMTP-a može da se koriti UUCP razmena, a ni POP server ne mora da postoji, već korisnici pristupaju svojim mailbox-ovima koristeći lokalne Unix programe poput Pine i Elm. Ipak, u vreme moćnih grafičkih okruženja ovakva organizacija je prevaziđena.

Kod programa koji se brinu o mrežnom transportu pošte, rešenje je sendmail - ovaj program, nastao na Berkeley univerzitetu, smatra se apsolutnom referencom, a doživeo je i veliki broj komercijalnih modifikacija. Sendmail je jedan od najkompleksnijih programa sa kojima se možete sresti, a zlobnici kažu da je komplikovaniji i od samog Unix-a. U svakom slučaju, opcija ima toliko da se konfigurisanje vrši pomoću GNU makro jezika m4. Sendmail se može koristiti i za UUCP transport, a u radu se oslanja na program za lokalni saobraćaj unutar Linux host-a. Savremeni Linux serveri uglavnom za ove poslove koriste program pod imenom procmail, dok se ponegde nađe i program pod imenom delievery.

POP servera ima nekoliko, obično se kriju iza imena popper. Jedan od njih - qpopper delo je kompanije Qualcomm, čuvene po programu Eudora. Ako imate veći broj korisnika koji svom poštanskom sandučetu pristupaju sa više lokacija, POP nije najbolje rešenje - više odgovaraju mogućnosti koje nudi IMAP. U okviru IMAP paketa imapd se, pored IMAP servera, nalaze i POP2 i POP3 serveri. Pri instalaciji IMAP servera treba voditi računa da se koristi što novija verzija - starije su bile problematične sa sigurnosne strane. IMAP je sve popularniji protokol, a klijente za njega naći ćete u mail komponentama Internet Explorer-a.

Linux je jedna od najpopularnijih platformi za Web servere, pre svega zahvaljujući neobično popularnom Apache serveru. Apache nije jedino rešenje, tu je i original - NCSA httpd Web server, kao i nekoliko drugih manje poznatih. Glavni FTP server za Linux je wu-ftpd - spada u prve servere koji su omogućili nastavak prekinutog prenosa. Ova mogućnost nije bila od naročitog značaja pre buma Interneta, jer se nekada Mreža uglavnom sastojala od računara koji su povezani permanentnim vezama. Danas veliki deo saobraćaja i dalje prave modemski korisnici, za koje je veoma važno da u slučaju prekida veze mogu da nastave prenos fajla. Zato Linux i wu-ftpd predstavljaju jedno od omiljenih rešenja za FTP servere.

I ostali Internet servisi su zastupljeni odgovarajućim server aplikacijama - njihov broj je srazmerno manji, obično se radi o jednom ili dva programa za određeni servis. Na primer, za implementaciju News servisa poslednjih godina se nametnuo paket pod imenom INN. Postoje i IRC serveri, pa i serveri za multimedijalne Internet servise, na primer Real Audio. News se može iskoristiti za kreiranje lokalnih diskusionih grupa, dok IRC nije samo zabavna, već i korisna stvar. Postoje, naravno, i slučajevi lokalnih intranet radio stanica, koje koriste RealAudio i slične tehnologije. Sa porastom broja korisnika u lokalnim i globalnim mrežama na značaju su dobili directory servisi, koji omogućavaju kreiranje imenika i adresara. Na Internetu se za pristup ovakvim servisima koristi LDAP, a Linux spada u prve operativne sisteme koji su imali LDAP server.

5.14 Standardni mrežni servisiKada su fajl i printer servisi u pitanju, Unix je uvek bio u senci Novell Netware-a. Nije neobično

da specijalizovan sistem kao što je Netware bude brži i bolji u obavljanju poslova za koje je namenjen, ali i Unix je ima svoju primenu - postojao je LAN Manager za Unix, a u Americi se i danas često sreće mrežni operativni sistem Banyan Vines, baziran na Unix-u... Tu je, naravno, i Sun-ov NFS, koji je postao standard za mrežne diskove pod Unix-om. NFS je dobro podržan i u Linux-u, klijent postoji u kernelu, a

41

gotovo svaka distribucija sadrži server. NFS je ostao dobro rešenje samo za deljenje diskova među Unix mašinama, Windows svetu nedostatak dobrog klijenta potisnuo NFS na niske pozicije.Veliku popularnost su postigli programi koji simuliraju druge fajl servere: najpoznatiji je SMB server Samba. SMB je protokol koji koriste LanManager, IBM Lan Server, Windows Server OS/2 Warp serveri za deljenje diskova i štampača. Korišćenjem Sambe, Linux server postaje ravnopravan sa Windows i sličnim serverima u mreži. Zahvaljujući činjenici da svaki noviji Windows ima u sebi SMB klijent kao i odličnim performansama programa Samba, Linux može biti odlična alternativa Windows fajl serverima.Samba je postigla veliku popularnost, pa čak postoji i verzija za Novell Netware, koja omogućuje Novell-u da emulira Windows server. Nešto noviji (i manje korišćen) je Netware emulator pod nazivom Mars. Kao i Samba, ovaj program je izuzetno efikasan, a po nekim testovima uz malo podešavanja kernela, Linux sa Mars emulatorom može da bude brži nego Netware 4.1 na istoj mašini.

5.16 RPM?RPM je skraćenica od RedHat Package Management, i u međuvremenu je praktično postao

standard distribucije softvera za Linux, tako da se smatra da je RPM praktično platformski nezavistan standard. RPM dakle služi za instalaciju (i deinstalaciju) pojedinih komponenti sistema, ali takođe i za njihov upgrade bez potrebe za kompletnim reinstaliranjem. Ovo je posebno važno kod komponenti koje su ključne za funkcionisanje sistema - korisnici drugih distribucija često moraju da reinstaliraju ceo operativni sistem pri upgrade-u, recimo, runtime C biblioteke. RPM podržava i razne opcije za izvršavanje upita nad bazom instaliranih komponenti. Na primer, može se pretraživati baza tražeći određene komponente ili čak pojedine fajlove. Takođe, može se saznati koji fajl pripada kom paketu, ili tražiti verifikaciju integriteta određenog paketa u slučaju da se sumnja da je obrisan neki značajan fajl koji mu pripada. RPM operiše sa fajlovima koji imaju istu takvu ekstenziju, dakle .RPM. To su kompresovane arhive (.tar.gz) sa nešto izmenjenim binarnim zaglavljem koje sadrži informacije o paketu i sadržaju.

5.17 SigurnostČesto se može čuti da je Unix, pa samim tim i Linux, nesiguran sistem. Kao argument mogu da se

čuju priče o hakerima koji su, provalivši šifru superkorisnika (root), obrisali ceo disk ili načinili neku drugu štetu. Činjenica je da u rukama neiskusnog ili nepažljivog administratora Linux može biti ranjiv sistem, ali je u novijim verzijama važnijih distribucija stvar unapređena uvođenjem sigurnosnih mehanizama i, naročito, administratorskih alatki. Ukoliko se korisnik prdržava saveta i koristi RedHat distribuciju imaće prilično bezbedan Linux. Bagovi i sigurnosne rupe, koji se otkriju se relativno brzo otkrivaju i ispravljaju. Iako se Linux često koristi kao server, to nikako nije njegova jedina namena. Linux je odlična razvojna i aplikativna platforma, a može se koristiti i za igre i multimediju. Postoji širok izbor razvojnih alata, kompajlera za razne jezike, solidan broj komercijalnih aplikacija (između ostalih i WordPerfect).

Što se tiče sigurnosti i stabilnosti servera, dobro podešen Linux server nećete morati gasiti godinama. Pouzdanost, subjektivno najvažniju osobinu operativnog sistema, nasledio je od UNIX-a. U slučaju da dođe do otkaza nekog procesa, sistem nastavlja nezavisno da funkcioniše. Treba naglasiti da je Linux multiuser, multitasking, multiprocesorski operativni sistem. Jednostavno govoreći, u istom momentu može biti logovano više korisnika, koji pokreću više procesa koji se odvijaju “istovremeno”, i sve to u jednom računaru koji može imati i do 32 centralna procesora. Znači paralelizam, na sva tri nivoa kao važna odlika modernih operativnih sistema realizovana je u potpunosti na Linux opertativnom sistemu

Linux je raspoloživ kao besplatan operativni sistem pod GNU GPL licencom (GNU General Public Licence). Linux je softver sa otvorenim izvornim kodom (Open Source), što znači da je izvorni kod javno raspoloživ i može biti modifikovan tako da odgovara specifičnim potrebama. Linux se može slobodno distribuirati među korisnicima. Ovakav koncept je potpuno suprotan konceptu komercijalnog softvera, gde izvorni kod nije dostupan i svaki korisnik mora da plati licencu za korišćenje. Stabilnosti bezbednost su dve najbolje karakteristike Linux-a. Jako retko se dešava da Linux serveri otkažu a opasnost od napada virusa i trojanaca skoro da ne postoji.

42

6.WINDOWS SERVER

Windows familija operativnih sistema je trenutno najzastupljeniji OS na desktop računarima. Pojavio se u novembru 1985 godine kao prirodni naslednih DOS OS sa glavnom karakteristikom - grafičkim radnim okruženjem. Sve do verzije 3.1 hardverska zahtevnost, insistiranje na grafičkom interfejsu i nestabilnost (sa čuvenim plavim ekranom) je doprinela da ovaj OS nema zapaženiju ulogu. Tada mu je dodata mrežna podrška i ostvarena virtuelizacija memorijskog prostora tako da je otvoren put razvoju. Sledeći značajan korak je verzija NT (New Tehnologies) koja je radila na 64-bitnim računarima tako da je Microsoft pokušao da uzme deo serverskog kolača. Iako je to bio veoma dobar OS ipak se zadržao u manjim mrežama. Kada je reč o delu operativnog sistema vezanog za server platformu, Microsoft je sa svojim OS ponudio jednu novu klasu i modernu mikro-kernel arhitekturu u kojoj je samo osnova OS zavisna od hardvera. Ovo čini Windows familiju servera vrlo lako primenjivim na različite hardverske platforme, uključujući i različite multiprocesorske sisteme. Posebna stavka na koju je Microsoft obratio pažnju je smanjenje troškova instalacije i administracije. Pod kodnim imenom Hermes stvoreno je snažno okruženje za upravljanje mrežnim sistemom, Systems Menagement Server - SMS (server za upravljanje sistemima). To je sistem koji treba da efikasno podrži multiprocesorski rad sa 32 procesora u mreži (praktična granica NT je bila 4-8) i da bude izuzetno prilagodljiv i prihvatljiv za sve hardverske platforme od laptopa i desktopa do velikih server procesora. Zbog toga se u svakoj novoj verziji javljaju nekoliko varijanti različitih po svojoj snazi i nameni (npr. Basic, Home, Professional, Enterprise, Server, Ultimate). Promene koje su se dešavale tokom razvoja su imale čini se jednu tačku koja označava unapređenje ozbiljnosti Microsofta da napravi stabilan OS koji će zadovoljiti različite potrebe. Ta tačka je pojava Windows 2000 Servera koji je osim promene u imenu i nasleđa stabilnosti iz WinNT-a, ova verzija je unapredila mogućnosti podešavanja, drajversku podršku za široku paletu uređaja, centralizovan je aplikacioni servis, uvedena je podrška za FAT32 sistem fajlova, dodao je mogućnost šifrovanja postojećeg NTFS sistema, omogućio je da se hard diskovi prevedu u dinamičke. Kao suština pre svega on-fly šifrovanja podataka dao je dodatnu sigurnost korisnicima koji su težili sigurnosti podataka bez ikakvih dodatih aplikacija i slojeva. Kada govorimo o dinamičkim diskovima otvarale su se nove perspektive da se više hard diskova posmatra kao jedna logična celina ali i da se podrže RAID 5 sistemi. Isto tako dodate su

- mogućnost rutiranja uz podršku za virtuelne privatne mreže, proveru identiteta i preslikavanje mrežne adrese

- realizovan je DNS (Domain Name System), koji je bio integrisan u aktivni direktorijum - definisane su grupne polise integrisane u aktivni direktorijum- definisana je podrška za Керберос (identifikacioni protokol za autentifikaciju na mreži

prvobitno razvijan na MIT koledžu), MS-CHAP v.2 (autentifikacioni protokol Microsofta Challenge-Handshake Authentication Protocol) i infrastrukturu javnih ključeva

- revitalizovan je WEB server IIS (Internet Information Services)Upravljanje domenom od Windowsa 2000 je centralizovano a hijerarhijski sistem omogućavao je administratorima mreže da na jednostavan način upravljaju domenom. Sa jednog mesta se upravljalo korisničkim nalozima, ažuriranjem računara, kreirale i primenjivale grupne polise, instalirao dodatni softver na klijentske strane. Isto tako su dodati posebni servisi: file server, print server, terminal server, remote server, DHCP i DNS server, WEB server i drugi. Dosta ljudi vole Microsoft Windows zbog toga što je jednostavan za korištenje i učenje. Microsoft Windows takođe dobro radi sa mnogim različitim hardverskim komponentama i uređajima.

Osnovu rada Windows familije OS čini višeprocesni sistem sa pretpražnjenjem. Ovo znači da je prilikom dodele procesora jednom procesu moguće oduzeti to pravo na korišćenje u korist drugog procesa i to u jednom od dva slučaja:

1) ako mu je istekao vremenski kvantum koji mu je dodeljen2) ako je naišao proces koji ima veći prioritet u odnosu na njega tako da se rad prisilno prekida,

pamti se vektor stanja i procesor dodeljuje novom procesu (pre-emptive)Isto tako Windows koristi arhitekturu mikrojezgra (osnova je u minimalnom i pouzdanom jezgru visokih performasi, a sve ostale funkcije se sele u korisnički prostor sastavljen od modula koji međusobno komuniciraju međusobnim slanjem poruka). Mikrojezgro radi u zaštićenom modu (nema pristupa

43

korisničkih modula) i obezbeđuje osnovne sistemske usluge ostalim slojevima i modulima koji ga nadograđuju. Ispod njega se nalazi sloj apstrakcije hardvera (koga nazivaju HAL hardware apstraction layer) a iznad sloj egzekutive u kome se vrši upravljanje objektima, kontrola pristupa, upravljanje procesima, lokalno pozivanje procedura, upravljanje virtualnom memorijom. Na vrhu se nalazi korisnički režim u kome rade ostali podsistemi:

a) MS-DOS – rad sa DOS programima u virtuelno definisanoj DOS mašini, b) 16-bitni Windows podsistem – virtuelna DOS mašina za 16-bitne aplikacijec) 32-bitni Windows podsistem – implementacija Win32 API za 32-bitne aplikacijad) POSIX (Portable Operate System Interface) podsistem – za aplikacije koje rade u tekstualnom

režimuBitno je napomenuti da svako od ovih režima rada podrazumeva odvojen i zaštićen adresni prostor čime je potpuno odvojen od ostalih procesa koji se izvršavaju u korisničkom režimu rada.Jezgro vrši dodelu procesora nitima, obavlja hardverske prekide i izuzetke, sinhronizuje procese niskog nivoa i vrši oporavak posle greške. Svaki od pokrenutih procesa ima svoje virtuelnelne memorijske resurse Ono koristi dispečer koji upravlja poslovima dodele procesora i sinhronizacijom rada. On ima 32 nivoa prioriteta kako bi odredio redosled izvršavanja. Od ova 32 nivoa polovina je rezervisana za poslove koji se izvršavaju u realnom vremenu dok je druga polovina definisana za ostale poslove. Takođe su omogućeni skokovi na procese koji koriste U/I uređaje kako bi se ispeglala ta brzinska razlika između njih i ostatka sistema. Ovakvim sistemom gradacije i mogućnosti skokova sa procesa na proces omogućava da se nikada ne dođe u stanje blokade kada npr. neka od aplikacija uđe u mrtvu petlju ili kada je za njeno izvršenje potrebno mnogo procesorskog vremena. Jednostavno mu se promeni prioritet i nastavi sa nekim ko je aktivan. Da bi to mogao jezgro koristi prekide od kojih se 8 rezerviše za interne potrebe a ostatak od 24 se opslužuje preko HAL-a (Hardware Apstraction Layer). Prekidna rutina se može izvršiti samo u slučaju da se višeg prioriteta od trenutno aktivnog. Ukoliko to nije slučaj onda se čeka da se nivo prioriteta snizi i onda se aktivira a dotle se nalazi u tabeli dodele prekida koja se formira za svaki procesor u sistemu ponaosob.

44

Odlika njegove servrske platforme je mikro kernel jezgro koje u potpunosti zavisi od hardvera. Posle standarnog FAT fajl sistema uvodi mogućnost šifriranja NTFS fajl sistema, što svojim korisnicima daje jednu novu bezbednost u vidu zaštite podataka na svojim diskovima. Njegov višeprocesni sistem koji nudi pretraživanje tako da cela logika dodele procesora procesu je regulisana tako da to pravo se može oduzeti za ime drugog procesa po isteku vremenskog kvantuma ili po dolasku procesa sa većim prioritetom. Pored mikro jezgra od koga se sastoji postoji i sloj koji se nalazi ispod a to je HAL sloj apstrakcije hardvera , kao i sloj izvršenja ( upravljanje objektima, upravljanje procesima). U korisničkom režimu možemo razlikovati nekoliko podsistema od: DOS, 16-bitni podsistem, 32-bitni podsistem, POSIX, i svi ovi pod sistemi zahtevaju odvojen adresni prostor.Evolucija Windows familije je trenutno na verziji koja je objavljena 2008. godine i u njoj je implementiran snažan softver za upravljanjem WEB servisom koji omogućava virtuelizaciju. Trenutno je dominantan na tržištu klijentskih operativni sistema sa preko 85% učešća.

6.1 Windows NT ( Now Technology) Prvi od Windows mrežnih os-a na tržištu se pojavio Windows NT 1996 god. Windows NT je

većinom napisan od nule. MS je zaposlio Dejv Katlera (eng. Dave Cutler), jednog od glavnih arhitektaVMS-a DEC-u (kasnije kupljen od strane Compaq-a, sad deo Hewlett-Packard-a) da razvije NT u moćniji operativni system. Jedna od najvećih prednosti koje je imao jeste novi 32-bitni API nazvan Win32, koji je trebao da zameni stari 16-bitni (kasnije nazvan Win16). Bio je 32-bitni operativni sistem sa grafičkim okruženjem sličnim onom u Windowsu 95. Iako višestruklo stabilniji od njega, nije bio tako pogodan za običnu, kućnu upotrebu. Veliki deo stabilnosti postignut je zahvaljujući virtuelizaciji hardvera, programi su koristili sistemski API, umesto da pristupaju hardveru direktno, kao što se radilo u DOS-u i Windows-u 95. Zbog toga je kompjuter morao obavljati mnogo više operacija, pa su zahtevne aplikacije i igre radile znatno sporije.Windows NT je bio veoma popularan mrežni OS u klijent – server

45

arhitekturama, što znači da obuhvata i upravlja i kontroliše interaktivni rad servera (NT server) i radne stanice (NT Workstation). Kada je reč o delu operativnog sistema vezanog za server platformu, Microsoft je sa svojim NT ponudio jednu novu klasu i modernu mikro-karnel arhitekturu u kojoj je samo osnova operativnog sistema zavisna od hardvera. Ovo čini Windows NT vrlo lako primenjivim na različite hardverske platforme, uključujući i različite multiprocesorske sisteme. Za razliku od UNIX-a, postoji samo jedna verzija Windows NT-a koja je identična na svim platformama.

Posebna stavka na koju je Microsoft obratio pažnju je smanjenje troškova instalacije i administracije. Pod kodnim imenom Hermes stvoreno je snažno okruženje za upravljanje mrežnim sistemom, Systems Menagement Server - SMS (server za upravljanje sistemima). Za preduzeća (korisnike) često je upravo to veoma važno.

Najrasprostranjenija verzija je NT 4.0 sa izrazito velikim mogućnostima u domenu multiprogramskog rada i virtuelnog upravljanja memorijom. S obzirom da se radi o 32-bitnom operativnom sistemu, rad je izuzetno brz pa se delom može podržati i multiprocesiranje.

Ovo poslednje je znatno efikasnije kod poslednje verzije Windows NT 5.0 koja ima niz boljih kontrolnih programa (u odnosu na 4.0), kao i bolju hardversku kompatibilnost. Verzija 5.0 ima i programe “plug and play” koji će vam znatno olakšati postupak dogradnje nekog novog elementa u vašu konfigraciju (CD, DVD, itd.) ili npr. zamenu video ili mrežne kartice. Naravno, da bi programi dobro radili, u delu radne stanice, kao i drugi i Windows NT je hardverski dosta zahtevan. Prevedeno na praktičan jezik to znači da će vam trebati jača mašina nego sa npr. Windowsom 95 ili 98.

6.2 Windows server 2000Windows 2000 na tržištu se pojavio 17. februara 2000. kao apgrejd za NT 4.0, ali on je bio mnogo

više od toga. Doneo je puno novina kao što su: NTFS 5 sa podrškom za quotas[12], enkripciju na nivou fajl sistema i poboljšani korisnički interfejs, nalik onom iz Windowsa 98. WDM drajveri, koji su prvi put korišćeni na NT kernelu, omogućili su razdvajanje opšte funkcionalnosti nekog uređaja od specifične. Npr., MS može da obezbedi osnovnu podršku za USB, kao što je komunikacija sa tim uređajima, a proizvođaču hardvera ostaje samo da napiše drajvere za specificnu funkciju koju taj uređaj treba da obavlja, što je značajno pojednostavilo pisanje drajvera. Nije više bilo bagova (eng. bug) koji su se pojavljivali svaki put kad bi se implementirala osnovna podrška za neki novi uređaj. Teoretski, WDM drajveri su kompatibilni sa svakim Windows-om koji ih podržava, bez obzira na kernel. Glavni uzrok nestabilnosti Windowsa bili su drajveri, a na ovaj način taj problem je rešen (bar u velikoj meri). Windows 2000 je najaktuelniji Mikrosoftov mrežni OS sa namenom da zadovolji sve veće multimedijalne zahteve korisnika u Internet okruženju. O njemu su već sada napisane brojne knjige, od kojih svaka od njih obrađuje tek jedan deo njegovih funkcija ili namene. Zašto je to tako postaće malo jasnije ako kažemo da je to sistem koji treba da efikasno podrži multiprocesorski rad sa 32 procesora u mreži (praktična granica NT je bila 4-8) i da bude izuzetno prilagodljiv i prihvatljiv za sve hardverske platforme od laptopa i desktopa do velikih server procesora. Zbog toga u suštini postoje četiri varijante WIN 2000:1) Windows 2000 Professional je namenjen stonim i prenosivim računarima i koristi se kao radna stanica. 2) Windows 2000 Server je namenjen radnim organizacijama kojim je potreban brz i pouzdan server datoteka i štampanja, kao i za efikasno obavljanje poslova na internetu i u mreži. Podržava 4-8 procesora.3) Windows 2000 Advanced Server je dizajniran za specifične i zahtevne aplikacije. Za razliku od prethodnog, podržava veći broj korisnika, složenije aplikacije i osam procesora.4) Windows 2000 Data center pored mogućnosti Advanced Servera moći će da zadovolji intezivnu obradu mrežnih transakcija i skladištenje velikih baza podataka. Podržavaće paralelan rad 32 procesora Kada se kaže WIN 2000, treba stoga često i preciznije reći na koji njegov deo (varijantu) se misli.WIN 2000 je zadržao sve dobre osobine ranijih NT sistema, ali je obezbedio i neke nove kvalitete i obeležja mrežnog rada koja ga izdvajaju u novu klasu OS, od kojih su najvažniji:

• aktivni direktorijum (active directory) prožima ceo OS,• poboljšana TCP/IP mrežna infrastruktura,• stabilnije opcije koje se odnose na infrastrukturu sigurnosti,• snažnija deoba datoteka uz pomoć Distribuisanog Fajl sistema i Servisa za replikaciju datoteka (File Replication Service),• fleksibilnije on line skladištenje preko Removable Storage Managera,• povećava bezbednost u Internet okruženju.

46

Inače, vreme potrebno za podizanje sistema WIN 2000 je praktično isto kao i kod NT, a potrebni podaci za podizanje nalaze se na CD-u ili na četiri diskete. Sa stanovišta korisnika vredi pomenuti još nekoliko za nas značajnih novih obeležja: U radu sa fajlovima WIN 2000 je bolji i fleksibilniji od NT jer može da radi sa tabelama za razmeštanje datoteka FAT 32 (32 bitne tabele). - Explorerov prozor Search sada i vizuelno podseća na Web sa neuporedivo više mogućnosti od nekadašnje opcije Find. (Ovo se odnosi i na niz drugih opcija ali smo samo Search pomenuli da bi naglasili bitnu Internet orijentisanost WIN 2000).- Explorerova paleta alatki, kao i niza drugih menija, nije više fiksna, već je možete menjati, uklanjati ili premeštati prema vašoj potrebi.- U svakom Windows Explorer-u koji koristi Web možemo puštati zvučni (wav, rar, midi, itd) ili video (avi, mpeg, itd) fajl, a da ne pokrenemo zaseban program. Da bismo puštali ove fajlove, moramo potvrditi opciju Enable Web contents in folders pod Tools-Folder Option-General, pri čemu moramo imati instaliran Media Player ili Real Player. To je potpuno novi prikaz multimedijalnih fajlova.- Kontrola bezbednosti je znatno veća, pa tako npr. nema više kategorije tzv. “podrazumevanih” korisnika (Default Users). Pri pokretanju WIN 2000 morate imati korisnički nalog sa sopstvenom lozinkom (password). Analogno tome, sistem čuvanja datoteka je pojačan kroz šifrovanje fajlova ili direktorija na HD itd.

Koja je cena prelaska na Windows 2000? Minimalna platforma vašeg računara mora biti na 133 MHz, prazan prostor na hard disku mora biti minimalno 650 MB, kao i to da moramo imati 64 MB RAM memorije za normalan rad.

6.3 Windows server 2003Windows 2003 Server je serverski operativni predstavljen 24. aprila 2003. godine kao naslednik

Windows 2000 Servera. On je preuzeo najbolje od njega, a doneo kompatibilnost i druge mogućnosti XP-a. Omogućava znatno lakši apgrejd sa NT 4.0 domena na Windows 2003, za razliku od apgrejda na Windows 2000, koji je bio težak i zahtevao puno vremena, pa se postavljalo pitanje isplativosti, posebno kada je u pitanju Active Directory. Doneo je napredak po pitanju upravljanja grupnim polisama, radu sa diskom, uključujući i mogućnost bekapovanja (eng. back-up)otvorenih fajlova, kao i poboljšane skript (eng. script) i commad line alate. U odnosu na 2000 Server, nema nijednu serversku komponentu uključenu automatski, kako bi se smanjila osetljivost na napade na novoj instalaciji. Windows Server 2008 (WS08) je najnovija i najsveobuhvatnija verzija serverske platforme iz Microsoft-a i naslednika veoma popularnog Windows Servera 2003.

Windows Server 2003 je najproduktivnija infrastrukturna platforma za pojačavanje povezanih aplikacija, mreža i Web usluga od radnih grupa do informacionih centara. Windows Server 2003 je lak za primenu, upravljanje i korišćenje. On vam pomaže da formirate bezbednu IT infrastrukturu koja pruža snažnu aplikacijsku platformu za brzu izgradnju povezanih rešenja, kao i informatičku infrastrukturu za poboljšanu komunikaciju i saradnju bilo gde i na bilo kom mestu.

Microsoft Windows Server 2003 R2 je update dosta hvaljenog Windows Server 2003 operativnog sistema. Windows Server 2003 R2 nudi sve dobre stvari Windows Server 2003 uz veliko unapređenje razvijenih office serverskih rešenja, korisničkog pristupa kao i olakšano podešavanje na svim nivoima. Lako se integriše u postojeće Windows 2003 server okruženje i ima istu kompatibilnost sa postojećim aplikacijama.Windows 2003 je modularni operativni sistem koji se sastoji od komponenata, a sagrađen je na osnovu Windows 2000 Servera. Svi objekti operativnog sistema imaju interfejse, pomoću kojih drugi objekti i procesi obezbeđuju njihovu funkcionalnost ili usluge. Komponente međusobno sarađuju prilikom obavljanja konkretnih zadataka operativnog sistema. Arhitektura Windowsa 2003 podešena je u dva glavna sloja: korisnički sloj (engl. user mode ) i sloj jezgra (engl. kernel mode ). Slojevi i razni podsistemi prikazani su na slici 1. Korisnički sloj Windowsa 2003 u suštini je sloj za podršku aplikacijama, kako za Microsoftov softver, tako i za softver drugih proizvođača. Sastoji se od ugrađenih podsistema okruženja i od dodatnih (nezavisnih) podsistema. To je deo operativnog sistema koji omogućava drugim proizvođačima softvera da koriste usluge operativnog sistema pozivajući objavljene API funkcije i objektno orijentisane komponente. Sve aplikacije i usluge instaliraju se u korisničkom sloju.

47

Sl. 1 Sistemska arhitektura Windows Servera 2003

Windows Server 2003 koji je pre svega modularni , to jest operativni sistem baziran na komponentama. Tako da svi objekti u operativnom sistemu izlažu interfejse koje koriste drugi objekti ili procesi, i sve ove komponente rade zajedno kako bi izvršile specifične zadatke operativnog sistema. Windows Server 2003 arhitektura se pre svega sastoji od dva moda: Kernel moda ( koji ima pristup sistemskim podacima i hardveru) i Korisničkog moda (koji je zapravo nivo podrške aplikacijama kako Microsoftovim tako i drugim) Za Windows Server 2003 kažemo da ima ugrađenu arhitekturu simetričnog multipleksiranja (SMP) i da je odlika za 32-bitnu arhitekturu, što daje mogućnost da operativni sistem može raditi na više procesora, i može da omogući da procesor može biti dostupan svim procesima koji su mu potrebni. Različita izdanja Windows Server-a 2003 imaju različiti broj SMP kanala (Standard, Web , Datacentar, Enterprise). Sam Operativni sistem možemo konfigurisati u jednom od sledećih ponuđenih servisa: File Server, Printer Server, Aplication server (ASP.NET,IIS), Mail Server , Terminal Server, Remote Access and VPN Server, DNS Server, DHCP Server, Streaming Server, WINS Server.

6.4 Windows server 2008Posle internog memoranduma Bila Gejtsa od pre nekoliko godina, u Microsoftu je u prvi plan

stavljena sigurnost svih proizvoda koji izlaze iz ove kompanije. Jedna od posledica je Windows Server 2008 koji dolazi kao zreo proizvod sa ambicijom da zadovolji sve ili barem većinu zahteva IT profesionalaca. Oni su u prethodnih nekoliko godina davali primedbe i sugestije proizašle iz prakse, pa smo tako dobili prvi Windows bez prozora. Da li je to marketinški trik, zahtev "surovih" profesionalaca ili plod iskustva - ne znamo, ali je sigurno da su nam ljudi iz Redmonda pripremili prijatno iznenađenje. Sposobnost velikih se i ogleda u tome što umeju da prepoznaju zahteve korisnika, da uvide greške iz prošlosti i da primene rešenja koja se od njih najmanje očekuju.

Prethodne verzije Windows Servera instalirane su po principu "out of the box", pa je veliki deo funkcija servera bio neiskorišćen. Istovremeno, razni procesi bili su pokretani i radili su u pozadini, iako to nije bilo potrebno. Sada je situacija drugačija pa se, čak ni slučajno, ne može desiti da server izvodi bilo kakav proces bez znanja korisnika. Na taj način smanjen je rizik od raznih napada koji mogu destabilizovati server.

48

Tu dolazimo i do jedne interesantne mogućnosti . Reč je o windows-u bez prozora ili preciznije rečeno o Server Coreu. Pri setupu moguće je izabrati Server Core što znači da će biti instalirane samo osnovne komponente operativnog sistema Windows Server 2008. Među njima nema, verovali ili ne, čak ni grafičkog interfejsa. Administracija i konfiguracija servera vrši se isključivo putem CLI-a (Command Line Interface). Na žalost, u Server Core instalaciji ne postoji mogućnost korišćenja Power Shella.

Minimalna instalaciona opcija i podržava samo neke (osnovne) od mnogobrojnih uloga Windows Server-a 2008. U tom slučaju biće dostupne sledeće funkcije: DHCP, File Server, DNS, Domain Controller, AD i DS i Virtualization server. Takođe, podržana je i instalacija DC-a i RODC (Read Only DC). Upravljanje sistemom vrši se kroz CLI i putem RDP kroz MMC. U ovom drugom slučaju dolazi i grafički interfejs, ali u ograničenom obliku. Windows server se često "podiže" zbog jednog ili dva servisa, pa je u tim slučajevima mogućnost ograničene instalacije daleko praktičnija po pitanju sigurnosti, boljeg korišćenja resursa, manje zahtevnog patch managementa, a vrlo je pogodna i za virtualizaciju .

U drugom slučaju, nakon instalacije osnovnog dela operativnog sistema, prelazi se na post-instalacioni deo u kojem se biraju uloge (roles) i mogućnosti (features) servera. Naime, instalacijom osnovnog dela operativnog sistema hardware je samo "povezan", a fino podešavanje servera tek predstoji. Na raspolaganju je veliki broj uloga i mogućnosti. Navešćemo uloge koje su dostupne: AD Certificate Services, AD Domain Services, AD Federation Services, AD Lightweight Directory Services, AD Rights Management Services.

Tu su i Application Server, DHCP Server, DNS Server, Fax Server, File Services, Network Policy and Access Services, Print Services, Terminal Services, UDDI Services, Web Server (IIS), Windows Deployment Services, Windows Server Virtualization i Windows SharePoint Sevices. Svaka od navedenih uloga donosi niz poboljšanja i unapređenja. S nestrpljenjem čekamo da ih testiramo i, naravno, da vam prenesemo iskustva. U svakom slučaju, prvi pogled "ispod haube" veoma je obećavajući.

Sa novom verzijom operativnog sistema Windows Server 2008 stižu nam nove mogućnosti. To se odnosi i na Grupne polise. Dobili smo okruglo 700 novih polisa, a jedna od osnovnih razlika je što sada postoji Group Policy Preferences.

Sl.2 Minimalna instalacija serveraWindows Server 2008 redefiniše pojam serverskih operativnih sistema. Sa preko milion

downloadovanih kopija WS2008, na čvrstim temeljim ocenjivanja korisnika, izgrađen je sistem lak za upravljanje, visokog stepena sigurnosti i sa povećanom ukupnom stabilnošću.

6.4.1 Windows Server 2008: Nove opcije za administratoreSa novom verzijom operativnog sistema Windows Server 2008 stižu nam nove mogućnosti. To se

odnosi i na Grupne polise. Dobili smo okruglo 700 novih polisa, a jedna od osnovnih razlika je što sada postoji Group Policy Preferences.

Tokom korišćenja Windows Servera 2003 veliki broj administratora oslanjao se na Group Policy Objects (GPO, grupne polise) kao na veliku pomoć u podešavanju i održavanju mrežnog sistema. U početku, svi su bili oduševljeni mogućnošću da centralizovano upravljaju velikim brojem računara i da na taj način imaju mogućnosti dizajniranja mrežnog sistema i okruženja.

Moram priznati da sam se, u većini slučajeva, susretao sa administratorima koji su grupne polise koristili kao sredstvo zabrane i uskraćivanja određenih mogućnosti sistema kako krajnji korisnici ne bi bili u prilici da "se igraju" sa računarima. To se prvenstveno pokazalo dobrim, jer je na taj način smanjen broj intervencija tehničke podrške (administratora) kod krajnjih korisnika. Naročito je iritiralo to što su se intervencije svodile na "servisiranje neznanja", a u veoma malom broju na stvarne probleme samog sistema. I pored ovake mogućnosti za administratore, ostao je jedan deo podešavanja koje nije bilo moguće automatizovati pomoću grupnih polisa. Zato je bilo potrebno pisati razne skripte koje su se morale centralno skladištiti, zatim distribuirati i obavezno održavati. Pravljenje skripti često je bilo

49

komplikovano, jer je za određenu aktivnost trebalo napisati "kobasicu" od skripta, a svi koji su to radili znaju da nije baš jednostavno.

Nove mogućnostiSa novom verzijom operativnog sistema (Windows

Server 2008) stižu nam i nove mogućnosti. Tako je jedan od napredaka i u pogledu Grupnih polisa. Dobili smo okruglo 700 novih polisa, a jedna od osnovnih razlika je što sada postoji Group Policy Preferences (izbori) pored postojećih Group Policy Settings (podešavanja).

Većina administratora se prvo zapita kakva je razlika između GP Settings i GP Preferences. Pokušaću na ovo pitanje da vam dam odgovor kroz prost primer. Većina organizacija koristi dve vrste grupnih polisa: upravljive i neupravljive (managed/ unmanaged).

Upravljiva podešavanja (managed settings) su polise koje su obavezne (enforced). Obaveznim podešavanjima uskraćuje se mogućnost korisnicima da menjaju podešavanja. Ona smanjuju vreme održavanja, jer se njima distribuiraju standardne konfiguracije i podešavanja. Grupne polise su zato najbolja tehnologija za distribuiranje podešavanja u Microsoft Windows okruženju.

Neupravljiva podešavanja i izbori, nasuprot upravljivim podešavanjima, dozvoljavaju korisnicima da vrše promene izbora nakon distribuiranja istih. Eksplicitnim distribuiranjem izbora vršimo podešavanja operativnog sistema na radnim stanicama i prilagođavamo operativni sistem potrebama. Pored toga, Group Policy Preferances koristimo i za izbor opcija koje smo ranije mogli odraditi samo pomoću skripti ili nekih drugih alata.

To se uglavnom odnosi na podešavanje Windows okruženja, rada sa folderima, fajlovima, ini-fajlovima, mapiranje mrežnih diskova i niza drugih izbora. Važno je pomenuti da distribuirani izbori (preferances) ne zaključavaju interfejse, već krajnjim korisnicima ostavljaju mogućnost promene izbora sistemskih podešavanja.

Takođe, još jedna vrlo bitna prednost je što je Group Policy Settings moguće distribuirati jedino na Group Policy Aware aplikacije (aplikacije koje su "svesne" grupnih polisa), dok je Group Policy Preferances moguće primenjivati i na aplikacije koje su Non-Group Policy aware (uglavnom aplikacije koje nisu Microsoftovi proizvodi).

6.4.2 Windows Server 2008: Sigurnost u dislociranim kancelarijamaPreduzeća koja žele da povežu u jedinstven informacioni sistem svoje dislocirane delova do sada

su bila pred velikim izazovom. Takva rešenja su obećavala višu produktivnost u radu, ali su nosila opasnost od upada u sistem, odnosno od krađe poverljivih poslovnih informacija. Sa Windows Serverom 2008 stiže RODC, rešenje koje ovu priču diže na jedan viši, bezbedniji nivo.

Read-Only Domain Controller (RODC) je novi tip domenskog kontrolera u Windows Serveru 2008. Glavna namena mu je povećanje sigurnosti na udaljenim lokacijama jednog preduzeća (predstavništva, ispostave, magacini...), koje je potrebno povezati na informacioni sistem centrale. U tom slučaju potrebno je da se na ovakvim lokacijama podigne jedan ili više servera koji će imati aktivni direktorijum i koji će "voditi računa" o segmentu mreže na udaljenoj lokaciji preduzeća.

Tipska konfiguracija mreže na centralnoj lokaciji jednog preduzeća podrazumeva servere na kojima je podignut aktivni direktorijum i domenski kontroler koji kontroliše rad mreže. Obično je to centralna zgrada preduzeća u kojoj se nalazi najveći deo zaposlenih, zgrada koja je namenski građena, koja ima fizičko obezbeđenje, video nadzor i serversku sobu (data centar) kojoj je pristup takođe kontrolisan.

50

U zavisnosti od brzine i kvaliteta konekcije između udaljene lokacije i centralnog servera preduzeća replikacija podataka se vrši u određenim vremenskim intervalima. Pri replikaciji podataka na udaljenoj lokaciji čuvaju se podaci iz aktivnog direktorijuma preduzeća, kao i lozinke korisnika, mašina i svi ostali podaci. Prenos je kriptovan i zaštićen kao i sama baza, ali ostaje pitanje fizičke sigurnosti i pouzdanosti ljudi koji u toj ispostavi rade.

Serveri na udaljenim mestima (magacin, predstavništvo...) potrebni su da bi opslužili manji broj zaposlenih. Obično na tim lokacijama ne postoji adekvatan prostor za serversku sobu, pa je server fizički dostupan širem krugu ljudi. U slučaju da dođe do provale ili krađe, lopov ne odnosi samo mašinu (hardware), već sa njim i kompletne podatke iz aktivnog direktorijuma preduzeća. Ne treba elaborirati razne hakerske alate kojima će potencijalni lopovi doći do podataka koji su im potrebni.

Windows Server 2008 donosi rešenje za ovaj problem u vidu Read-Only Domain Controller-a (RODC). Samo ime govori da je domen kontroler samo za čitanje i da na njemu nije moguće vršiti upisivanje. RODC u sebi ne čuva lozinke ni osetljive podatke iz aktivnog direktorijuma, pa samim tim potencijalni lopovi nisu u mogućnosti da dođu do podataka kojima bi mogli da oštete preduzeće. Zaštita se ogleda u četiri mogućnosti (featuresa) Windows Servera 2008: Read-Only Domain Controller, DNS Protection, Password Protection i Administrator Role Separation.

Read-only Domain Controller čuva objekte i atribute aktivnog direktorijuma i podržava samo jednostranu replikaciju (od Foresta prema RODC). U slučaju da neka od aplikacija traži pravo pisanja objekata u aktivni direktorijum, RODC će poslati odgovarajući LDAP odgovor koji će redirektovati aplikaciju na domen kontroler na kojem je pisanje u aktivni direktorijum dozvoljeno.

DNS Protection – DNS server na RODC ne podržava dinamičko ažuriranje. Ukoliko klijent zatraži pravo upisa u DNS, RODC će zahtev preusmeriti na centralni domen kontroler (writeable DC) tek nakon upisa zapisa, a DNS će sa centralnog servera replicirati zapis na RODC. Password Protection – RODC podrazumevano ne čuva korisničke i kompjuterske kredencijale. Ipak, RODC može keširati lozinke uz eksplicitno podešavanje od strane administratora. U slučaju kada lozinke nisu keširane zahtev za autentikacijom se prosleđuje centralnom domen kontroleru. Ako se koristi keširanje lozinki Password Replication Policy određuje kojoj grupi korisnika će biti dozvoljeno keširanje.

Kada keširanje lozinki nije dozvoljeno (default stanje) pri logovanju korisnika svaki zahtev se prosleđuje centralnom DC-u. Zbog toga je neophodno da postoji konekcija između RODC-a i DC-a. U slučaju da je konekcija prekinuta korisnik neće moći da se prijavi na sistem. Upravo iz ovog razloga postoji mogućnost keširanja lozinki kako bi se korisnici prijavili na sistem i u trenucima kada je veza prekinuta.

Postavlja se pitanje kakva je to zaštita (ili read-only) ako ipak dozvoljava čuvanje lozinki na udaljenom serveru. Zbog toga postoji Password Replication Policy pomoću kojeg se određuju grupe korisnika čije će lozinke biti keširane. U tu grupu sigurno nećete staviti ni jedan nalog sa administrativnim pravima, već samo obične usere koji mogu izvršavati svoje redovne obaveze i u trenucima kada je veza između DC-a i RODC-a prekinuta.

Administrator Role Separation – odvajanje administrativnih uloga (role) između DC-a i RODC-a ima ulogu da podeli administrativne uloge između ova dva kontrolera. Administrator RODC-a ne mora biti "Domain Administrator" već samo "Domain User". Domenski korisnik sa administratorskim pravom na RODC-u ima pravo održavanja RODC servera, ali nema administratorskih prava ni na jednom drugom domen kontroleru. U slučaju da dođe do kompromitovanja kredencijala administratora RODC-a šteta ostaje samo na RODC-u i ne replicira se na ostale DC-e, čime je mreža preduzeća zaštićena.

Normalno, kompromitovanje bilo kojeg servera preduzeća nije dobro, ali ako uzmemo u obzir preduzeća koja imaju široki lanac svojih objekata (banke, građevinske firme, lanci prodavnica...), gde broj servera u sistemu prelazi preko 50-100 servera, onda se šteta na jednoj od udaljenih lokacija može smatrati boljom od štete načinjene na celokupnom informacionom sistemu preduzeća, što je do sada bilo moguće kroz automatsku replikaciju AD-a.

Ovo je još jedna od mogućnosti Windows Servera 2008 zbog koje sve češće čujemo samo reči hvale za ovaj operativni sistem iz Microsofta. Očigledno je da je ovo proizvod o kojem će se u budućnosti dosta pričati i na kojem će počivati kompjuterske mreže mnogih preduzeća.

51

U poslednje vreme puno se govori o virtualizaciji. Virtualan rad, virtualan prikaz... Sve je nešto virtualno. Očigledno da ni Microsoft nije ostao imun na sveukupni trend virtualizacije, pa smo tako dobili i jednu verziju Windows Server-a 2008 koja se zove Hyper-V. Ideja je jasna i jednostavna, na jednom hardveru (serveru) pokrenuti i izvršavati dva i više softverskih servera. Čak i laici će postaviti pitanje koliko jaka mašina treba da bude da bi sve to izvršavala. Ali to pitanje ima više od jednog odgovora, u zavisnosti od toga koliko softverskih servera želimo da pokrenemo. Windows Server 2008 Hyper-V: Skoro bez granica

Jedno je sigurno, za svaku virtualnu mašinu potrebno je izdvojiti dovoljno (mnogo) RAM memorije. Trošak za to se pravda jeftinim memorijskim modulima na tržištu, tako da se taj problem ne uzima kao prepreka za implementaciju. Da ne bismo dužili priču oko preduslova, navešćemo podatak da je najbolja iskorišćenost bilo koje vrste virtualizacije upravo sa procesorima koji podržavaju u svom jezgru. Naravno, nameću se najnoviji procesori Xeon serije kao i Core2Duo i Core2Quad.Hyper-V tehnologija

Windows Server 2008 Hyper-V je na hypervisoru zasnovana mogućnost virtualizacije. On se instalira u okviru Windows Servera kao role (uloga), baš kao i bilo koji drugi servis (DHCP, file servis, print servis...). Hypervisor je tanak sloj softvera koji omogućava da se istovremeno izvršava više operativnih sistema na host kompjuteru. Hypervisor se izvršava direktno na hardveru ispod bilo kojeg operativnog sistema koji se nalazi na toj mašini. Umnogome, Hypervisor je sličan kernelu. On upravlja memorijom, thread (virtualnim) procesima i bazičnim performansama sistema.

Neke od mogućnosti Hypervisora su podrška operativnih sistema x86 i x64, zatim izvršavanje gostujuće mašine u multi procesorskom okruženju, alociranje velike količine memorije virtualnim mašinama, integracija virtualnih svičeva koji podržavaju VLAN tagovanje i mogućnost migracije virtualnih mašina na druge host mašine uz minimalan downtime. Windows Server Hyper-V sadrži sintenički drajver uređaja koji dramatično poboljšavaju performanse sistema tako što smanjuju broj prebacivanja CPU-a iz kernel moda u user mod (samo prebacivanje CPU-a iz kernel u user mod je vremenski zahtevno).

6.4.4 ArhitekturaHyper-V podržava izolaciju koristeći particiju u kojoj se operativni sistem izvršava. Postoji osnovna (root) particija na kojoj se izvršava puna instalacija Windows Servera 2008 ili Server Core instalacija koja nudi ograničeni set funkcija i uloga. Virtualizacioni stack je kolekcija softverskih komponenti koje rade zajedno da bi podržale virtualne mašine. Pokreće se u osnovnoj (root) particiji i ima direktan pristup hardveru i uređajima. Iz root particije mogu se praviti child particije. Ove particije su predviđene za izvršavanje raznih operativnih sistema uključujući i hypervisor-aware operativne sisteme. Child particije nemaju direktan pristup hardverskim resursima. Njihovi zahtevi se preusmeravaju ka root particiji preko VMBus (Virtual Machine Bus) podsistema za razmenu zahteva i podataka.

6.4.5 Brza migracijaVirtualizacija, izolacija, security i mnoge druge prednosti su nešto što će praktično biti ograničeno

našim potrebama, mogućnostima kupovine hardvera, kao i maštom. Predviđa se da će najveću korist od

52

virtualizacije imati srednja i veća preduzeća, koja već u svom poslovanju imaju više servera u eksploataciji. Međutim, pojam srednjih i velikih preduzeća u svetu i kod nas se malo razlikuje, pa ostaje da vidimo kako će se to odraziti i na ovdašnje tržište. Ono što sada možemo reći je da su uštede koje dobijaju višestruke iako možda iz našeg ugla (korisnika iz zemlje u tranziciji) i ne izgledaju tako.

Sa brzom migracijom moguće je seliti virtualne mašine sa jednog fizičkog host sistema na drugi sa minimalnim downtime vremenom koristeći poznate prednosti Windows Servera i menadžment alata Microsoft System Center. Koristeći Windows Server Hyper-V i mogućnosti brze migracije, lako se konsoliduju fizički serveri i u isto vreme održava raspoloživost i fleksibilnost business-critical servisa.

Prethodne verzije Windowsa videle su fajlove kao virtualne mašine (VHD fajlovi) na LUN-u (Logical Unit Numbers). Windows Cluster administrator video je samo LUN, odnosno nije video fizičke fajlove sve dok oni nisu bili registrovani i pridruženi pomoću skripti. Windows Server 2008 prepoznaje virtualne mašine i samim tim ne zahteva skripte za gašenje, migraciju i restartovanje virtualnih mašina prilikom prebacivanja sa hosta na host. Samim tim, migracija virtualnih mašina je znatno ubrzana i olakšana.

Na Windows Serveru 2008 možete pokrenuti više servera, i to kao guest virtualne mašine na jednom fizičkom serveru i konfigurisati fizički server kao jedan node u failover clusteru. Nakon toga virtualni hard disk (VHD) guest mašine možete staviti na raspolaganje ostalim nodeovima u clusteru. Ovakvom konfiguracijom ostali fizički serveri u clusteru spremni su da podrže guest virtualnu mašinu u svakom trenutku putem opcije Quick migration.

U slučaju planirane selidbe, quick migration čuva stanje guest virtualne mašine, premešta storage konekciju sa jednog fizičkog na drugi fizički server i onda vrši restore guest virtualne mašine na drugi fizički server. Brzina migracije zavisi od toga koliko je memorije potrebno zapisati na disk, kao i od brzine konekcije sa storageom. Generalno, migracija se vrši za svega nekoliko sekundi, pa je i downtime sistema izuzetno mali, u nekim situacijama čak i neprimetan. Da bi ste iskoristili sve mogućnosti i pogodnosti Quick migrationa, morate napraviti cluster sa Windows Serverom Hyper-V i nakon toga koristiti neki od Windows Servera 2008.

Windows Server 2008 može da se instalira kao puna instalacija ili samo jezgro servera. Server Core instalacija instalira samo podset binarnih fajlova koji su neophodni da bi jezgro operativnog sistema radilo, tako da se u ovom slučaju niti instaliraju dodadtni servisi niti aktiviraju, tako da ne postoji korisnički interfejs već se cela konfiguracija mora obaviti lokalno iz komandne linije. I kao pravi cilj Server Cora se uvodi redukovanje površine za napad i da se smanji broj ažuriranja servera. Zahvaljujući znatno smanjenom broju servisa i aplikacija koje rade na jezgru servera, površina koja se može napasti je značajno smanjena.

Windows Serveru 2008 R2 možemo dodeliti sledeće uloge: Active Directory Certificate Services, Active Directory Domain Services, Active Directory Federation Services, Active Directory Lightweight Directory Services, Active Directory Rights Menagement Services, Application Server, DNS Server,DHCP Server , Fax server, Network policy and Access Services, Print and Document Services, Remote Desktop Services, Web Server (IIS), Windows Deployment Services.

6.4.6 Sistemski zahteviProcessor • Minimum: 1GHz (x86 processor) or 1.4GHz (x64 processor)• Recommended: 2GHz or fasterNote: An Intel Itanium 2 processor is required for Windows Server 2008 for Itanium-Based SystemsMemory• Minimum: 512MB RAM• Recommended: 2GB RAM or greater• Maximum (32-bit systems): 4GB (Standard) or 64GB (Enterprise and Datacenter)• Maximum (64-bit systems): 32GB (Standard) or 2TB (Enterprise, Datacenter and Itanium-Based Systems)Available Disk Space• Minimum: 10GB• Recommended: 40GB or greaterNote: Computers with more than 16GB of RAM will require more disk space for paging, hibernation, and dump filesDriveDVD-ROM driveDisplay and Peripherals• Super VGA (800 x 600) or higher-resolution monitor• Keyboard• Microsoft Mouse or compatible pointing device

53