27
V UPRAVLJANJE ULAZNO-IZLAZNIM UREĐAJIMA Šta ćemo učiti ° Problemi koje rešava U/I sistem ° U/I hardver ° Tehnike za realizaciju U/I ° Koncepcija upravljanja uređajima ° Upravljanje hard diskovima Upravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad ulazno/izlaznih uređaja i operacija. Ovu temu započinjemo kratkim podsećanjem na ulazno-izlazne (U/I) uređaje i organizaciju ulazno-izlaznih funkcija kojima smo se bavili u okviru razmatranja arhitekture računara. Ulaz/izlaz je zadužen za komunikaciju procesa sa spoljašnjim okruženjem računarskog sistema. Stoga U/I arhitektura predstavlja interfejs računarskog sistema prema spoljašnjem svetu. Ona obezbeđuje se sistematski način za upravljanje interakcijom sa spoljašnjim svetom i pruža OS informacije koje su mu potrebne za efikasno upravljanje U/I aktivnošću. Najveći uticaj na ukupne performanse sistema imaju hard diskovi, pa će upravljanju ovim uređajima biti posvećena posebna pažnja. Kao i za upravljanje ostalim resursima, i kod upravljanja periferijskim uređajima moduli operativnog sistema treba da ostvare četiri osnovne funkcije. 1. Vođenje evidencije o statusu svih uređaja, što zahteva posebne mehanizme; jedan od najćešćih je ostvaren korišćenjem datoteke (kontrolnog bloka) koja je pridružena svakom od uređaja. 2. Davanje dozvole za korišćene uređaja, odlučivanje o tome koliko dugo i kada će ga koristiti. Postoji veliki broj tehnika kojima se ovo postiže: a) dodeljivanjem (dedicated - posvećivanjem) - kada se uređaj pridruži jednom procesu. b) deljenjem (shared - zajedničkim korišćenjem) kada se uređaj zajednički koristi za više procesa. c) virtualizovanjem - kada se fizički uređaj simulira na nekom drugom fizičkom uređaju. 3. Alokacija - fizičko dodeljivanje uređaja pojedinom procesu. Odgovarajuće kontrolne jedinice i kanali preko kojih se uređaj povezuje u sistem takođe moraju biti dodeljeni. 4. Dealokacija (ukidanje) dozvole i tehnika. Dealokacija se može izvršiti na nivou procesa ili posla (joba). Ako se alokacija vrši na - - 52

I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

V UPRAVLJANJE ULAZNO-IZLAZNIM UREĐAJIMA

Šta ćemo učiti° Problemi koje rešava U/I sistem° U/I hardver° Tehnike za realizaciju U/I° Koncepcija upravljanja uređajima ° Upravljanje hard diskovima

Upravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad ulazno/izlaznih uređaja i operacija. Ovu temu započinjemo kratkim podsećanjem na ulazno-izlazne (U/I) uređaje i organizaciju ulazno-izlaznih funkcija kojima smo se bavili u okviru razmatranja arhitekture računara. Ulaz/izlaz je zadužen za komunikaciju procesa sa spoljašnjim okruženjem računarskog sistema. Stoga U/I arhitektura predstavlja interfejs računarskog sistema prema spoljašnjem svetu. Ona obezbeđuje se sistematski način za upravljanje interakcijom sa spoljašnjim svetom i pruža OS informacije koje su mu potrebne za efikasno upravljanje U/I aktivnošću. Najveći uticaj na ukupne performanse sistema imaju hard diskovi, pa će upravljanju ovim uređajima biti posvećena posebna pažnja.

Kao i za upravljanje ostalim resursima, i kod upravljanja periferijskim uređajima moduli operativnog sistema treba da ostvare četiri osnovne funkcije.1. Vođenje evidencije o statusu svih uređaja, što zahteva posebne mehanizme; jedan od najćešćih je ostvaren korišćenjem datoteke (kontrolnog bloka) koja je pridružena svakom od uređaja.2. Davanje dozvole za korišćene uređaja, odlučivanje o tome koliko dugo i kada će ga koristiti. Postoji veliki broj tehnika kojima se ovo postiže:

a) dodeljivanjem (dedicated - posvećivanjem) - kada se uređaj pridruži jednom procesu.b) deljenjem (shared - zajedničkim korišćenjem) kada se uređaj zajednički koristi za više procesa.c) virtualizovanjem - kada se fizički uređaj simulira na nekom drugom fizičkom uređaju.

3. Alokacija - fizičko dodeljivanje uređaja pojedinom procesu. Odgovarajuće kontrolne jedinice i kanali preko kojih se uređaj povezuje u sistem takođe moraju biti dodeljeni.4. Dealokacija (ukidanje) dozvole i tehnika. Dealokacija se može izvršiti na nivou procesa ili posla (joba). Ako se alokacija vrši na nivou poslova, taj uređaj dodeljuje se jednom poslu dok se ne završi, a, na nivou procesa, uređaj se pridružuje samo dok taj proces to zahteva.

Problemi koje rešava U/I sistemUpravljanje ulazom/izlazom predstavlja složen proces kontrole povezivanja, kao i prenosa podataka

između mikroprocesora i memorije sa jedne strane i perifernih uređaja (diskova, štampača, tastatura,, modema i sl.) sa druge strane.

Da bi se ispravno shvatio problem usaglašavanja razlika izmedu računara i periferije treba naglasiti koje su to najvažnije razlike izmedu njih.

1. Periferni uređaji su složeni elektronski ili elektromehanički uređaji koji najčešće rade sa analognim signalima, dok su mikroprocesori i memorije digitalni uređaji koji koriste digitalne signale. Čak i kada uređaji rade sa digitalnim signalima postoje razlike u prikazu podataka na pojedinoj jedinici, odnosno kodovima koji se upotrebljavaju.2. Razlika u brzinama kojim periferni uređaji izvode operacije. Brzina prenosa podataka (protok bitova) na perifernim uređajima je mnogo manja od brzine prenosa u računaru. 3. Razlike u načinu prenosa podataka i jedinicama u kojima se podaci prenose.4. Razlike u operacijama koje jedinice mogu izvoditi. Razlike u operacijama nisu samo u ulaznim, odnosno izlaznim operacijama nego i među jedinicama istog tipa postoje razlike, tako na primer magnetsku traku treba i možemo premotati dok kod diska ne postoji takva operacija.

- - 52

Page 2: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Većina uređaja koja se priključuje na računar može se svrstati u neku opštu kategoriju. Opšte kategorije su formirane prema nameni uređaja, tako da se mogu izdvojiti uređaji za skladištenje podataka (diskovi i trake), za prenos podataka (modemi i mrežne kartice) i uređaji koji obezbeđuju interfejs sa korisnikom (tastature, pokazivački uređaji, skeneri, monitori, štampači). Ovi uređaji se međusobno razlikuju u mnogim aspektima. Osim namene, uređaje karakteriše i skup operacija koji se mogu izvesti nad podacima, brzina prenosa podataka između uređaja i računara, količina podataka kojima se istovremeno pristupa, način pristupa podacima, deljivost uređaja i skup stanja koja se mogu smatrati greškama.

