Maikling ilarawan ang kahulugan at paggana ng PCB

Upang gawin ang bawat programa na lumahok sa kasabay na pagpapatupad, kabilang ang data ay maaaring tumakbo nang nakapag-iisa, ang isang espesyal na istraktura ng data ay dapat na i-configure para dito sa operating system, na tinatawag na proseso ng control block (PCB, Process Control Block). Mayroong isa-sa-isang pagsusulatan sa pagitan ng proseso at ng PCB, at hindi mababago ang proseso ng user.

ipcb

Ang papel na ginagampanan ng proseso ng control block PCB:

Upang mapadali ang paglalarawan ng system at pamamahala ng pagpapatakbo ng proseso, ang isang istraktura ng data ay partikular na tinukoy para sa bawat proseso sa core ng OS-Process Control Block PCB (Process Control Block). Bilang bahagi ng entity ng proseso, itinatala ng PCB ang lahat ng impormasyong kailangan ng operating system upang ilarawan ang kasalukuyang sitwasyon ng proseso at pamahalaan ang pagpapatakbo ng proseso. Ito ang pinakamahalagang naitala na istraktura ng data sa operating system. Ang tungkulin ng PCB ay gumawa ng isang programa (kabilang ang data) na hindi maaaring tumakbo nang nakapag-iisa sa isang multi-program na kapaligiran na maging isang pangunahing yunit na maaaring tumakbo nang nakapag-iisa, isang proseso na maaaring isagawa kasabay ng iba pang mga proseso.

(2) Maaaring mapagtanto ng PCB ang intermittent operation mode. Sa isang multi-program na kapaligiran, ang programa ay tumatakbo sa isang stop-and-go intermittent operation mode. Kapag ang isang proseso ay nasuspinde dahil sa pagharang, dapat itong panatilihin ang impormasyon ng site ng CPU kapag ito ay tumatakbo. Pagkatapos magkaroon ng PCB, maaaring i-save ng system ang impormasyon ng site ng CPU sa PCB ng naantala na proseso para magamit kapag naibalik ang site ng CPU kapag ang proseso ay naka-iskedyul para sa pagpapatupad muli. Samakatuwid, maaari itong gawing malinaw muli na sa isang multi-program na kapaligiran, bilang isang static na programa sa tradisyonal na kahulugan, dahil wala itong paraan upang protektahan o i-save ang sarili nitong operating site, hindi nito magagarantiya ang muling paggawa ng mga resulta ng pagpapatakbo nito. , kaya nawawala ang operasyon nito. kahalagahan.

(3) Nagbibigay ang PCB ng impormasyong kailangan para sa pamamahala ng proseso. Kapag ang scheduler ay nag-iskedyul ng isang proseso upang tumakbo, mahahanap lamang nito ang kaukulang programa at data ayon sa starter address pointer ng programa at data na naitala sa PCB ng proseso sa memorya o panlabas na imbakan; sa panahon ng proseso ng pagtakbo, kapag ang file ay kailangang ma-access Kapag ang mga file o I/O device sa system, kailangan din nilang umasa sa impormasyon sa PCB. Bilang karagdagan, ayon sa listahan ng mapagkukunan sa PCB, ang lahat ng mga mapagkukunan na kinakailangan para sa proseso ay maaaring matutunan. Makikita na sa buong ikot ng buhay ng isang proseso, palaging kinokontrol at pinamamahalaan ng operating system ang proseso ayon sa PCB.

(4) Nagbibigay ang PCB ng impormasyong kailangan para sa pag-iiskedyul ng proseso. Tanging ang mga proseso sa ready state ang maaaring maiiskedyul para sa pagpapatupad, at ang PCB ay nagbibigay ng impormasyon tungkol sa kung anong estado ang proseso. Kung ang proseso ay nasa ready state, ilalagay ito ng system sa process ready queue at hihintayin ang scheduler na mag-iskedyul ; bilang karagdagan, madalas na kailangang malaman ang iba pang impormasyon tungkol sa proseso kapag nag-iiskedyul. Halimbawa, sa priority scheduling algorithm, kailangan mong malaman ang prosesong Priority. Sa ilang mas patas na algorithm sa pag-iiskedyul, kailangan mo ring malaman ang oras ng paghihintay ng proseso at ang mga kaganapang naisakatuparan.

(5) Napagtanto ng PCB ang pag-synchronize at komunikasyon sa iba pang mga proseso. Ang mekanismo ng pag-synchronize ng proseso ay ginagamit upang mapagtanto ang coordinated na operasyon ng iba’t ibang mga proseso. Kapag pinagtibay ang mekanismo ng semaphore, kailangan nito na ang isang kaukulang semaphore para sa pag-synchronize ay nakatakda sa bawat proseso. Ang PCB ay mayroon ding isang area o communication queue pointer para sa proseso ng komunikasyon.

Impormasyon sa proseso ng control block:

