Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
Operativni Sistemi - Univerzitet u Novom Sadu
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