Dakle, uređaji se mogu klasifikovati na osnovu više kriterijuma. Neki od njih prikazani su u sledećoj tabeli.

kriterijum vrsta primerijedinica prenosa karakter

blokterminaldisk

metod pristupa sekvencijalno direktno

modemCD-ROM

vrsta prenosa sinhronoasinhrono

deljivost monopolskideljivi

trakatastatura

brzina uređaja kašnjenjevreme traženjavreme prenosazadrška između operacija

smer prenosa samo za čitanjasamo za upisi za čitanje i za upis

CD-ROMgrafički kontrolerdisk

Prema brzini prenosa (data rate) periferni uređaji se mogu se razlikovati za više redova veličina, što je ilustrovano slikom 31.

Slika 31 - Brzine prenosa podataka tipičnih U/I uređajaPodaci se mogu prenositi bajt po bajt (stream of bytes) kod terminala ili kao veliki blokovi kod

diskova. Dakle, prema jedinici prenosa uređaje možemo podeliti na karakter uređaje (Character devices) i blok uređaje (Block devices). Blok uređaji uključuju disk drajvove koji za prenos koriste komande read, write, seek. Prenos može biti “sirov” U/I ili preko fajl sistema. Moguć je i pristup korišćenjem memorijskog mapiranja. Karakter uređaji uključuju tastature, miševe, serijske portove. Oni za prenos

- - 53

Page 3: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

koriste komande get, put. Takođe omogućavaju linijsko editovanje.Prema stanju u kome se nalazi proces kada koristi odgovarajući uređaj može se izvršiti podela na

blokirajuće i neblokirajuće. Pri radu sa blokirajućim (Blocking) uređajima proces se suspenduje do završetka U/I operacije. Mada je ovakav način rada lak za razumevanje i implementaciju, nije odgovorajući za neke potrebe. Pri radu sa neblokirajućim (Nonblocking) uređajima U/I poziv vraća raspoložive vrednosti i proces nastavlja sa radom. Implementira se preko multi-threading-a, vrši kopiranje podataka u bafer (buffered I/O). Vraća brzo broj bajtova koji su pročitani ili upisani

Prema načinu prenosa komunikacija sa uređajima može biti serijska i paralelna.Paralelni prenos podataka se vrši na primer izmedu računara i štampača. Tada se podaci prenose u

bajtovima. Svaki bit se prenosi zasebnom linijom. Programski sklop koji omogućava paralelni prenos mora da obezbedi najmanje dva registra preko kojih se razmenjuju podaci između procesa i spoljašnjih uređaja i omogući zadavanje smera kretanja podataka za svaku liniju. Koristi se kada se povezuje procesor sa uređajem koji je spor, a skupo je koristiti magistralu za paralelni prenos.

Većina uređaja koji podržavaju serijski prenos, radi u asinhronom modu, znači da računar pre slanja podataka mora poslati poruku o tome da sledi otprema - to je tzv. start bit (niži naponski nivo). Takode, svaka poruka se završava sa nekoliko stop bitova (viši naponski nivo). Ispred stop bita se dodaju bitovi za proveru parnosti koji koriste kao zaštitni kod. Naime, prijemni uređaj, na osnovu broj nižih i viših naponskih nivoa, određuje parnost. Kako bi se uskladila unapred utvrđena parnost (par ili nepar), dodaje se bit vrednosti nula ili jedan. Na osnovu sadržaja tog poslednjeg bita, može se otkriti da li u poruci postoji greška, a u nekim specijalnim kodovima može se i ispraviti greška. Dakle, kod asinhronih uređaja proces radi uporedo sa izvršavanjem U/I. Ovakav način rada je težak za implementaciju. U/I podsistem signalizira procesu završetak ulazno/izlazne operacije.

Sinhroni način prenosa se koristi za prenos podataka u blokovima, pri čemu se zna početak i kraj nekog kanala, dakle raspored informacionog sadržaja u okviru poznatog vremenskog intervala.

Prema mogućnosti deljenja razlikujemo monopolske, deljive i virtualne uređajeMonopolski uređaji - se dodeljuju poslu za sve vreme njegovog trajanja. Teško je deliti, na primer,

čitač kartica, štampač i slično. Nemoguće bi bilo štampati malo jedan, malo drugi zadatak. Na žalost, dodeljivanje je neefikasno ako posao, kojem je uređaj dodeljen, ne traje kontinualno.

Zajedničko korišćenje - Neki uređaji, kao što su diskovi i većina memorijskih jedinica sa direktnim pristupom se mogu deliti. Upravljanje ovakvim uređajima može biti prilično komplikovano. Na primer, ako dva procesa traže simultano čitanje sa diska, mora se primeniti neki mehanizam koji određuje koji će zahtev biti prvi opsluživan. Ovo se postiže softverski. Strategije koje određuju prvenstvo mogu biti zasnovane na listi prioriteta ili postizanju poboljšanja performansi opsluživanja (na primer, prvenstvo se daje poziciji koja je najbliža trenutno očitavanoj sa diska, i slično).

Virtuelni uređaji - Neki uređaji koji normalno treba da budu dodeljeni mogu se pretvoriti u zajednički korišćene (shared) kroz spool-ing tehniku. Tako se mogu zajednički koristiti štampači (poslovi se pripremaju i privremeno smeštaju u virtuelan uređaj, dok se za to vreme drugi štampaju). Ista tehnika se može primeniti i na druge periferijske jedinice.

Virtuelni uređaji omogućavaju da se, na primer, neki posao pripremi za izlaz vodeći računa o tome koji je izlaz u pitanju. Tada o izlaznoj operaciji vodi računa operativni sistem koji je kroz naredbu operativnog sistema proglašen za izlazni. Korisnik pošalje komandom podatke na izlazni blok - ako je to štampač, podaci se štampaju. Ako je, medutim, kao izlaz definisan ekran, podaci se prikazuju na ekranu i slično. Osnovna prednost ovakvog načina rada je u tome što se postiže fleksibilnost u radu, kao i mogućnost rada istim softverom na različitim računarima sa vrlo malom zavisnošću od hardvera.U nekim situacijama, medutim, od karakteristika periferijskog uređaja zavisi rad ulazno/izlaznih jedinica (na primer, kod magnetnih traka, potrebno je premotavati traku).

Način rukovanja greškama (Error Handling) takođe je kriterijum po kojem se mogu klasifikovati uređaji. OS može da povrati podatke koji su čitani sa diska kada uređaj nije raspoloživ zbog privremene nemogućnosti upisa. Većina sistema vraća broj greške ili kod kada ulazno/izlazni zahtev ne može da se izvrši. Datoteka System error log čuva izveštaj o problemu.

Iz prethodnih klasifikacija vidimo da među perfirenim uređajima postoje brojne i značajne razlike.

- - 54

