Mrežni operativni sistem
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.
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 servera
U 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

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 (i Windows 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.
5

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
Ovaj materijal je namenjen za učenje i pripremu, ne za predaju.
Slični dokumenti