26.02.2015 Views

Operativni Sistemi - Univerzitet u Novom Sadu

Operativni Sistemi - Univerzitet u Novom Sadu

Operativni Sistemi - Univerzitet u Novom Sadu

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Proces koji je suspendovan, prestaje da se takmič i za resurse, oslobađaju se resursi koje je<br />

zaouzeo, ali ostaje i dalje proces.<br />

Proces koji je u stanju suspendovan i blokiran prelazi u stanje suspendovan i spreman, ako postaje<br />

spreman, tj. ako može da nastavi sa radom (npr. proces pošalje zahtev skeneru da skenira sliku, č eka da<br />

skener završi sa radom, pa se blokira, u međuvremenu se suspendira, pa postaje suspendovan i blokiran,<br />

kada skener završi skeniranje, proces prelazi iz stanja suspendovan i blokiran u stanje suspendovan i<br />

spreman.)<br />

Iz stanja suspendovan i blokiran u stanje blokiran i iz stanja suspendovan i spreman u stanje<br />

spreman procesi mogu preć i samo explicitno, tj. zahtevom korisnika.<br />

Iz stanja spreman u stanje suspendovan i spreman proces prelazi iz nekog od sledeć ih razloga :<br />

- prevelik broj spremnih procesa – procesi se suspendiraju kao zaštita od<br />

preoptereć ivanja sistema<br />

- explicitno suspendiranje procesa od strane korisnika (npr. da bi korisnik mogao<br />

proveriti neke međurezultate izvršavanja procesa – i nakon toga mogao nastaviti rad<br />

bez ponovnog pokretanja celog programa.)<br />

- izbegavanje zaglavljivanja (dead lock) – do zaglavljivanja se dolazi kada dva (ili<br />

više) procesa blokiraju jedan drugi u izvršavanju (npr. procesu P1 treba resurs A koji<br />

je kod procesa P2, a procesu P2 treba resurs B koji drži P1 – ovi procesi su se<br />

zaglavili, jer nijedan od njih ne može nastaviti sa radom – u ovom sluč aju jedan od<br />

procesa se suspenduje, pa drugi može da odradi svoj zadatak, pa kada se resursi<br />

oslobode i prvi ć e moć i da završi svoj rad).<br />

PCB – Process Control Block<br />

Posmatrajmo sledeć u situaciju: imamo multiprogramirano okruženje sa dva procesa. Proces P1 se<br />

izvršava dok ne dođe do blokiranja zbog č ekanja na neki događaj (npr. skeniranje). Tada krenemo sa<br />

izvršavanjem procesa P2 koji se nakon nekog vremena isto postaje blokiran. U međuvremenu se desi<br />

događaj na koji je č ekao proces P1 i sada možemo nastaviti sa izvršavanjem. Da bismo znali, gde treba<br />

nastaviti, potrebno je pamtiti neke informacije o procesu. Upravo tome služi PCB tj. Process Control<br />

Block. Svakom procesu se dodeljuje jedinstveni PCB koji sadrži informacije koje su potrebne za nastavak<br />

izvršavanja tog procesa. Te informacije uključ uju:<br />

- jedinstveni identifikator procesa (pid – process ID)<br />

- stanje procesa<br />

- prioritet procesa (iz liste č ekanja biramo najpre procese sa već im prioritetima)<br />

- adresa memorije gde se nalazi proces<br />

- adrese zauzetih resursa<br />

12

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!