6 os raspoređivanje resursa

20
RASPOREĐIVANJE RESURSA - UPRAVLJANJE MEMORIJOM U računarskom sistemu razlikujemo glavnu memoriju (jednu centralnu, unutrašnju) i više raznih eksternih spoljašnjih memorija. Kod upravljanja memorijom razlikujemo četiri osnovne, uslovne funkcije: 1. vođenje evidencije o memoriji (slobodna - zauzeta memorija), 2. strategija dodeljivanja memorije (kome, koliko, kada, gde), 3. tehnika odnosno mehanizam dodeljivanja memorije (alokacije), 4. oslobađanje, dealokacija memorije (izbacivanje nekog programa iz memorije). KONTINUALNO POJEDINAČNO DODELJIVANJE MEMORIJE Kontinualno pojedinačno dodeljivanje memorije je najjednostavniji način - šema alokacije memorije, koja ne zahteva nikakve specijalne hardverske dodatke. Tehnika je vezana za male samostalne računare sa jednostavnim OS-ima. U ovakvim sistemima nema multiprogramiranja i postoji korespodencija 1:1 između korisnika, posla, koraka posla I procesora. Pojmovi korisnik, posao ili proces mogu se međusobno zamenjivati. Memoriji se dodeljuje proces a ne program. Memoriju uvek dodeljujemo poslu (Job-u), kao na slici Memorija se kontinualno deli u tri susedna dela. Jedan deo memorije je stalno dodeljen OS-u. Ostatak memorije je raspoloživ (i dodeljen) pojedinačno poslu koji se obrađuje. Posao stvarno koristi samo deo dodeljene memorije, pri čemu neiskorišćen deo može biti vrlo veliki

Upload: markodramicanin

Post on 11-Jul-2016

17 views

Category:

Documents


1 download

DESCRIPTION

os

TRANSCRIPT

Page 1: 6 Os Raspoređivanje Resursa

RASPOREĐIVANJE RESURSA - UPRAVLJANJEMEMORIJOM

U računarskom sistemu razlikujemo glavnu memoriju (jednu centralnu, unutrašnju) i više raznih eksternih spoljašnjih memorija.

Kod upravljanja memorijom razlikujemo četiri osnovne, uslovne funkcije:1. vođenje evidencije o memoriji (slobodna - zauzeta memorija),2. strategija dodeljivanja memorije (kome, koliko, kada, gde),3. tehnika odnosno mehanizam dodeljivanja memorije (alokacije),4. oslobađanje, dealokacija memorije (izbacivanje nekog programa iz memorije).

KONTINUALNO POJEDINAČNO DODELJIVANJEMEMORIJE

Kontinualno pojedinačno dodeljivanje memorije je najjednostavniji način - šema alokacije memorije, koja ne zahteva nikakve specijalne hardverske dodatke. Tehnika je vezana za male samostalne računare sa jednostavnim OS-ima. U ovakvim sistemima nema multiprogramiranja i postoji korespodencija 1:1 između korisnika, posla, koraka posla I procesora.

Pojmovi korisnik, posao ili proces mogu se međusobno zamenjivati. Memoriji se dodeljuje proces a ne program. Memoriju uvek dodeljujemo poslu (Job-u), kao na slici

Memorija se kontinualno deli u tri susedna dela. Jedan deo memorije je stalno dodeljen OS-u. Ostatak memorije je raspoloživ (i dodeljen) pojedinačno poslu koji se obrađuje. Posao stvarno koristi samo deo dodeljene memorije, pri čemu neiskorišćen deo može biti vrlo veliki (efikasnost sistema vrlo mala, kao prema primeru sa slike). Batch sistem korišćenja računara – korisnik po korisnik...

Kako se sprovode osnovne funkcije upravljanja memorijom (ovom tehnikom)?1. vođenje evidencije - čitava memorija se dodeljuje jednom poslu,2. strategija dodeljivanja - kada dođe na red, posao dobija celu memoriju,3. dodeljivanje - sva memorija se dodeljuje jednom poslu,4. dealokacija memorije - kada se posao završi, sve se vraća u slobodni status.

Hardverska podrškaZa ovo dodeljivanje memorije nije potreban nikakav hadrver. Ponekad je poželjan primitivni

mehanizam zaštite koji bi obezbeđivao OS od strane korisničkih programa.

Page 2: 6 Os Raspoređivanje Resursa

Softverska podrškaAlgoritam rada ove tehnike se poziva kada nema ni jednog posla koji koristi memoriju. Poziva se kada raspoređivač posla (JOB Scheduler) iz modula za upravljanje procesima treba da rasporedi jedan posao za izvođenje.

Prednosti i mane pojedinačnog dodeljivanja memorijePrednosti