Page 4: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Sve te razlike treba u uniformnom tretiranju ulaza/izlaza premostiti, tako da se postigne nezavisnost svakog procesa od ulazno/izlaznih jedinica koliko je god više moguće. Tu nezavisnost možemo posmatrati dvostruko. Prvi stepen nezavisnosti od jedinice, koji nije teško sprovesti, je nezavisnost od pojedinačne jedinice istog tipa. To znači, na primer, da proces koji ispisuje svoje rezultate na štampaču, dakle šalje svoj izlaz na jedinicu tog tipa, ne treba da vodi računa o tome koji je to štampač od njih nekoliko u sistemu, niti o tome da li je štampač u tom času zauzetili nije.

Nezavisnost od samog tipa jedinice znatno je teže realizovati. Ta se nezavisnost sastoji u tome da se izlaz može prebaciti i na drugi tip jedinice, na primer umesto štampača to može biti terminal ekranskog tipa na kojem će se izlaz ispisati.

Razlika u kodovima kojima mogu operisati različite jedinice obično se rešava tako da se za potrebe unutrašnjeg rada i manipuliranja podacima koristi interni kod koji se svaki put mora konvertovati prilikom ulaza ili izlaza, i to upravo na onaj način, odnosno u onaj kod koji odgovara dodeljenoj jedinici.

Nezavisnost od pojedinačne jedinice istog tipa i nezavisnost od tipa jedinice može se dobrim delom realizovati tako da proces ne radi sa stvarnim jedinicama nego s takozvanim virtualnim jedinicama.

Virtualne jedinice ne povezuju se unutar programa ni sa jednom fizičkom jedinicom niti tipom jedinica, nego se u programu samo određuje vrsta (ulaz, izlaz, ulaz/izlaz).

U/I hardver Sve jedinice računarskog sistema povezane su međusobno unificiranim i standardizovanim

sistemom veza - interfejsima: Interfejs je univerzalni naziv za skup linija za prenos informacija i elektronskih kola koji upravljaju prenosom signala po linijama. U računarskom sistemu postoje sledeći interfejsi: operativna memorija – procesor, procesor – kanal, U/I interfejs (kanal –kontroler periferne jedinice) i interfejsi perifernih jedinica

Deo sistemske magistrale (bus-a) koji povezuje periferne uređaje sa centralnim delom računara zove se ulazno/izlazna magistrala. Ona je povezana sa svim periferijama preko njihovih kontrolera. Kontroler svakog perifernog uređaja ima svoj dekoder - sklop koji prepoznaje kod svog periferijskog bloka. Kada registruje "svoj kod” kontroler obezbeđuje puteve između ulazno/izlazne magistrale i svog perifernog uređaja. Računar inače generiše kod koji se sastoji iz tri grupe podataka: operacije, adrese uređaja i funkcijskog koda (njime se definišu komande za kontroler).

Slika 32 - Osnovna arhitektura hardvera personalnog računaraRad centralnog procesora i operativne jedinice, sa jedne strane, i periferijskih jedinica, sa druge,

- - 55

Page 5: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

usklađuje se korišćenjem posrednika - kanala. Pojam kanal treba široko shvatiti jer se on odnosi na zasebne jedinice sa memorijom u kojoj se čuva informacija o mestu u unutrašnjoj memoriji gde se vrši upis, ili u kojoj se čuvaju podaci.

Kanali su mikroprocesori specijalne namene čiji je zadatak da, u skladu sa primljenim naredbama CPU, izvrše zahtevane ulazno – izlazne operacije i prenos podataka ka ili od U/I uređaja i to bez daljeg angažovanja CPU. Rad kanala kontroliše centralni procesor i to tako što samo inicijalizuje operaciju kojom nadalje upravljaju kontrolne jedinice i upravljački uređaji kanala. Time se procesor oslobada i njegov se rad ne prekida. Tek po završetku rada periferijske jedinice, šalje se informacija o tome procesoru. Ovo je inače, karakteristika multiprogramskog rada.

Kanal može istovremeno da opslužuje jednu ili više periferijskih jedinica. Ako radi sa više periferijskih jedinica kaže se da radi u multipleksnom režimu rada. Multipleksiranje se vrši u vremenu, tako što se jedinični intervali dodeljuju pojedinim periferijskim jedinicama. Način dodele vremena zavisi od usvojene discipline. Primer ovakvog režima rada bi bio u računarima koji se koriste u merne svrhe: merni podaci sa više ulaza se jednovremeno prikazuju na zajedničkoj terminalnoj jedinici - ekranu. U multitasking sistemu primer bi bio jednovremeni prikaz više programa, npr. rad pod windows-ima.

Ukoliko kanal opslužuje jednu perifernu jedinicu naziva se selektor. Selektor kanal je namenjen opsluživanju brzih U/I jedinica (npr. diskova). Omogućava velike brzine prenosa i to na principu prenosa bajt po bajt. Multipleksni kanal je namenjen povezivanju više sporih U/I jedinica sa mnogo bržim CPU. On omogućava prenošenje blok po blok informacija.

Slika 33 - PRINCIP povezivanja CPU i ulazno izlaznih interfejsa

Koncepcija upravljanja uređajimaKao što smo ranije opisali, preuzimanjem posla obrade i njegovim pretvaranjem u proces biće

kreiran kontrolni blok procesa (Process Control Block - PCB). Specifikacije sadržane u kontrolno-upravljačkim naredbama biće u sistemu realizovane i dalje razrađene pomoću strukture koju ćemo nazvati ulazno/izlazni lanac. Pokazivač sadržan u PCB-u pokazivaće početak ove strukture. U ulazno/izlazni lanac uključuju se svi blokovi potrebni za dotični proces. Tako može biti više blokova koji označavaju ulazne, izlazne ili ulazno/izlazne uređaje i povezuju naše virtualne uređaje u procesu s fizičkim uređajima.

Da bi se moglo upravljati vrlo raznorodnim U/I uređajima na što je moguće uniformniji način, svakom uređaju se pridružuje kontrolni blok uređaja UCB (Unit Control Block) i poseban sistemski proces koji se naziva upravljač uređaja – drajver (Device Driver). Sve specifičnosti koje se odnose na pojedine uređaje se opisuju u UCB i koriste u drajveru, tako da preostali deo podsistema za upravljanje uređajima ostaje jedinstven. Međutim, za svaki uređaj se mora obrazovati poseban UCB i napisati poseban drajver (najčešće se piše drajver za neki novi uređaj da bi ga priključili na postojeći OS).

Kada se uzme u obzir prethodno razmatranje o načinu povezivanja uređaja u sistem, vidimo da OS za upravlja perifernim uređajima mora da raspolaže sledećim informacijama.

1. Kontrolni blok uređaja

- - 56

CPU

Page 6: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

- identifikacija uređaja- status (zauzet, slobodan, u kvaru)- operacije koje može da izvrši- pokazivač na listu kontrolnih jedinica koje su u vezi sa uređajem- pokazivač na listu procesa koji čekaju na uređaj- ...

2. Kontrolni blok kontrolne jedinice- identifikacija kontrolne jedinice - status - operacije koje može da izvrši- pokazivač na listu uređaja koji su u vezi sa kontrolnom jedinicom- pokazivač na listu kanala koji su u vezi sa kontrolnom jedinicom- pokazivač na listu procesa koji čekaju na opsluživanje- ...

