Rondedzera muchidimbu zvinoreva uye basa rePCB

Kuti uite chirongwa chega chega chinotora chikamu mukuita panguva imwe chete, kusanganisira data inogona kumhanya yakazvimirira, yakakosha data dhizaini inofanirwa kugadzirirwa iyo mune yekushandisa system, inonzi process control block (PCB, Process Control Block). Pane kunyorerana-kune-mumwe pakati pemaitiro nePCB, uye maitiro emushandisi haagone kugadziridzwa.

ipcb

Basa reiyo process control block PCB:

Kuti ufambise tsananguro yehurongwa uye manejimendi ekushanda kwemaitiro, chimiro che data chinotsanangurwa zvakananga kune yega yega maitiro mukati meiyo OS-Process Control Block PCB (Process Control Block). Sechikamu chesangano rekuita, PCB inorekodha ruzivo rwese rwunodiwa neiyo sisitimu yekushandisa kutsanangura mamiriro azvino ekuita uye kutonga kushanda kwemaitiro. Ndiyo inonyanya kukosha yakanyorwa data chimiro muhurongwa hwekushanda. Basa rePCB nderekuita chirongwa (kusanganisira data) isingakwanise kumhanya yakazvimirira munharaunda yezvirongwa zvakawanda ive chinhu chakakosha chinogona kumhanya chakazvimirira, chirongwa chinogona kuitwa panguva imwe chete nemamwe maitiro.

(2) PCB inogona kuona inopindirana mashandiro maitiro. Munzvimbo yepurogiramu yakawanda, purogiramu inomhanya mukumira-uye-kuenda kunopindirana kwekushanda mode. Kana maitiro akamiswa nekuda kwekuvhara, inofanirwa kuchengetedza iyo CPU saiti ruzivo kana ichimhanya. Mushure mekuva nePCB, sisitimu inogona kuchengetedza iyo CPU saiti ruzivo muPCB yeyakavhiringidzwa maitiro ekushandisa kana CPU saiti yadzoserwa kana maitiro akarongwa kuti aitwe zvakare. Nokudaro, zvinogona kujekeswa zvakare kuti munharaunda yepurogiramu yakawanda, sechirongwa chakasimba mupfungwa yechinyakare, nokuti haina nzira yekudzivirira kana kuchengetedza nzvimbo yayo yekushanda, haigoni kuvimbisa kuberekazve kwemigumisiro yekushanda kwayo. , nokudaro kurasikirwa nekushanda kwayo. kukosha.

(3) PCB inopa ruzivo runodiwa pakuita manejimendi. Kana iyo scheduler inoronga maitiro ekumhanya, inogona chete kuwana iyo inoenderana chirongwa uye data zvinoenderana nekutanga kero pointer yechirongwa uye data yakanyorwa muPCB yemaitiro mundangariro kana kuchengetedza kwekunze; panguva yekushanda, apo faira inoda kuwanikwa Kana mafaira kana I / O zvishandiso muhurongwa, dzinodawo kuvimba nemashoko ari muPCB. Pamusoro pezvo, maererano nerunyorwa rwezviwanikwa muPCB, zviwanikwa zvese zvinodiwa pakuita izvi zvinogona kudzidzwa. Zvinogona kuoneka kuti mukati mehupenyu hwese kutenderera kwemaitiro, iyo inoshanda sisitimu inogara ichitonga uye inogadzirisa maitiro zvinoenderana nePCB.

(4) PCB inopa ruzivo runodiwa pakugadzirisa kuronga. Chete maitirwo ari munzvimbo yakagadzirira anogona kurongerwa kuurayiwa, uye PCB inopa ruzivo rwekuti hurongwa hwacho huri mumamiriro api. ; uyezve, zvinowanzodiwa kuziva rumwe ruzivo nezve maitiro pakuronga. Semuenzaniso, mune yekutanga kuronga algorithm, iwe unofanirwa kuziva maitiro eKukosha. Mune mamwe maitiro akajeka ekuronga algorithms, iwe zvakare unofanirwa kuziva iyo yekumirira nguva yemaitiro uye zviitiko zvaitwa.

(5) PCB inoona kuwiriranisa uye kutaurirana nemamwe maitiro. Iyo process synchronization mechanism inoshandiswa kuona kurongeka kwekushanda kweakasiyana maitiro. Kana iyo semaphore meshini yakagamuchirwa, inoda kuti inoenderana semaphore yekuwiriranisa inoiswa mune yega yega maitiro. Iyo PCB zvakare ine nharaunda kana yekutaura mutsara chinongedzo chemaitiro ekutaurirana.

Ruzivo mu process control block:

Mune iyo process control block, inonyanya kusanganisira iyo inotevera ruzivo:

(1) Chiziviso chemaitiro: Chiziviso chemaitiro chinoshandiswa kuratidza maitiro. Maitiro anowanzo kuve nemhando mbiri dzezviziviso: ① zvekunze zviziviso. Kuti ufambise maitiro emushandisi kuwana maitiro, chiziviso chekunze chinofanira kusetwa kune yega yega maitiro. Inopiwa nemusiki uye kazhinji ine mavara nenhamba. Kuti utsanangure hukama hwemhuri hwekuita, ID yevabereki process uye ID yemwana inofanirwawo kusetwa. Pamusoro pezvo, ID yemushandisi inogona kusetwa kuratidza mushandisi muridzi wayo. ②Chiziviso chemukati. Kuti ufambise kushandiswa kwemaitiro nehurongwa, identifier yemukati inogadzirirwa maitiro muOS, kureva kuti, yega yega inopihwa yakasarudzika idhijitari identifier, iyo inowanzova seriyori nhamba yemaitiro.

(2) processor state: Iyo processor state ruzivo inonzi zvakare mamiriro eiyo processor, iyo inonyanya kuumbwa nezviri mukati meakasiyana marejista e processor. Marejista aya anosanganisira: ①Marejista echinangwa chese, anozivikanwawo semarejista anooneka evashandisi, anowanikwa nezvirongwa zvevashandisi uye anoshandiswa kuchengetedza ruzivo kwenguva pfupi. Mune akawanda processors, kune 8 kusvika 32 general-chinangwa marejista. MuRISC-yakarongeka makomputa Panogona kunge paine anopfuura zana; ②Kaunda yekuraira, inochengeta kero yemurairo unotevera unowanikwa; ③Chimiro chezwi rechirongwa PSW, rine ruzivo rwechimiro, senge kodhi yemamiriro, maitiro ekuuraya, kukanganisa mureza wemasiki, nezvimwe; ④Mushandisi stack pointer, Zvinoreva kuti yega yega mushandisi maitiro ane imwechete kana akati wandei ane hukama masisitimu, ayo anoshandiswa kuchengetedza maitiro uye system yekufona paramita uye kufona kero. Iyo stack pointer inonongedza kumusoro kwestack. Kana iyo processor iri munzvimbo yekuuraya, yakawanda yeruzivo rwuri kugadziriswa inoiswa murejista. Kana maitiro acho achinjirwa, iyo processor state ruzivo runofanirwa kuchengetwa muPCB inoenderana, kuitira kuti kuuraya kuenderere mberi kubva pabreakpoint kana maitiro aitwazve.

(3) Maitiro ekuronga ruzivo: Kana iyo OS ichironga, zvinodikanwa kuti unzwisise mamiriro ekuita uye ruzivo nezve maitiro ekuronga. Ruzivo urwu runosanganisira: ① Mamiriro ekuita, anoratidza mamiriro azvino echirongwa, icho chinoshandiswa sehwaro hwekuronga nekuchinjanisa ②Kukosheswa kwekutanga inhamba yakashandiswa kutsanangura kukosha kwedanho rekuita uchishandisa processor. Iyo nzira ine yepamusoro yepamusoro inofanirwa kuwana processor kutanga; ③Rumwe ruzivo runodiwa pakurongwa kwehurongwa, hune hukama nehurongwa hwekuronga algorithm yakashandiswa Semuenzaniso, huwandu hwenguva iyo maitiro anga akamirira CPU, huwandu hwenguva iyo maitiro aitwa, zvichingodaro; ④ Chiitiko chinoreva chiitiko chakamirira kuti maitiro achinje kubva kukuuraya kuenda kune inovharika, ndiko kuti, chikonzero chekuvharira.

(4) Ruzivo rwekutonga kwemaitiro: Inoreva ruzivo rwunodiwa pakugadzirisa hurongwa, hunosanganisira: ①Kero yechirongwa uye data, ndangariro kana kero yekunze yekurangarira yechirongwa uye data muchikamu chechirongwa, kuti chigone kurongwa ita kana maitiro aitwa. , Chirongwa uye data inogona kuwanikwa kubva kuPCB; ②Kugadzirisa kuwiriranisa uye nzira yekutaurirana, inova nzira inodiwa yekuyananisa uye nzira yekutaurirana, senge meseji inonongedzera, semaphores, nezvimwe, inogona kuiswa muPCB yakazara kana chikamu; ③Resource rondedzero, mune zvese zviwanikwa (kunze kweCPU) zvinodikanwa nemaitiro panguva yekushanda kwayo zvakanyorwa, uye kune zvakare runyorwa rwezviwanikwa zvakapihwa maitiro; ④Link pointer, iyo inopa maitiro (PCB) Kero yekutanga yePCB yeinotevera maitiro mumutsetse.