Jednostavnost sprovođenja četiri funkcije, razumljivost sistema, laka upotreba, održavanje i nepotrebni dodatni hardverski uređaji.Mane- Neiskorišćenost memorije. Jedan deo memorije se uopšte ne koristi.- Loše korišćenje procesora. Kod mnogih sistema sa kanalima, postoje periodi kada se ni jedan deo memorije aktivno ne koristi od strane CPU-a (slučaj kada CPU inicijalizuje U/I operaciju i čeka na kanal da je završi). Prosečno 65 - 75% CPU čeka na U/I ukoliko se koristi ova tehnika dodele memorije.- Neekonomičan sistem. Neki delovi memorije sadrže informacije koje nikada neće biti upotrebljene (neke rutine greški u skupu programa...).- Nedostatak fleksibilnosti za potrebe korisnika.- Korisnikov posao je ograničen na veličinu raspoložive glavne memorije sa izuzetkom mehanizma preklapanja (Overlay).

DODELJIVANJE MEMORIJE U PARTICIJAMAMnoge neefikasnosti vezane za kontinualno pojedinačno dodeljivanje memorije proizilaze iz

potreba da se izjednače fiksni skup raspoloživih resursa i promenljivi zahtevi za resursima.Dodeljivanje memorije u particijama, u raznim oblicima, jedna je od najprostijih tehnika za upravljanje memorijom koja podržava multiprogramiranje.

Page 3: 6 Os Raspoređivanje Resursa

Glavna memorija je podeljena u odvojene regione memorije ili memorijske particije P1, P2, P3, ... Pn. Svaka particija drži po jedan adresni prostor za posao.

Ovom tehnikom se lako ostvaruju četiri funkcije upravljanja memorijom:

1. vođenje evidencije o memoriji (o statusu svake particije, na primer, "u upotrebi" ili "nije u upotrebi" veličina);

2. strategija dodeljivanja (određivanje ko će dobiti memoriju, ovo radi u velikoj meri raspoređivač posla);

3. dodeljivanje memorije - dodeljuje se raspoloživa particija dovoljne veličine;

4. dealokacija memorije - kada se posao završi, particija se naznači "nije u upotrebi" i raspoloživa je za buduću alokaciju.

Hardverska podrškaVrlo malo specijalnog hardvera je potrebno da se podrži dodeljivanje memorije u

particijama. Poželjan je mehanizam zaštite memorije da se spreči da jedan posao uništi OS, ili druge poslove, namerno ili slučajno. Postoji više načina da se ovo ostvari. Mogu se upotrebiti dva registra za granice, da zagrade particije koje se koriste.

Ako posao pokuša da pristupi memoriji van patricije, dolazi do prekida zaštite. Dve su mane ovog načina:1. registri za granice moraju se menjati uvek kada se proces dodeli novom poslu u multiprogramiranju;2. teško je proširiti ovu zaštitu za U/I kanal (posao u particiji 1 može pokušati da naredi kanalu da učita podatke u područje 6). Mogli bi se obezbediti registri za granice za svaki kanal, a više registara za multiprogramske kanale. Alternativa je za OS koji inicijalizuje sve U/I operacije, da softverski proverava kanalski program što bi oduzimalo suviše vremena.

Softverski algoritmiParticije se mogu specificirati statički i dinamički. Pod statičkom specifikacijom particija

podrazumeva se podeljena memorija u particije pre obrade bilo kojih poslova. To može učiniti operator računara ili može biti ugrađeno u OS.

Svaki korak posla koji isporučuje korisnik mora specificirati maksimalni iznos potrebne memorije. Tada se nalazi particija dovoljne veličine i dodeljuje. Softverski algoritam dodeljivanja i vraćanja memorije je jednostavan. Tehnika statičke specifikacije je specijalno odgovarajuća kada su dobro poznate veličine i frekvencije poslova. U takvom slučaju biraju se veličine particija koje su najpribližnije veličinama većine poslova. Međutim, ako nisu poznate veličine i frekvencije poslova ili ako one značajno variraju, može doći do velikih gubitaka memorije. Više se čeka za veći posao. Broj particija se ne može fiksirati zauvek.

Pod dinamičkom specifikacijom particija se podrazumeva kreiranje particija za vreme obrade poslova, tako da su veličine i broj particija jednake veličinama i broju poslova. Ispituje se svaki

Page 4: 6 Os Raspoređivanje Resursa

posao, koliko zahteva od memorije i kolika je particija. Ovakvi algoritmi u mnogim slučajevima ne uključuju OS.Problemi: Ako se neki proces završi, ta particija je slobodna, novi proces je manji pa se smešta ali se javlja neiskorišćeni deo. Kada se više procesa oslobodi, javlja se veliki broj malih memorijskih prostora.

Prednosti i mane dodeljivanja memorije u particijamaDodeljivanje memorije u particijama nudi tri glavne prednosti:

1. olakšava multiprogramiranje, a samim tim korišćenje procesora i U/I uređaja;2. ne zahteva nikakav specijalni skup hardver;3. algoritmi za alokaciju i dealokaciju su jednostavni i laki za primenu.

Postavlja se pitanje koliko memorije kupiti. Odgovor zavisi najmanje od dva faktora:a) od srednje veličine posla ib) od željenog procenta korišćenja procesora.

Postoji nekoliko nedostataka koji smanjuju korišćenje memorije:1. Fragmentacija može biti značajan problem. Njen uticaj je trostruk:

a) neiskorišćenost memorije;b) neiskorišćenost CPU-a (posledica neiskorišćenosti memorije);c) čekanje na eksternu memoriju.

2. Moguće je naći takve redoslede poslova koji daju korišćenje memorije ispod 10%. Veličina ovog problema zavisi od redosleda tipičnih poslova i upotrebljenih algoritama.

3. I kada memorija nije fragmentisana, može se desiti da jedno slobodno područje bude nedovoljno za operaciju.

4. Ovo dodeljivanje zahteva softver sa više memorije od kontinualnog pojedinačnog da bi se izvodio jedan, ili više poslova. OS je složeniji.

5. Kao i kod kontinualnog pojedinačnog dodeljivanja, memorija može sadržati informacije (svih delova procesa) koje se nikada ne koriste.

6. Veličina particije za posao je ograničena na veličinu fizičke memorije.

DODELJIVANJE MEMORIJE U POMERLJIVIMPARTICIJAMA

Navedeno rešenje problema fragmentacije je periodično kombinovanje svih slobodnih područja u jedno kontinualno područje. Ovo se može učiniti fizičkim pomeranjem sadržaja svih dodeljenih particija tako da one postanu susedne, kao na sledećoj slici.

Predstavljen proces se zove kompakcija (ili rekompakcija pošto se radi mnogo puta). Iako je koncept jednostavan, pomeranje particija posla ne garantuje da će taj posao da se još uvek korektno izvodi na novoj lokaciji, jer postoje mnogi delovi programa koji su osetljivi na lokacije, kao što su:1. bazni registri (B - vidi sliku, kao i granični registar - G),2. instrukcije koje se pozivaju na memoriju,3. liste parametara,4. strukture podataka (na primer, liste itd) koje koriste adresne pokazatelje.

Page 5: 6 Os Raspoređivanje Resursa

Hardverska podrškaPostoje dva opšta pristupa problemu relokacije, od kojih oba traže specijalnu hardversku

podršku. T i p i z a c i j a podataka i d i n a m i č k a r e l o k a c i j a.Prvi pristup zasnovan je na tipiziranju podataka, a tip podataka se u svakoj lokaciji

memorije fizički snima. Kada je potrebno da se vrši kompakcija i relokacija, OS, koristeći privilegovane instrukcije, može ispitivati informaciju o tipu podataka i pronaći svaki adresni ukazatelj koji treba da se promeni.

Pristup tipiziranju podataka ima nekoliko mana:- Zahteva dodatne bitove na svakoj reči,- kompakcija može biti spora, pošto se ispituju bitovi svake reči,- nije kompatibilan sa opštom strukturom većine savremenih računara.

Drugo, opšte hardversko rešenje koristi dinamičku relokaciju pomoću registara za relokaciju (baznog i graničnog). Dva specijalna privilegovana registra, bazni relokacioni i granični, pristupačni su samo sa strane OS-a. Pri svakom pozivanju na memoriju sadržaj baznog relokacionog registra automatski se dodaje efektivnoj adresi (koju izračunava procesor). Pošto se ova relokacija vrši automatski pri izvođenju svake instrukcije, ona se naziva dinamička relokacija.

Softverski algoritamPošto početna tačka adresnog prostora posla nije vezana za fizičku lokaciju particije, korisno

je započeti adresom prostor na lokaciji 0. Ovo znači da svaki posao "misli" da je napunjen na lokacijiu 0 memorije. Na ovaj način adrese posla 4 inicijalno će se postaviti kao na slici, bez obzira gde će se njegova početna particija locirati. Ako se ovako uradi, sve vrednosti relokacionog registra

Page 6: 6 Os Raspoređivanje Resursa

biće pozitivne. Dalje, zaštita je obezbeđena, pošto će hardver otkriti bilo koju efektivnu adresu koja je negativna prevazilazi vrednost graničnog registra.Algoritmi za upravljanje particijama slični su odgovarajućim kada particije nisu pomerljive. Glavno dodatno pitanje je kada treba da se izvrši komprimovanje. Sugerišu se dve alternative:Prva: da se komprimovanje vrši čim se jedna particija oslobodi, tako da bi uvek imali samo jedno slobodno područje, a ne bismo imali fragmentaciju.Druga: alternativa je da se radi isto kao da su particije nepomerljive, a da se komprimovanje vrši kada nije raspoloživo dovoljno veliko slobodno područje. Komprimovanje bi bilo ređe nego u prvoj alternativi, ali bi održavanje tabele bilo složenije.

Prednosti i mane rada sa pomerljivim particijamaPrednosti

Šema pomerljivih particija eliminiše, odnosno smanjuje fragmentaciju i na ovaj načinčini mogućim dodeljivanje više particija. Ovo omogućava viši stepen multiprogramiranja, što rezultuje i povećano korišćenje memorije i procesora.Mane

Nekoliko je potencijalnih nedostataka:1) hardver za relokaciju i kompakciju povećava cenu računara i može smanjiti brzinu;2) vreme komprimovanja (relokacije i kompakcije) može biti značajno;3) nešto memorije još uvek je neiskorišćeno, jer iznos slobodnog područja može biti manji od potrebne veličine particije (izgubljeni prostor približno je jednak polovini veličine particije za srednji posao);4) memorija može sadržati informacije koje se nikad ne upotrebljavaju;5) veličina particije ograničena je na veličinu fizičke memorije.