3. Kontrolni blok kanala- identifikacija kanala- status - operacije koje može da izvrši- pokazivač na listu kontrolnih jedinica koje su vezane na kanal- pokazivač na listu procesa koji čekaju na opsluživanje- ...

Kontrolni blok uređaja na koji se povezuju pojedini blokovi iz U/I lanca postoji za svaki pojedini uređaj i sadrži karakteristike tog uređaja. Treba još napomenuti da se povezivanje virtualnog uređaja sa stvarnim uređajem generiše onda kada se prvi put zatraži izvršavanje pojedine U/I operacije za taj uređaj To nazivamo otvaranje virtualne jedinice, dok se, obratno, kada se proces završi, uređaji zatvaraju. Može se i u samom procesu pomoću posebne instrukcije tražiti otvaranje i zatvaranje virtualnih uređaja (open, close), pa na taj način rad s virtualnim uređajima postaje vrlo sličan radu s datotekama.

Strukture koje se uspostavljaju u sistemu služe za izvršavanje ulazno/izlaznih operacija. Te će se operacije odvijati preko nekoliko posrednika. Prvi takav posrednik je posebna rutina koju zovemo ulazno/izlazna operacija u korisničkom programu. Nakon analize zahteva ova će rutina pozvati na izvršavanje upravljač uređaja, a taj će upravljač pobuditi kanalski program koji će izvršiti stvarnu operaciju. Povratna informacija o tome prenosi se suprotnim putem. Najpre kanal putem prekida obaveštava upravljač uređaja, a ovaj onda problemski program. Većina tih pobuđivanja jedne rutine iz druge i povratno prenošenje informacije o izvršenoj ulazno/izlaznoj operaciji realizuje se semaforskom tehnikom.

Ulazno/izlazna procedura poziva se iz problemskog procesa. Taj se poziv sastoji od parametara koji pobliže opisuju U/I operaciju koju treba izvršiti. Tako će zahtev u opštem slučaju sadržati sledeće parametre:

- oznaku virtualne jedinice na kojoj operacija treba da se izvrši,- oznaku (opis) operacije koju treba izvršiti,- oznaku za količinu podataka koju treba preneti,- mesto odakle podatke treba uzeti i kuda ih preneti,- ime semafora koji se upotrebljava.

Semafor se upotrebljava za zaustavljanje procesa kada čeka da se ulazno/izlazna operacija izvede. Taj će semafor signalizirati rutina koju smo nazvali upravljač uređaja, i time osloboditi proces iz stanja čekanja kada ulazno/izlazna operacija bude završena.

Ulazno/izlazna procedura će pretraživanjem ulazno/izlaznog lanca pronaći uređaj koji se traži za izvršavanje operacije. Do ulazno/izlaznog lanca, naravno, dolazi preko kontrolnog bloka procesa. Kada u ulazno/izlaznom lancu pronađe uređaj koji se traži za izvršavanje operacije, pronaći će i adresu kontrolnog bloka dotičnog uređaja. U tom kontrolnom bloku pronaćiće sve podatke o uređaju i o njegovim karakteristikama. Sada U/I procedura može uporediti one podatke iz U/I zahteva s podacima o samom

- - 57

Page 7: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

uređaju. Tu može biti različitih neslaganja ili grešaka, pa ako se to dogodi, iz U/I procedure izvršavanje se prenosi u rutinu greške. Ako se ustanovi da se operacija može izvršiti, U/I procedura sastaviće zahtev za izvršenje zahtevane U/I operacije. Taj zahtev upućuje se na jedinicu u vidu posebnog bloka nazvanog blok U/I zahteva (Input Output Request Block), odnosno skraćeno BUIZ koji se priključuje u red vezan za kontrolni blok uređaja. U slučaju da se radi o nedeljivom uređaju, BUIZ blokovi mogu se nagomilati, ali se zna da potiču samo od našeg problemskog procesa. Ako se radi o deljivoj jedinici, onda BUIZ blokovi mogu predstavljati zahteve iz više različitih procesa. Na taj način oni se jednako tretiraju. Ovaj red koji možemo nazvati red zahteva za korišćenje uređaja opslužuje rutina koju smo nazvali upravljač uređaja. Za svaki tip uređaja postoji odgovarajući upravljač, koji se aktivira signaliziranjem semafora U/I-ZAHTEV koji se može nalaziti u samom kontrolnom bloku ili se tamo nalazi njegova adresa.

Sam BUIZ blok sadrži takođe određene informacije o mestu podataka (odredištu), količini podataka, operaciji koji treba izvršiti, sadrži adrese izvornog procesa, lokacije za oznaku greške u ulazno/izlaznoj operaciji, adresu semafora nazvanog U/I-ZAVRŠEN i druge potrebne podatke kao što je adresa sledećeg BUIZ bloka.

Čitav ulazno/izlazni postupak prilično je složen. Za lakše razumevanje može se predstaviti jednim shematskim postupkom, kao što je to učinjeno na slici 34.

Aplikacija Operativni sistem

START U/I procedura Upravljač jedinice Rutina prekida Kanalski program

- identifikacija jedinice- ispitivanje grešaka- Sastavljanje BUIZ bloka

WAIT (U/I-zahtev)- Uzeti BUIZ blok- Inicirati U/I operaciju

START START

Poziv U/I procedure

FizičkoizvođenjeU/I operacije

SIGNAL (U/I zahtev) WAIT (operacija završena)- ispitivanje greške- prenos podataka i konverzija

SIGNAL (operacija završena)

U/I prekid

WAIT(U/I - završen)

SIGNAL (U/I-završen)- Poništiti BUIZ blok- GOTO početak

STOP STOP

STOPTok kontrole izvođenja Sinhronizacija

Slika 34 - Shematski prikaz izvođenja U/I operacijeOrganizacija reda za opsluživanje ulazno/izlaznih zahteva obično je FIFO, ali može biti i na osnovu

prioriteta procesa ako se radi o deljivom uređaju.

- - 58

Page 8: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Ovako koncipirana U/I procedura sasvim je u skladu sa zahtevom za uniformno tretiranje uređaja. Sve karakteristike uređaja navedene su u kontrolnom bloku uređaja. Glavni je zadatak ove procedure je da prenese ulazno/izlazni zahtev procesa na odgovarajući upravljač uređaja. U/I procedura zbog toga mora biti izvedena tako da je može koristiti više procesa, jer istovremeno može postojati više zahteva za ulazom/izlazom i to za isti uređaj ili za različite uređaje. Ovakvim se pristupom ravnomernije zapošljavaju uređaji što doprinosi efikasnijem radu čitavog sistema i boljem iskorišćenju ulazno/izlaznihuređaja.

