Stanje procesa

Tina ima nov robotski komplet Lego Mindstorm. Končno ga ima čas sestaviti, saj staršev ni doma, mlajši brat pa se igra v svoji sobi. S spletne strani je natisnila navodila (PROGRAM), kako naj sestavi robotka, in jih priložila kompletu. Pripravila si je tudi vse potrebne sestavne dele: lego palčke, kolesa, osnovne kocke, različne senzorje (VHODNI PODATKI) in začela po navodilih sestavljati robotka (PROCES). Po telefonu jo pokliče mama in naroči, da naj takoj pripravi večerjo za brata. Recept ji je pustila na kuhinjskem pultu. Tina si označi v navodilih, kje je ostala (STANJE trenutnega procesa sestavljanja robotka), odide v kuhinjo in po maminih navodilih pripravi večerjo za brata (izvaja proces kuhanja večerje). Tina (CPE) je torej preklopila s prvega procesa (sestavljanje robotka) na drugega z višjo prioriteto (kuhanje večerje). Vidimo, da ima vsak proces svoj program (navodila za sestavljanje robotka in recept za večerjo). Ko Tina skuha večerjo, se vrne k svojemu robotku in nadaljuje točno tam, kjer je prej končala.

Proces je torej neka dejavnost, ki ima kodo programa, vhodne podatke, izhodne podatke in stanje (stopnja, do katere je procesor izvedel program).

Shema stanj procesa


Med izvajanjem proces prehaja med različnimi stanji – Tina je morala prekiniti proces sestavljanja robotka, opravila proces kuhanja večerje in nato spet nadaljevala prvi proces. Proces je lahko torej v stanju:

  • izvajanja (ang. running): proces za izvajanje uporablja CPE,
  • čakanja (ang. ready): proces čaka, da pride na vrsto,
  • spanja  (ang. blocked): ni pripravljen na izvajanje, saj čaka na nek vir – podatke, vzhodno-izhodne naprave ali drug vir, ki ga bomo spoznali pozneje.