TEHNIKE ZAMENE I PREBACIVANJA (Swapping)Ovaj pristup se može koristiti u spoju sa drugim tehnikama upravljanja memorijom. Cela

particija, više njih ili delovi particija se zamenjuju. Ako se radi dovoljno brzo, izgleda kao da se dva procesa izvode jednovremeno. Zamena se može vršiti ako su ispunjeni uslovi:- određenom poslu (procesu) dodeljeno određeno vreme,

Page 7: 6 Os Raspoređivanje Resursa

- došlo do kvara u nekom poslu,- završio se tekući posao ili- tekući posao traži pomoć nekog drugog posla (procesa).

U raznim rešenjima OS-a Swapping tehnika je primenjiva sa kontinualnim pojedinačnim dodeljivanjem memorije. Jedan posao se izvodi jednovremeno, posle izvođenja u kraćem vremenskom period čitav adresni prostor tekućeg posla se prebacuje na sekundarnu memoriju, da bi se drugi posao mogao da izvodiu glavnoj memoriji. Mnogi "savremeni" mali sistemi sa podelom vremena koriste ovu tehniku.

Na sličan način se može raditi i sa particijama u operativnim sistemima sa fiksnim i promenljivim particijama. Izvode se poslovi sa višim prioritetima, a oni sa nižim izbacuju. Učitavanje u glavnu memoriju naziva se ROLL-IN, a izbacivanje ROLL-OUT. Kod nekih OS-a particije se moraju učitavati na ista mesta u memoriji, dok kod drugih (sa pomerljivim) na slobodna mesta. Ako su veličine poslova male, prebacivanje neće biti skupo, inače, kada su poslovi veliki, nekoristan posao prebacivanja može biti značajan.

TEHNIKA PREKLAPANJA MEMORIJE (Overlay)Napred prikazane tehnike nisu uspele u potpunosti da uklone problem fragmentacije. Pojavili

su se i nedostaci kao dodatni interni rad računara itd.Tehnika preklapanja ima zadatak smanjenja fragmentacije razbijanjem procesa u segmente.

Tako programi koji se prave treba da budu podeljeni na fiksne programske celine, delove, segmente, module koji se pune u fragmente. Mnogo finiji oblik tehnike prebacivanja, koji prebacuje samo delove adresnog prostora posla, naziva se preklapanje. Overleji koji se normalno koriste sa kontinualnim pojedinačnim i dodeljivanjem memorije u particijama i pomerljivim particijama, predstavljaju aproksimaciju segmentacije, ali bez hardvera za prevođenje adresa segmenata.

Prednosti tehnike preklapanja memorijeOva tehnika može smanjiti fragmentaciju i povećati iskorišćenje CPU i centralne memorije.

Mane tehnike preklapanja memorije Kod velikih sistema, gde je broj particija veliki, veličina particija se često menja a programer

je unapred odredio veličine segmenata. Dodatni su uslovi kod programiranja koji otežavaju izradu programa (praktičnije je sve

prenose delova procesa prepustiti OS-u).

DODELJIVANJE MEMORIJE U STRANICAMADrugi način zaobilaženja zahteva za kontinualnu memoriju je preko dodeljivanja memorije u

stranicama (prvi put primenjena tehnika 1960. godine, u Mančesteru, system ATLAS).

Page 8: 6 Os Raspoređivanje Resursa

Kod ovog načina dodeljivanja memorije, adresni prostor svakog posla deli se u jednake komade, nazvane stranice, a slično se i fizička memorija deli na iste veličine, nazvane blokovi. Stranice ostaju logički susedne (prema korisnikovom programu), a odgovarajući blokovi nisu neophodno susedni. Kao i kod pomerljivih particija, korisnikovi programi nisu ugroženi prevođenjem.

Mora postojati odvojen registar za svaku stranicu. Ovi registri često se zovu mape stranica ili tabele stranica. Registri mogu biti specijalni hardverski ili rezervisana sekcija memorije. Pošto se svaka stranica može odvojeno pomerati, nema potrebe da particija posla bude u kontinualnoj memoriji. Očigledno da izbor veličine stranice ima bitan efekat na korisnost ove šeme. Ako je stranica suviše velika, ona postaje uporediva sa particijom posla, pa se šema svodi na pomerljive particije. Ako je stranica suviše mala, potrebno je imati mnogo registara za stranice, što povećava cenu računarskog sistema. Kao rezultat ovih razmatranja, mnogi sistemi sa stranicama koriste veličine stranica od 512 bytes do 16 megabytes.

Upravljanje memorijom preko stranica rešava problem fragmentacije bez fizičkog pomeranja particija. Četiri funkcije upravljanja memorijom izvršavaju se na sledeći način:

1. Vođenje evidencije o statusu izvodi se preko dva seta tabela:1.1) Tabele stranica - jedna po adresnom prostoru sadrži po jedan član za svaku stranicu;1.2) Tabela blokova memorije - jedna u sistemu, sadrži jedan član za svaki blok memorije sa informacijom o korišćenju tog bloka (dodeljen ili raspoloživ);2. Određivanje ko će dobiti memoriju - ovo se ostavlja raspoređivaču poslova. Memorija se dodeljuje korisnički, dajući mu prvi skup nađenih slobodnih blokova;3. Dodeljivanjem sve stranice poslova moraju biti napunjene u dodeljene blokove i moraju se napraviti odgovarajući članovi u tabelama stranica i blokova;4. Oslobođenje - kada se posao završi, blokovi se moraju vratiti u slobodni status.

Hardverska podrškaHardverski mehanizam je potreban za izvršavanje prevođenja efektivne logičke i fizičke

adrese svake instrukcije na odgovarajuću lokaciju fizičke memorije. Funkcioniše slično hardveru relokacionog registra. Mora postojati odvojeni "registar" za svaku stranicu. Ovi mogu biti stvarni registri velike brzine ili specijalna područja fizičke memorije.

Softverski algoritamTri su osnovna tipa tabela kojima mora da upravlja OS:

- tabela poslova (JOB table),- tabela blokova memorije (memory block table),- tabela stranica.

Tabela stranica može se tretirati kao particija, pa se za dodelu prostora za tabele stranica može koristiti tehnika slična dodeljivanju memorije u particijama.

Page 9: 6 Os Raspoređivanje Resursa

Ukoliko želimo da se adresni prostori zajedničkih poslova preklope (zbog zajedničkih rutina ili podataka - datum, vreme), onda je potrebno da te zajedničke rutine i podatke smestimo u stranice svakog posla.

Prednosti i mane dodeljivanja memorije u stranicamaPrednosti

Šema dodeljivanja memorije u stranicama eliminiše fragmentaciju i omogućava istovremeno smeštanje u memoriju više adresnih prostora za poslove. Na ovaj način povećava se stepen multiprogramiranja, što rezultuje povećano korišćenje memorije i procesora. Kompilacija potrebna za dodeljivanje memorije u pomerljivim particijama, takođe je eliminisana.Mane

1. Hardver za prevođenje adresa stranica obično povećava cenu računara i usporava procesor.2. Troši se memorija za razne tabele, kao i vreme procesora za njihovo održavanje (ažuriranje).3. Iako je fragmentacija eliminisana, postoji sličan fenomen nazvan interna fragmentacija ili loše (zadnje) stranice procesa (page breakage). Ako je posao 5K, a stranica 4K, mora se dodeliti 2 bloka (8K), pa je izgubljeno 3K. U proseku se gubi pola stranice po svakom poslu.4. Nešto memorije se još uvek gubi ako broj raspoloživih blokova nije dovoljan za veće poslove koje treba startovati. Po ovom osnovu u proseku se gubi pola adresnog prostora srednjeg posla.5. Kao i kod prethodnih tehnika, memorija će često sadržati informacije koje se veoma retko ili nikada ne koriste (rutine greški). Još uvek je adresni prostor posla ograničen na veličinu fizičke memorije.6. Povećava se OS, hardverski deo.

TEHNIKE VIRTUALNE MEMORIJEIzvođenje poslova drugim tehnikama dodele memorija je nemoguće bez dovoljno raspoložive

memorije. Sa druge strane velike glavne memorije nisu ekonomične.

Page 10: 6 Os Raspoređivanje Resursa

Drugačiji pristup je iskoristiti OS da stvori iluziju veoma velikih glavnih memorija, nazvanih virtualna memorija (prividno povećana memorija).

Dve su glavne tehnike dodeljivanja memorije koje koriste koncept vitrualne memorije:- dodeljivanje stranica memorije na zahtev i- dodeljivanje memorije u segmentima.

Takođe, virtualna memorija se deli na particije.

Dodeljivanje stranica memorije na zahtevDodeljivanje memorije u stranicama na zahtev (Demand paging), podrazumeva da su u

memoriji samo one stranice koje su stvarno potrebne. Računar treba u svakom trenutku da zna koji će sledeći deo procesa da zatreba. Problem je kada neaktivne stranice postaju aktivne i obratno. Novi sistem prekida se javlja:- koja stranica treba da se pozove, vrati,- traženje stranica i prebacivanje ili- alokacija memorije u stranicama na zahtev.

Interakcija unutrašnje i spoljne memorije je takva da korisnik ne zna kada je proces u unutrašnjoj a kada u spoljašnjoj memoriji. Nikada u unutrašnjoj memoriji nije ceo proces, već samo deo koji je neposredno aktivan ili će tek da bude. Svi ostali delovi su u spoljašnjoj memoriji. Korisnik ima utisak da je cela memorija aktivna (bolje iskorišćenje memorije u vidu virtuelne memorije).

Prednosti dodeljivanja stranica memorije na zahtevDodeljivanje stranica memorije na zahtev ima sve prednosti ranije opisanog dodeljivanja