Upravljač uređaja je ciklički proces čiji je glavni zadatak da se brine za opsluživanje ulazno/izlaznih zahteva i obaveštavanje pozivnog procesa o uspešno završenoj ulazno/izlaznoj operaciji. Upravljač uređaja se uključuje svaki put kada postoji zahtev za ulazno/izlaznom operacijom koji se javlja u vidu BUIZ bloka. Ako ima više zahteva, oni će biti povezani u red, a upravljač uređaja ponavljaće svoje izvršavanje tako dugo dok u redu ima zahteva. Za svaki tip uređaja postoji posebni upravljač uređaja. To je potrebno zbog velike razlike u pojedinim tipovima, a pogotovu među pojedinim vrstama uređaja.

Iniciranje ulazno/izlazne operacije vrši se kod svakog uređaja posebnim instrukcijama koje pozivaju kanal za izvršavanje. Sledeća operacija na semaforu nazvanom OPERACIJA-ZAVRŠENA zaustavlja upravljač uređaja tako dugo dok ne bude izvršena ulazno/izlazna operacija za taj zahtev. Naime, ovaj će semafor signalizirati rutina za obradu prekida, jer će je kanal putem prekida obavestiti da je ulazno/izlazna operacija izvršena.

U nastavku upravljač uređaja mora ispitati da li je operacija izvedena uspešno ili je tokom fizičkog izvršavanja došlo do neke greške. To se može izvršiti ispitivanjem informacija koje ostavlja rutina za obradu prekida. Ako je do greške došlo treba preneti o tome informaciju pozivajućem procesu.

U slučaju uspešno izvršene ulazno/izlazne operacije treba preneti podatke na mesto koje nazivamo odredište, a čiju adresu upravljač jedinice uzima iz BUIZ-a

Signaliziranjem semafora U/I-IZVRŠEN oslobađa se proces odnosno obaveštava se proces da su podaci preneseni i čitava ulazno/izlazna operacija izvršena. te na taj način proces može nastaviti dalje izvršavanje, a čitav je postupak ulaza/izlaza završen.

Prikazani postupak u upravljaču jedinice odnosi se na ulaznu operaciju. Ako se radi o izlaznoj operaciji treba samo zameniti redosled nekih postupaka. Tako se konverzija koda mora uraditi pre pozivanja kanalskog programa na izvršavanje. Takođe je potrebno pre preneti podatke na odredište (izlazno područje). Nadalje prikazani postupak prouzrokuje i stvarni fizički prenos podataka, odnosno fizički postupak sa stvarnim uređajem.

U slučajevima kada se često uzastopno ponavljaju zahtevi za ulazom/izlazom s istog uređaja, to svaki put ponovo aktivira ovaj mehanizam, što prouzrokuje dodatni rad zbog čekanja završetka ulazno/izlazne operacije. To se može ublažiti tako da se s uređaja kod fizičkog izvođenja ulazno/izlazne operacije prenese unapred veća količina podataka (na primer više blokova) pa se ti podaci (ako se, na primer, radi o ulazu) stave u bafer. Sledeći zahtev za ulazom neće se stvarno fizički izvršavati nego će se izvesti samo transfer podataka iz bafera na odredište. Slično se može provesti i prilikom izlaza. Ova tehnika poznata je pod nazivom baferisanje (Buffering) i traži nešto drugačije rešenje upravljača uređaja. Još uspješnije verzije ove tehnike jesu dvostruko baferisanje (double buffering) i višestruko baferisanje (multiple buffering), gde se postiže još efikasnije izvršavanje ulazno/izlaznih operacija i ravnomernije opterećenje ulazno/izlaznih jedinica.

Za upravljanje monopolskim uređajima koristi se tehnika poznata pod imenom spuling (spooling - Simultaneous Peripheral Operations On-Line). Na disku se za svaki proces formira virtuelni uređaj (npr. štampač). Podaci se upisuju u formatu predviđenom za taj uređaj. Kada se proces završi daje se signal za prenos sa diska na odgovarajući uređaj što se obavlja u jedinstvenom procesu, tj. tek kada se završi prebacivanje za jedan proces, može se započeti prebacivanje za drugi proces (npr. da ne bi štampač štampao malo jednom, pa malo drugom korisniku, nego mora da štampa sve prvom, pa sve drugom). Spooler je interni proces koji obavlja spooling.

Upravljanje diskovimaHard disk uređaj sadrži jednu ili više ploča u obliku diska čije su površine premazane

- - 59

Page 9: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

feromagnetnim slojem. Ploče se nalaze na zajedničkoj osovini koja rotira konstantnom brzinom od 3600 do 7200 obrtaja u minuti, a ima i onih koji rotiraju brzinom od 15 000 obrtaja u minuti. Između ploča se nalaze poluge koje na svom vrhu imaju po dve upisno-čitajuće glave, jednu za gornju drugu za donju površinu. Sve glave nalaze se na zajedničkom nosaču i pomeraju se zajedno napred-nazad prema centru, odnosno obodu diska. Glave ne mogu da se pomeraju nezavisno jedna od druge zato što su na zajedničkom nosaču. Kod većine hard diskova glave ne dotiču ploče tokom normalnih operacija. Dok je uključeno napajanje vrlo tanak vazdušni jastuk pridržava svaku glavu na malom rastojanju iznad ploča. Ako se vazdušni džep poremeti zbog potresa ili čestica prašine, glave mogu da udare u ploče koje se okreću punom bzinom. Ovakav neželjeni događaj može da dovede do gubitka podataka ili potpunog uništenja diska.

Organizacija podataka na hard diskuPodaci se upisuju u koncentrične krugove koji se nazivaju staze. Sve staze istog poluprečnika, dakle

staze nad kojima su u istom trenutku pozicionirane sve upisno-čitajuće glave, obrazuju cilindar. Cilindri su numerisani od spolja prema centru počevši od 0. Glave i površine diskova su numerisani od vrha prema dnu disk paketa počevši od 0. Svaka staza podeljena je u fizičke celine fiksne dužine - sektore. Sektori imaju upravo onu veličinu koja se u jednom obraćanju disku može preneti ka ili iz operativne memorije. Zbog toga što sa centralnim delom računara razmenjuje informacija u blokovima disk spada u tzv. blok uređaje, za razliku od uređaja koji rukuju kakterima. Broj staza i sektora na pojedinom disku zavisi od kontrolera i od mehanizma disk drajva. Kako su ploče hard diska fiksirane i hermetički zatvorene, gustine staza mogu biti veoma visoke. Mnogi hard diskovi imaju po 3.000 i više staza po inču medijumuma.

Slika 35 – Organizacija podataka na hard diskDisk drajvovi se adresiraju kao velik 1-dimenzionalni niz logičkih blokova (logički blok je

najmanja jedinica prenošenja). Logički blokovi se mapiraju na sektore disk sekvencijalno. Sektor 0 je prvi sektor na prvoj stazi na spoljašnjem cilindru. Mapiranje se vrši redom na stazi, zatim na preostalim stazama na tekućem cilindru, i zatim na preostalim cilindrima od spoljašnjih ka unutrašnjim.