Sa bloke ng kontrol ng proseso, pangunahin nitong kasama ang sumusunod na impormasyon:

(1) Process identifier: Ginagamit ang process identifier upang natatanging ipahiwatig ang isang proseso. Karaniwang mayroong dalawang uri ng identifier ang isang proseso: ① external identifier. Upang mapadali ang proseso ng user na ma-access ang proseso, dapat magtakda ng external na identifier para sa bawat proseso. Ito ay ibinigay ng lumikha at karaniwang binubuo ng mga titik at numero. Upang ilarawan ang relasyon ng pamilya ng proseso, dapat ding itakda ang parent process ID at ang child process ID. Bilang karagdagan, maaaring itakda ang isang user ID upang isaad ang user na nagmamay-ari ng proseso. ②Internal na identifier. Upang mapadali ang paggamit ng proseso ng system, ang isang panloob na identifier ay nakatakda para sa proseso sa OS, iyon ay, ang bawat proseso ay binibigyan ng isang natatanging digital identifier, na karaniwang serial number ng isang proseso.

(2) Estado ng processor: Ang impormasyon ng estado ng processor ay tinatawag ding konteksto ng processor, na pangunahing binubuo ng mga nilalaman ng iba’t ibang mga rehistro ng processor. Kasama sa mga rehistrong ito ang: ①Mga rehistro ng pangkalahatang layunin, na kilala rin bilang mga rehistrong nakikita ng gumagamit, na naa-access ng mga program ng gumagamit at ginagamit upang pansamantalang mag-imbak ng impormasyon. Sa karamihan ng mga processor, mayroong 8 hanggang 32 pangkalahatang layunin na rehistro. Sa RISC-structured na mga computer Maaaring mayroong higit sa 100; ②Instruction counter, na nag-iimbak ng address ng susunod na instruction na ma-access; ③Program status word PSW, na naglalaman ng status information, gaya ng condition code, execution mode, interrupt mask flag, atbp.; ④User stack pointer, Nangangahulugan ito na ang bawat proseso ng user ay may isa o ilang magkakaugnay na stack ng system, na ginagamit upang mag-imbak ng proseso at mga parameter ng tawag sa system at mga address ng tawag. Ang stack pointer ay tumuturo sa tuktok ng stack. Kapag ang processor ay nasa execution state, karamihan sa impormasyong pinoproseso ay inilalagay sa rehistro. Kapag ang proseso ay inilipat, ang impormasyon ng estado ng processor ay dapat na i-save sa kaukulang PCB, upang ang pagpapatupad ay maaaring magpatuloy mula sa breakpoint kapag ang proseso ay muling naisakatuparan.

(3) Impormasyon sa pag-iiskedyul ng proseso: Kapag nag-iiskedyul ang OS, kailangang maunawaan ang katayuan ng proseso at impormasyon tungkol sa pag-iiskedyul ng proseso. Kasama sa impormasyong ito ang: ① Katayuan ng proseso, na nagsasaad ng kasalukuyang katayuan ng proseso, na ginagamit bilang batayan para sa pag-iiskedyul ng proseso at pagpapalit ②Ang priyoridad ng proseso ay isang integer na ginagamit upang ilarawan ang antas ng priyoridad ng proseso gamit ang processor. Ang prosesong may mas mataas na priyoridad ay dapat makuha muna ang processor; ③Iba pang impormasyon na kinakailangan para sa pag-iskedyul ng proseso, na nauugnay sa algorithm ng pag-iiskedyul ng proseso na ginamit Halimbawa, ang kabuuan ng oras na hinihintay ng proseso para sa CPU, ang kabuuan ng oras na naisakatuparan ang proseso, at iba pa; ④Ang kaganapan ay tumutukoy sa kaganapang naghihintay para sa proseso na magbago mula sa estado ng pagpapatupad patungo sa estado ng pagharang, iyon ay, ang dahilan ng pagharang.

(4) Impormasyon sa pagkontrol sa proseso: Tumutukoy sa impormasyong kinakailangan para sa kontrol ng proseso, na kinabibilangan ng: ①Ang address ng program at data, ang memorya o ang external memory address ng program at ang data sa entity ng proseso, upang ito ay maiiskedyul sa isagawa kapag ang proseso ay naisakatuparan. , Ang programa at data ay matatagpuan mula sa PCB; ②Process synchronization at communication mechanism, na isang kinakailangang mekanismo para sa synchronization at process communication, gaya ng message queue pointer, semaphores, atbp., maaaring ilagay ang mga ito sa PCB nang buo o bahagi; ③Resource list, kung saan nakalista ang lahat ng resources (maliban sa CPU) na kailangan ng proseso sa panahon ng operasyon nito, at mayroon ding listahan ng resources na nakalaan sa proseso; ④Link pointer, na nagbibigay ng proseso ( PCB) Ang unang address ng PCB ng susunod na proseso sa pila.