memorije u stranicama. Posebno je eliminisana fragmentacija, a kompajliranje nije potrebno. Dodatne prednosti su:1. Velika virtualna memorija - adresni prostor posla nije više ograničen na veličinu fizičke memorije.2. Efikasnije korišćenje memorije - delovi adresnog prostora posla koji se ne koriste, ili se retko koriste, ne drže se u fizičkoj memoriji (rutine greški).3. Neograničeno multiprogramiranje - moguće je multiprogramirati 50 ili 100 poslova na računaru sa samo 250 K memorije.Nedostaci dodeljivanja stranica memorije na zahtev

Uz ranije pomenute mane (troškovi hardvera, fragmentacija stranica, nekoristan rad procesora i memorijski prostor za tabele) ističu se:1. Broj tabela i iznos nekorisnog rada procesora za rukovanje straničnih prekida, veći nego u slučaju jednostavnog dodeljivanja memorije.2. Zbog nedostataka eksplicitnog ograničenja adresnih prostora poslova ili iznosi multiprogramiranja, potrebno je razviti posebne pristupe da se spreče situacije koje mogu nekorisno upotrebiti 99% procesorskog vremena.3. Adresni prostor, onaj koji korisnik ima utisak da vidi, povećava OS4. Nekoliko problema izraženih kroz pitanja:4.1. Donošenje odluke koji deo procesa treba da se oslobodi?4.2. Koliko stranica preneti u spoljašnju memoriju pa da to bude najoptimalnije?4.3. Kako se zna da prilikom dealokacije treba vratiti u spoljnu memoriju ili samo brisati?4.4. Ako su unutar neke stranice vršene izmene, toga nema i u spoljnoj memoriji. Treba da bude kontrole da li je unutar stranice bilo promena.4.5. Kako sva ova premeštanja svesti na minimum?

Page 11: 6 Os Raspoređivanje Resursa

Prednosti i mane dodeljivanja memorije u segmentimaSegmentacija - korisnik logički deli svoje programe u odgovarajuće logičke celine i takve ih

prepušta računaru. Delovi su: procedure, rutine, glavni programi, potprogrami. Te celine se nezavisno ispituju. Vodi se tabela sa stvarnim adresama svake celine, unutar segmenata. To radi OS.

Segment - logička celina koja može da se koristi nezavisno od ostalih delova. Korisnik sam određuje kakvu zaštitu može da ima logička celina. Zaštite koje se sprovode:- pomoću E (Exequte), ako se želi da se segment samo izvršava,- ako se želi samo čitanje, koristi se oznaka R,- za pisanje sledi W zaštita, - ako korisnik ne dopušta ništa u tom delu, onda je to N (no),Može da se vrši kombinovana zaštita, na primer, u oznaci ER ili EW.Segmenti - logičke celine vezane za program.Stranice - fizičke celine vezane za arhitekturu računara.

PrednostiUkratko, prednosti segmentacije su:

1) sa gledišta logike i smeštaja;2) niz brzih adresnih registara dodatih sistemu;3) eliminiše fragmentaciju (pomeranjem segmenata, fragmenti su ujedno slobodno područje);4) obezbeđuje virtualnu memoriju (u glavnoj memoriji su samo aktivni korišćeni segmenti);5) obezbeđuje dinamičko rašćenje segmentacije ili automatsku proveru granica;6) pomaže dinamičko povezivanje (linkovanje) i punjenje;7) omogućava deljenje segmenata (područja podataka i procedura);8) omogućava kontrolisan pristup svakom segmentu.

NedostaciSegmentacija ima iste mane kao i druge naprednije tehnike za upravljanje memorijom:

povećana cena hardvera, nekoristan rad procesora na prevođenju adresa, potreba za dodatnom memorijom za tabele i povećana složenost OS-a. Dodatni problemi su:1) značajna kompakcija zbog podrške dinamičkog rasta segmenata i eliminisane fragmentacije;2) OS ima više posla, (sve ide na račun ROM-a);3) segmenti su različite dužine u sekundarnoj memoriji (teškoća u rukovanju);4) maksimalna veličina segmenata ograničena je na veličinu glavne memorije;5) koji je proces u operat. mem. a koji nije?6) ako se u nekom segmentu vrše izmene, ponovo ih vraćamo u spoljašnju memoriju;7) kod segmentiranja, obično postoje dva pristupa u memoriju:- u tabelu segmentiranja ili- u memorijski prostor (direktno).

STRATEGIJE UPRAVLJANJA MEMORIJOMZa sve ove alokacije memorije zadužen je OS.

Strategije mogu biti:(1) Strategija smeštaja (Placement strategy) odgovara na pitanje na koje slobodno mesto u memoriji smestiti novi proces - posao.(2) Strategija zamene (Replacement strategy) odgovara na pitanje koji deo memorijskog prostora se oslobađa za novi proces - posao.

Page 12: 6 Os Raspoređivanje Resursa

(3) Strategija poziva i punjenja (Fetch strategy) odgovara na pitanje kada treba preneti deo procesa - posla u operativnu memoriju.

(1) Smeštaj se može primeniti na sve tipove alokacije.(2) Zamena se odnosi na alokaciju memorije u stranice ili segmente.(3) Pozivi i punjenja su kod sistema koji koriste particije.