Disk se logički posmatra kao linearan, sekvencijalan niz blokova-sektora: Blokovi su tipično veličine 512B, redom su numerisani, tako da su blokovi sa susednim brojem fizički susedni: blok 0 je na sektoru 0 spoljnog cilindra, zatim prema susednom sektoru na istom cilindru itd., zatim prema narednom cilindru ka unutrašnjosti itd. Iako deluje trivijalno, preslikavanje logičke adrese bloka u njegovu fizičku poziciju na disku nije jednostavno. Naime, diskovi obično sadrže loše sektore (bad sector) koji nisu

- -

Glave zaupis i čitanje

Diskovi

Staze: Koncentrični krugoviu kojima su memorisani podaci

Sektori:Delovi staza

60

Page 10: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

upotrebljivi, a broj sektora po cilindru za neke diskove nije isti za sve cilindre: gustina zapisa je jednaka, pa je broj sektora na unutrašnjim cilindrima manji (tipično i do 40%); zbog toga uređaj povećava brzinu obrtanja kada glava ide ka unutrašnjim cilindrima

Raspoređivanje zahteva za rad sa diskomVreme pristupa (Access time) sastoji se od 2 komponente:• Vreme pozicioniranja (Seek time) – vreme potrebno za postavljanje glave za upis i čitanje na

određeni cilindar,• Vreme rotacionog kašnjenje (Rotational latency) – dodatno vreme za čekanje da odgovarajući

sektor dođe pod glavu za upis i čitanje.Ukupno vreme - vreme između prvog zahteva i kompletiranja poslednjeg transfera predstavlja zbir

vremena pristupa i vremena prenošenja podataka.Operativni sistem je odgovoran za efikasno korišćenje hardvera, a diskovi koji se sve vreme koriste

predstavljaju usko grlo računarskog sistema po pitanju performansi. U multiprogramiranju u jednom trenutku postoji više zahteva za rad sa diskom. Racionalnim raspoređivanjem ovih zahteva ukupno vreme pozicioniranja može se skratiti. Razume se, postoje algoritmi koji minimizuju obe mehaničke komponenete – i vreme pozicioniranja i vreme rotacionog kašnjenja i uzimaju u obzir i keširanje na samom disk uređaju. Mi ćemo se, međutim, jednostavnosti radi, baviti jedino algoritmima koji minimizuju vreme pozicioniranja.

Ilustrovaćemo ih na primeru reda zahteva za rad sa diskom u FIFO poretku {98, 183, 37, 122, 14, 124, 65, 67}. Pretpostavljamo da disk ima 200 cilindara (0-199) i da se glave za upis i čitanje trenutno nalaze na cilindru 53, a prethodno su bile na cilindru 100.

FCFS (First-Come First-Serve)Ovaj algoritam zahteve prosleđuje po redosledu pristizanja zahteva. Raspored zahteva prema FCFS

algoritmu (brojevi u zagradi predstavljaju pomeraj koji glave diska prave pri prelasku na sledeći cilindar, izražen u broju cilindara). Ukupan broj premeštanja glave je 640 cilindara.

Slika 36 – Kretanje glave za upis i čitanje kada se koristi FCFS algoritam

SSTF (Shortest-seek-time-first)Po algoritmu SSTF selektuje se zahtev sa najmanjim vremenom traženja od tekuće pozicije glave.

To raspoređivanje je vrsta SJF raspoređivanja. Može dovesti do “izgladnjivanja” (starvation) nekih zahteva. Naime, glave mogu ostati veoma dugo u jednoj zoni opslužujući zahteve koji unose male pomeraje, pa zahtevi čiji su cilindri daleko od tekuće pozicije glave mogu dugo čekati u redu.

- - 61

98 ( 45)183 ( 85) 37 (146)122 ( 85) 14 (108)124 (110) 65 ( 59) 67 ( 2)ukupno - 640

Page 11: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Slika 37 - Kretanje glave za upis i čitanje kada se koristi SSFT algoritam

SCAN (ili Elevator Algorithm)“Ruka”diska startuje sa jednog kraja diska i pomera se ka drugom kraju servisirajući redom

zahteve. Sa drugog kraja diska kretanje “ruke” je u suprotnom smeru i nastavlja se sa servisiranjem zahteva. Može da bude neefikasno.

°

Slika 38 - Kretanje glave za upis i čitanje kada se koristi SCAN algoritam

LOOK (Verzija SCAN)Algoritam LOOK predstavlja modifikaciju algoritma SCAN. Glave se ne pomeraju do kraja ili početka diska nego do poslednjeg zahteva koji se nalazi u redu čekanja na tom smeru. Pri tome LOOK opslužuje zahteve u oba smera kao što je prikazanao na slici 39. U našem primeru imamo kretanje za 208 cilindara.

- - 62

37 ( 16) 14 ( 23) 0 ( 14) 65 ( 65) 67 ( 2) 98 ( 31)122 ( 24)124 ( 2)183 ( 59)ukupno - 236

65 ( 12) 67 ( 2) 37 ( 30) 14 (.23) 98 ( 84)122 ( 24)124 ( 2)183 ( 59)ukupno - 236

Page 12: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Slika 39 - Kretanje glave za upis i čitanje kada se koristi LOOK algoritam

Circular-SCAN (C-SCAN)Algoritam C-SCAN Omogućava uniformnije vreme čekanja od SCAN algoritma. Glava se pomera

sa jednog na drugi kraj diska uz servisiranje zahteva. Kada stigne do kraja, odmah se vraća na početak diska, bez servisiranja zahteva i postupak se ponavlja. Cilindri se tretiraju kao kružna lista, tj. posle poslednjeg ponovo se prelazi na prvi cilindar.

Slika 40 - Kretanje glave za upis i čitanje kada se koristi C-SCAN algoritam

C-LOOK Algoritam C-LOOK podrazumeva da ruka ide jedino do poslednjeg zahteva, a zatim po potrebi

menja smer kretanja bez prethodnog odlaska do kraja diska.

- - 63

37 ( 16) 14 ( 23) 65 ( 51) 67 ( 2) 98 ( 31)122 ( 24)124 ( 2)183 ( 59)ukupno - 208

65 ( 12) 67 ( 2) 98 ( 31)122 ( 24)124 ( 2)183 ( 59)199 ( 16) 0 (199) 14 ( 14) 37 ( 23)ukupno - 382

Page 13: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Slika 41 - Kretanje glave za upis i čitanje kada se koristi C-LOOK algoritam

Da zaključimo. Algoritam raspoređivanja diska treba da bude napisan kao zaseban modul tako da može da se zamenjuje (bira). Performanse zavise od broja i tipova zahteva.

• SSTF je prirodan način za servisiranje zahteva.• SCAN i C-SCAN se koriste kada ima puno zahteva.• Oba SSTF i LOOK su pogodni kao podrazumevajući algoritam.

Zahtevi za servisiranje diska mogu uticati na metodu alokacije fajlova.

RAID strukture – realizacija stabilnih sistemaKoliko god da su savremeni diskovi brzi i kvalitetni, po performansama daleko zaostaju za