Vremenski gledano, moguća su samo dva načina:I - punjenje na zahtev (demand) iII- punjenje unapred (anticipatony).Koja se od ove dve strategije primenjuje i kada?Na zahtev - kada se u toku izvođenja utvrdi da je potrebno izvršiti deo poslova - procesa koji nije u memoriji.Unapred - se vrši neposredno pre zahteva celog procesa. Ovde je najteže ustanoviti koji deo posla je potrebno da se u sledećem trenutku izvrši. Generalno se ne mogu postavljati opšti principi za to.

Strategija zamenePrvenstveno se odnosi na alokaciju memorije u stranice na zahtev. Određuje se koja se stranica iz memorije zamenjuje stranicom koja se poziva. Zamena se vrši kada je unutar neke stranice došlo do izmene. Na svakoj stranici se jedno polje ažurira pri svakoj izmeni. Postoji više algoritama koji određuju koju strategiju da primenimo. Za strategiju zamene postoje sledeći algoritmi: FIFO, BIFO, LRU, LFU...a) FIFO (First In - First Out ) - prvi ušao prvi izašao, zamenjuje se stranica koja je najduže u memoriji;b) BIFO (Based FIFO ) - FIFO osnova, modifikovan FIFO;c) LRU (Least Recently Used ) - zamenjuje se najduže nekorišćena stranica u zadnje vreme;d) LFU (Last Frequently Used ) - zamenjuje se stranica koja je sa najmanje frekvencije korišćena.

Strategija smeštajaTreba doneti odluku u koju particiju ili segment smestiti posao (proces) ili njegov deo. Prazan segment se nikada ne ispuni do kraja. Uvek postoji prazan prostor ili fragment. Postoji više kombinacija i modifikacija, a najpoznatije od strategija smeštaja su:a) FF (First Fit) prvo poklapanje ili prvo slaganje,b) BF (Best Fit) najbolje poklapanje ili slaganje,c) WF (Worst Fit) najgore poklapanje ili slaganje.

Page 13: 6 Os Raspoređivanje Resursa

PODRŠKE APLIKATIVNIM PROGRAMIMA IOSTALIM USLUGAMA

Podrške velikom broju različitih aplikacija mogu se sagledati razvrstavanjem i analizom po segmentima. Tako se mogu izdvojiti podrške: 1) administraciji sistema, 2) tekst editorima, multimedijima, 3) programskim jezicima (kompajlerima, interpreterima), 4) razvojnim alatima, bazama podataka, 5) globalnim komunikacijama i Internet servisima, 6) LAN mrežama, 7) grafičkim okruženjima, 3D modeliranju i animacijama, 8) emulatorima, 9) U/I uređajima, 10) interfejsima, 11) memorijama, 12) kancelarijskim poslovima, primenama u naučne svrhe, CAD, CAM i drugim primenama.

EDITORI, PREVODIOCI I DRUGI USLUŽNIPROGRAMI RAZLIČITIH SISTEMA

Za podrške aplikativnim programima i ostalim uslugama, gotovo svaki OS ima svoje "standardne" verzije sistemskih alata, editora, prevodilaca, uslužnih programa itd.

EditoriVećina operativnih sistema u svom sastavu ima više linijskih ili ekranskih editora. Editori,

kao sistemski programi, omogućavaju korisnicima razvoj novih programa i drugih dokumenata, kao što su: tekst, tabele, matematičke formule, grafikoni, slike itd.

PrevodiociSvaku verziju OS-a mogu karakterisati različite verzije prevodilaca brojnih programskih jezika, kompajleri i interpreteri. Prevodioci učestvuju u više faza prevođenja programa, kao što su: leksička analiza, sintaksna analiza, semantička analiza, formiranje listinga i dijagnostičkih poruka, priprema prevedenih objekata za izvršne verzije programa.Mnogi autori kompajlere i interpretere svrstavaju u grupu uslužnih programa.

Uslužni programiUslužni programi (Utility programs, Utility routines) su delovi sistemskog softvera za različite usluge - namene:- za rad sa datotekama (formatiranje memorijskih medija, ažuriranje datoteka, kopiranje itd),- za rad sa programskim bibliotekama,- za sortiranja i mešanja (po rastućem ili opadajućem redosledu itd),- za prepisivanje sa medijuma na medij (kopiranje, upoređivanje, pozicioniranje, konvertovanje, zamena znaka ili reči, štampanje),- za pripremu izvršnih programskih modula (za povezivanje - linking, punjenje programa u operativnu memoriju - loaders),- za testiranje (otkrivanje i olakšano ispravljanje grešaka - debugging), kao i praćenje izvršavanja drugih programa (trace) itd.

Page 14: 6 Os Raspoređivanje Resursa

Programi za održavanje računarskog sistema i druge grupacijeuslužnih programa

Programi za održavanje računarskog sistema se nazivaju još i programi za testiranje i dijagnostiku. Testiraju se i softverski i hardverski segmenti (pa se u literaturi ponekad iz ove grupacije izdvajaju i programi za merenje performansi):- analiziraju se drugi korisnički programi ili datoteke operativnog sistema,- testiraju se: CPU, periferni uređaji, komunikacioni podsistemi itd.