procesorima. Jedna od brojnih tehnika kojima se poboljšavaju performanse sekundarne memorije podrazumeva korišćenje više diskova koji rade kooperativno, odnosno grupu diskova koja se koristi kao jedan uređaj (Disk striping). Danas su diskovi sve manji i jeftiniji, pa se može imati više diskova na istom računaru. Postojanje više diskova na istom računaru dozvoljava da se oni iskoriste, umesto samo zbog povećanja prostora, za:

- povećanje pouzdanosti, zbog postojanja redundantnih diskova- poboljšanje performansi, zbog mogućeg paralelizma u radu

Čitav niz tehnika organizacije više diskova koje imaju ovo za cilj, upotrebom više (jeftinih) diskova umesto jednog skupog, nazivaju se RAID (redundant arrays of inexpensive disks). Danas poenta više nije u ceni, jer su diskovi svakako jeftini, već u poboljšanju pouzdanosti i performansi, pa zato “I” u akronimu RAID više ne znači inexpensive nego independent (nezavisni).

RAID diskovi mogu da budu priključeni:- na standadnu U/I magistralu na uobičajeni način; tada OS mora da implementira RAID funkcionalnost

- preko posebnog hardverskog kontrolera koji implementira RAID funkcionalnost, tako da je RAID transparentan za OS i softver i može da se koristi na bilo kom OS bez RAID funkcionalnosti.

Ako bi se N diskova koristilo samo za povećanje prostora N puta, bez redundanse podataka, onda se verovatnoća otkaza sistema povećava N puta u odnosu na verovatnoću otkaza jednog diska; npr. ako je MTBF (mean time between failure, srednje vreme između otkaza) jednog diska 100.000 sati, onda je MTBF za 100 diskova 1000 sati, odnosno oko 42 dana, što je neprihvatljivo!

- - 64

65 ( 12) 67 ( 2) 98 ( 31)122 ( 24)124 ( 2)183 ( 59)14 (169) 37 ( 23)ukupno - 322

Page 14: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Rešenje: višestruke diskove koristiti za smeštanje redundantnih podataka, tako da u slučaju otkaza nekog diska ne dolazi do gubitka informacija

Jedan pristup – ogledanje (mirroring): jedan logički disk sastoji se od dva fizička diska sa identičnim kopijama; svaki upis se vrši identično na oba diska; ako jedan otkaže, drugi je raspoloživ do popravke/zamene.Upis je dupliran, čitanje može iz bilo kog – može se paralelizovati

Poboljšanje performansi tehnikom pruga (data striping) - rasporediti podatke sukcesivno na susedne diskove:

- bit-level striping: po jedan bit svakog bajta rasporediti na 8 diskova- block-level striping: susedni blokovi fajla su raspoređeni na susedne diskove; najčešće primenjivano

Sa N diskova, povećava prostor N puta, ali i poboljšava performanse:- za više pristupa malim komadima, povećava propusnu moć, jer se više malih zahteva može paralelizovati na više diskova- za jedan pristup većem komadu, smanjuje vreme odziva jer deli pristup na više diskova koji rade paralelno

RAID nivoiPod RAID nivoima podrazumevamo različite RAID konfiguracije koje poboljšavaju pouzdanost

i/ili performanse. Postoji šest osnovnih RAID nivoa koji se razlikuju po performansama, pouzdanosti i ceni.

RAID 0: predstavlja konfiguraciju u kojoj je traka na nivou jednog ili više blokova podataka (block striping). RAID 0 je veoma brza konfiguracija, ima najbolje performanse čitanja i upisa, ali je bez ikakve redundanse, otkaz ma kog diska znači gubitak svih podataka. Predstavlja pogodno rešenje za zahtevne aplikacije kod kojih pouzdanost nije bitna

RAID 1: Svaki disk ima svoje ogledalo (mirroring) bez ikakve paralelizacije; jeftina i jednostavna konfiguracija za servere koji zahtevaju pouzdanost (C – kopija)

- - 65

Page 15: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

RAID 2 Ova konfiguracija poznata je pod nazivom RAID sa memorijskim stilom korekcije (memory-style error correcting code organization): koristi bit-striping pri čemu se dodatni diskovi koriste za smeštanje ECC; ne koristi se (prevaziđen od strane RAID 3)

Napomena. Memorije imaju ECC algoritam koji za svaki bajt ima 3 ekstra bita potrebna za detekciju i korekciju jednobitnih podataka. Da bi se ovo realizovalo za diskove, bez obzira na broj diskova podataka potrebna su još 3diska za ECC koji mogu sačuvati podatke u slučaju otkaza ma kog diska.

RAID 3 je konfiguracija koja organizuje deljenje podataka na nivou bita ili bajta, a po pitanju redundanse prvi put se uvodi parnost za diskove (bit-interleaved parity organization). Za razlikuod memorije u kojoj je teško odrediti tačnu poziciju greške, kod diskova svaki pojedinačni disk-kontroler zna da li je njegov pročitani sektor korektan ili ne. Zbog toga je bit parnosti (parity bit, P) dovoljan i za detekciju i za korekciju greške, pošto se tačno zna koji bit je pogrešan. (kao RAID 2, samo što koristi samo jedan dodatni disk kao redundansu za bit parnosti).

RAID 4 ima organizaciju deljenja podataka na nivou bloka, a po pitanju redundanse koristi parnost za diskove na nivou bloka (block-interleaved parity organization). Za n blokova (sa n diskova) dovoljan je jedan blok parnosti koji je jednak veličini trake diska. Velika mana ovog rešenja je što dovodi do preopterećenja diska parnosti koji učestvuje u svakom ciklusu upisa pa tako postaje usko grlo u sistemu

Radi kao RAID 3, samo koristi block striping; jedan dodatni disk čuva blok parnosti- čitanje jednog bloka obrađuje jedan disk, ostali mogu da obrađuju druge zahteve u paraleli- čitanje i upis velikih segmenata obavlja se paralelizovano- upis jednog bloka ili nezavisni upisi po jednog bloka jesu problem: ne mogu se obavljati u paraleli, a svaki zahteva čitanje bloka, izmenu i upis, i to i za podatke i za blok parnosti

RAID 5 konfiguracija veoma je slična sistemu RAID 4, samo što podatke i bite parnosti rasipa po svim diskovima – za svaki paket od N blokova, jedan disk (bilo koji) čuva parnost, ostali podatke, ciklično (block-interleaved distributed parity).

RAID 6 (P+Q redundancy scheme) predstavlja jedinu RAID kombinacijukoja može razrešiti problem u slučaju otkaza više od jednog diska. Radi kao RAID 5, ali umesto parnosti, čuva dodatne redundantne ECC kako bi se zaštitio od otkaza više od jednog diska

- - 66

Page 16: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

RAID 0+1: kombinacija RAID 0 i RAID 1, da bi dobio i na pouzdanosti i na performansama; generalno, ponaša se bolje nego RAID 5, ali udvostručuje broj diskovaRAID 0+1: N diskova u pruzi (stripe), i još N takvih u drugoj pruzi koja je ogledalo (mirror)RAID 1+0: N parova diskova u ogledalu (mirrored) povezani u prugu (stripe)

Implementacija RAID sistema može se obaviti softverski ili hardverski. Softverska implementacija RAID-a ne zahteva nikakve dodatne usluge hardvera, pa se mogu koristiti obični diskovi. RAID nivoi koji koriste parnost nisu efikasni za softversku implementaciju zbog stalnog računanja parnosti, pa se primenjuju tipično RAID 0, 1 ili 0+1. Hardverska implementacija RAID-a vrši se unutar adaptera računara-domaćina ili unutar posebnog uređaja koji sadrži niz RAID diskova. Prvi način dozvoljava da se obični diskovi vežu na adapter, što je jeftino ali nefleksibilno.

Najčešće korišćeni RAID nivoi su:RAID 0 za zahtevne aplikacije visokih performansi bez potrebe za pouzdanošćuRAID 1 za nezahtevne sisteme povišene pouzdanostiRAID 0+1 ili 1+0 za sisteme koji zahtevaju i performanse i pouzdanost (npr. baze podataka)RAID 5 za veoma velika skladišta podataka

Da rezimiramoUlazno/izlazna funkcija se obično razlaže slojeve. Niži slojevi se bave detaljima fizičkih operacija

koje treba da se izvedu, a viši slojevi bave se U/I na logički i generički način. Na taj način postiže se da hardverski parametri ne utiču na veći deo softvera.

Ključni aspekt U/I je upotreba bafera kojima upravljaju U/I uslužni programi, a ne aplikacioni procesi. Baferovanje kompenzuje razlike između unutrašnjih brzina računarskog sistema i brzina U/I uređaja. Upotreba bafera takođe razdvaja stvari U/I prenos od adresnog prostora aplikacionog procesa. To OS dozvoljava više fleksibilnosti u izvođenju funkcije upravljanja memorijom.

Aspekt U/I koji ima najveći uticaj na ukupne performanse sistema je U/I diska. Dva najčešće korišćena pristupa za ubrzanje rada sa diskom su rapoređivanje diska i keš diska. Keš diska je bafer, obično u glavnoj memoriji, koji funkcioniše kao keš blokova diska između memorije diska i ostatka glavne memorije. Zahvaljujući principu lokalnosti upotreba keša diska smanjuje broj U/I prenosa između glavne memorije i diska.

RAID konfiguracije omogućavaju povećanje pouzdanosti, zbog postojanja redundantnih diskova i poboljšanje performansi, zbog mogućeg paralelizma u radu. RAID konfiguracije sastoje se od sedam nivoa (0-6). Ti nivoi nisu u hijerarhijskom odnosu, nego označavaju različite arhitekture dizajna koje dele tri zajedničke karakteristike.

1. RAID je skup fizičkih uređaja koje OS vidi kao jedan logički uređaj2. Podaci su raspodeljeni preko niza fizičkih uređaja3. Kapacitet redundantnog diska koristi se za čuvanje informacije o pranosti, što obezbeđuje

restauraciju podataka u slučaju otkaza diska. Detalji druge i treće karakteristike razlikuju se za različite RAID nivoe. Raid 0 i RAID 1 ne

podržavaju treću karakteristiku.

Ključni pojmovikarakter - blok uređajimonopolski, deljivi, virtualnisekvencijalni –direktni pristupblokirajući – neblokirajućinezavisnost uređajakontroler, U/I procesorlogički U/I

programirani U/I direktan memorijski pristup (DMA)ulazno/izlazne operacijeupravljač uređajemkanalski programbaferisanje spooler

sektorstazavreme pristupa diskuvreme traženjavreme prenosaalgoritmi raspoređivanja diskaRAID nivoi

- - 67

Page 17: I Funkcije i karakteristike operativnih sistema (OS) · Web viewUpravljanje ulazom/izlazom je funkcija operativnog sistema čiji je cilj da upravlja, kontroliše i koordinira rad

Pitanja i zadaci za vežbu1. Navedite odnovne funkcije U/I sistema2. Objasniti aspekte po kojima se razlikuju U/I uređaji 3. Klasifikujte uređaje u opšte kategorije prema: (a) nameni, (b) jediničnoj količini prenetih

podataka, (c) metodi pristupa, (d) deljivosti.4. Objasnite blok i karakter uređaje5. Objasnite razliku između blokirajućih i neblokirajućih U/I operacije6. Objasnite dva aspekta nezavisnosti uređaja7. Kako se periferni uređaji povezuju u sistem.8. Šta je kontroler, a šta drajver?9. Kakva je uloga U/I knala u računarskom sistemu?10. Šta karakteriše selektorske, a šta multipleksirajuče kanale?11. Objasnite koncepciju upravljanja U/I uređaja12. Koje strukture treba vodi OS (Kernel) da bi mogao da upravlja U/I uređajima?13. Diskutovati baferisanje (Buffering)14. Diskutovati keširanje15. Diskutovati spool tehniku16. Diskutovati upravljanje greškama17. Kako se obavlja mapiranje između logičkih i fizičkih blokovana disku?18. Šta se postiže pravilnim raspoređivanjem zahteva za rad sa diskom?19. Posmatrajte disk sa 200 cilindara označenih brojevima od 0-199. Glave za čitanje i pisanje se

trenutno nalaze cilindru 100, a prethodno su bile pozicionirane na cilindru 125. Trenutni raspored reda za rad sa diskom u FIFO poretku je: 55, 58, 39, 18, 90, 160, 150, 38, 184. Odredite redosled opsluživanja disk zahteva i ukupan pomeraj (ukupan broj cilindara obuhvaćen seek sekvencom), ukoliko se za raspoređivanje zahteva koriste sledeći algoritmi: (a) FCFS, (b) SSTF, (c) SCAN, (d) LOOK, (e) C-SCAN, (f) C-LOOK. Za početni trenutak usvojite momenat u kome su glave diska na cilindru 100.

20. Posmatrajte disk sa 5000 cilindara označenih brojevima od 0-4999. Glave za čitanje i pisanje se trenutno nalaze cilindru 143, a prethodno su bile pozicionirane na cilindru 125. Trenutni raspored reda za rad sa diskom u FIFO poretku je: 86, 1470, 913, 1774, 948, 1509, 1022, 1750, 130. Odredite redosled opsluživanja disk zahteva i ukupan pomeraj (ukupan broj cilindara obuhvaćen seek sekvencom), ukoliko se za raspoređivanje zahteva koriste sledeći algoritmi: (a) FCFS, (b) SSTF, (c) SCAN, (d) LOOK, (e) C-SCAN, (f) C-LOOK. Za početni trenutak usvojite momenat u kome su glave diska na 143 cilindru.

21. Koje karakteristike rada sa memorijom velikog kapaciteta se poboljšavaju ukoliko je ta memorija organizovana pomoću RAID sistema?

22. Koji RAID nivoi se najčešće koriste i kako se implementiraju?23. Objasnite kako funkcionišu RAID nivoi 0 i 1.24. Objasnite kako funkcionišu RAID 0+1 i RAID 1+0.25. Šta karakteriše RAID nivoe 3, 5 i 6?

- - 68