Iz navedene, kao i iz prethodne grupe uslužnih programa, često se izdvajaju i program za konverziju i emulaciju, koji korisnicima olakšavaju prenos sa jednog na drugi računarski sistem, sa jednog na drugi programski jezik, sa jedne na drugu verziju (na primer,programskog jezika) itd.

ODRŽAVANJE RAČUNARSKOG SISTEMA I DRUGIPRIMERI PODRŠKE SAVREMENIM IT

Održavanje računarskog sistema se može posmatrati na više načina:- preventivno održavanje i/ili interventno održavanje,- održavanje softverskih segmenata i/ili održavanje hardverskih elemenata,- samoodržavanje, korisničko i/ili ugovorno održavanje od strane trećeg lica, itd.

Primeri administracije operativnog sistemaUobičajeno je da svaki OS mrežnog okruženja u konkretnog organizaciji poslovanja ima

osobu za kontrolu i održavanje sistema - administratora.Ovde se može govoriti o:- o administraciji korisnika,- o upravljanju sistemom datoteka, "backup", sigurnosti i zaštiti sistema,- o administraciji programskih jezika,- o mrežnoj administraciji sistema,- o administriranju periferne opreme: terminala, modema, štampača itd.

Održavanje podataka i sistema datotekaNajvrednija stvar na računaru su podaci uneti od strane korisnika. Podaci se memorišu u

jedinicama memorije od kojih je, zbog kapaciteta i brzine, najzastupljeniji hard disk, mada se koriste i drugi uređaji (diskete, trake, CD-ROM itd.)

Zbog važnosti podataka na hard disku održavanju treba posvetiti značajnu pažnju. Sama struktura zapisivanja podataka je složena i osetljiva na najčešće greške nastaju nepropisnim zatvaranjem datoteka sa upisanim podacima. Do toga može doći u slučaju nestanka struje, resetovanja računara, zaglavljivanja aplikacije ili neke greške u njoj. Mogući su i problemi u samim uređajima i njihovim veznim adapterima (kontrolerima), ali kod dobro ”komponovanog” i podešenog sistema problemi tog tipa nisu naročito verovatni. Novije verzije OS-a pokušavaju da preduprede neprijatnosti, da kroz korektnu korisničku podršku uslugama njihove eventualne posledice umanje.

Podaci na diskovima su logički organizovani u datoteke koje imaju svoj naziv, veličinu, atribute i poziciju u hijerarhijski poređanim katalozima. Međutim, fizički se podaci na disku smeštaju u sektore ili blokove na koje je disk izdeljen tokom formatiranja. Ovi blokovi su fizičke veličine koje zavise od dimenzije diska, a svaka datoteka se upisuje u jedan ili više blokova. Operativni sistem datoteku upisuje na disk tako što traži slobodne blokove i redom ih popunjava dok kompletna datoteka ne bude upisana, zatim upisuje sledeću itd. Brisanjem neke datoteke blokovi koje ona

Page 15: 6 Os Raspoređivanje Resursa

zauzima označavaju se kao slobodni da bi primili sledeći upis. Pri upisu sledeće datoteke ti blokvi se opet popunjavaju. Ako je sledeća datoteka koja se upisuje veća, operativni sistem će popuniti oslobođeni prostor, ali će morati da potraži dodatne slobodne blokove na drugim mestima. Nova datoteka u tom slučaju ne zauzima seriju susednih blokova već postaje ”rasuta” na više mesta onako kako je operativni disk system pronalazio slobodne blokove. Ova pojava se naziva fragmentacija diska i sama po sebi ne predstavlja ništa pogrešno ili štetno jer je disk sistem upravo i zamišljen da tako radi.

Fragmentacija utiče na brzinu čitanja podataka. Najsporiji element u celom računaru je disk mehanika, a ako pri čitanju datoteke glave moraju puno da se ”šetaju” po disku, rad će biti značajno usporen. Povremeno podatke treba ”presložiti” kako bi se održale maksimalne perfomanse. ”Prepakivanje” se svodi na iščitavanje razasutih datoteka i njihovo ponovno slaganje u susedne blokove. Ovde dolazi do izražaja upravljački modul OS-a predstavljen na primerima sistemskih alatki (”Disk Defragmenter”, ”ScanDisk”, ”DriveSpace”, ”Backup”).

Poslednjih godina su veliku popularnost stekli programi koji podatke na disk upisuju tek pošto ih ”sabiju” algoritmima statističke kompresije, da bi pri čitanju podataka automatski vršili ”raspakivanje” i dovođenje u prethodno stanje. Iako takav postupak nešto usporava upis i čitanje podataka, dobici u slobodnom prostoru na disku su značajni (tipično se može smestiti dvostruko više podataka na isti disk, mada to zavisi od njihove vrste i ”stišljivosti”) pa se masovno koriste.Neke nedostatke prethodnih verzija operativnih sistema u ovoj oblasti rada na PC računarima pokrivali su tzv. arhiveri koji uz kompresiju datotekama pridodaju ekstenziju: .RAR, .ZIP, .ARJ.