Kirjeldage lühidalt PCB tähendust ja funktsiooni

Selleks, et iga samaaegses täitmises osalev programm, sealhulgas andmed, saaks iseseisvalt töötada, tuleb selle jaoks operatsioonisüsteemis konfigureerida spetsiaalne andmestruktuur, mida nimetatakse protsessi juhtimisplokiks (PCB, Protsessi juhtimisplokk). Protsessi ja PCB vahel on üks-ühele vastavus ning kasutaja protsessi ei saa muuta.

ipcb

Protsessi juhtimisploki PCB roll:

Süsteemi kirjeldamise ja protsessi toimimise haldamise hõlbustamiseks on OS-Process Control Block PCB (Process Control Block) tuumas iga protsessi jaoks spetsiaalselt määratletud andmestruktuur. Protsessi olemi osana salvestab PCB kogu teabe, mida operatsioonisüsteem vajab protsessi hetkeolukorra kirjeldamiseks ja protsessi toimimise juhtimiseks. See on operatsioonisüsteemi kõige olulisem salvestatud andmestruktuur. PCB ülesanne on muuta programm (sealhulgas andmed), mis ei saa mitmeprogrammilises keskkonnas iseseisvalt töötada, muutuda iseseisvaks töötavaks põhiüksuseks, protsessiks, mida saab käivitada samaaegselt teiste protsessidega.

(2) PCB saab realiseerida vahelduva töörežiimi. Mitmeprogrammilises keskkonnas töötab programm stop-and-go katkendliku töörežiimis. Kui protsess on blokeerimise tõttu peatatud, peab see töötamise ajal säilitama protsessori saidi teabe. Pärast PCB omamist saab süsteem salvestada CPU saidi teabe katkestatud protsessi PCB-sse, et seda saaks kasutada protsessori saidi taastamisel, kui protsess on plaanitud uuesti käivitada. Seetõttu võib taaskord selgeks teha, et mitmeprogrammilises keskkonnas traditsioonilises mõistes staatilise programmina ei saa ta tagada oma töötulemuste reprodutseeritavust, kuna tal puuduvad vahendid oma tegevuskoha kaitsmiseks või salvestamiseks. , kaotades seega oma toimimise. tähtsus.

(3) PCB annab protsessi juhtimiseks vajalikku teavet. Kui planeerija ajastab protsessi käivitumiseks, saab ta leida vastava programmi ja andmed ainult vastavalt programmi algusaadressi kursorile ning protsessi PCB-le salvestatud andmetele mälus või välismälus; töötamise ajal, kui failile on vaja juurde pääseda. Kui failid või I/O-seadmed süsteemis peavad tuginema ka PCB-l olevale teabele. Lisaks saab PCB-l oleva ressursside loendi järgi õppida kõiki protsessi jaoks vajalikke ressursse. Näha on, et kogu protsessi elutsükli jooksul juhib ja haldab operatsioonisüsteem protsessi alati vastavalt PCB-le.

(4) PCB annab protsesside ajastamise jaoks vajalikku teavet. Täitmiseks saab ajastada ainult valmisolekus olevaid protsesse ja PCB annab teavet selle kohta, millises olekus protsess on. Kui protsess on valmisolekus, lisab süsteem selle protsessi valmisoleku järjekorda ja ootab, kuni ajakava koostab ; lisaks on ajakava koostamisel sageli vaja teada ka muud teavet protsessi kohta. Näiteks prioriteedi planeerimise algoritmis peate teadma protsessi Priority. Mõne õiglasema ajastamisalgoritmi puhul peate teadma ka protsessi ooteaega ja teostatud sündmusi.

(5) PCB teostab sünkroonimist ja suhtlemist teiste protsessidega. Protsesside sünkroniseerimismehhanismi kasutatakse erinevate protsesside koordineeritud toimimise realiseerimiseks. Kui semafori mehhanism on vastu võetud, nõuab see igas protsessis sünkroonimiseks vastava semafori seadistamist. PCB-l on protsessiside jaoks ka ala või sidejärjekorra osuti.

Teave protsessi juhtimisplokis:

Protsessi juhtimisplokis sisaldab see peamiselt järgmist teavet:

(1) Protsessi identifikaator: protsessi identifikaatorit kasutatakse protsessi kordumatuks tähistamiseks. Protsessil on tavaliselt kahte tüüpi identifikaatoreid: ① välised identifikaatorid. Et hõlbustada kasutaja protsessi juurdepääsu protsessile, tuleb igale protsessile määrata väline identifikaator. Selle pakub looja ja see koosneb tavaliselt tähtedest ja numbritest. Protsessi perekondliku suhte kirjeldamiseks tuleks määrata ka vanemprotsessi ID ja alamprotsessi ID. Lisaks saab seadistada kasutaja ID, mis näitab kasutajat, kellele protsess kuulub. ②Sisemine identifikaator. Et hõlbustada protsessi kasutamist süsteemis, määratakse OS-is protsessile sisemine identifikaator ehk igale protsessile antakse kordumatu digitaalne identifikaator, milleks on tavaliselt protsessi seerianumber.

(2) Protsessori olek: protsessori olekuteavet nimetatakse ka protsessori kontekstiks, mis koosneb peamiselt protsessori erinevate registrite sisust. Need registrid hõlmavad järgmist: ①Üldotstarbelised registrid, tuntud ka kui kasutajale nähtavad registrid, millele pääsevad ligi kasutajaprogrammid ja mida kasutatakse teabe ajutiseks salvestamiseks. Enamikus protsessorites on 8–32 üldotstarbelist registrit. RISC-struktuuriga arvutites Neid võib olla rohkem kui 100; ②käskude loendur, mis salvestab järgmise käsu aadressi, millele pääseb juurde; ③Programmi olekusõna PSW, mis sisaldab olekuteavet, nagu tingimuskood, täitmisrežiim, katkestusmaski lipp jne; ④Kasutaja pinu osuti, see tähendab, et igal kasutajaprotsessil on üks või mitu seotud süsteemipinu, mida kasutatakse protsessi- ja süsteemikõne parameetrite ja kõneaadresside salvestamiseks. Viru osuti osutab virna ülaosale. Kui töötleja on täitmisolekus, paigutatakse suur osa töödeldavast teabest registrisse. Protsessi ümberlülitamisel tuleb protsessori olekuteave salvestada vastavale PCB-le, et protsessi uuesti käivitamisel saaks täitmist katkestuspunktist jätkata.

(3) Protsessi ajastamise teave: kui OS planeerib, on vaja mõista protsessi olekut ja teavet protsesside ajastamise kohta. See teave sisaldab järgmist: ① Protsessi olek, mis näitab protsessi hetkeolekut, mida kasutatakse protsesside ajastamise ja vahetamise aluseks. ②Protsessi prioriteet on täisarv, mida kasutatakse protsessorit kasutava protsessi prioriteetsuse taseme kirjeldamiseks. Kõrgema prioriteediga protsess peaks kõigepealt saama protsessori; ③Muu protsesside ajastamise jaoks vajalik teave, mis on seotud kasutatava protsesside ajastamise algoritmiga Näiteks selle aja summa, mille jooksul protsess on oodanud CPU-d, selle aja summa, mille jooksul protsess on käivitunud jne; ④Sündmus viitab sündmusele, mis ootab protsessi üleminekut täitmisolekust blokeerimisolekusse, st blokeerimise põhjust.

(4) Protsessi juhtimise teave: viitab protsessi juhtimiseks vajalikule teabele, mis sisaldab: ①programmi ja andmete aadressi, programmi mälu või välismälu aadressi ja andmeid protsessiolemis, et seda saaks ajastada käivitada, kui protsess on käivitatud. , Programmi ja andmed leiate PCB-lt; ②Protsesside sünkroonimise ja suhtluse mehhanism, mis on sünkroonimiseks ja protsessisuhtluseks vajalik mehhanism, näiteks sõnumijärjekorra osutid, semaforid jne, võib need täielikult või osaliselt paigutada PCB-le; ③Ressursiloend, milles on loetletud kõik protsessi jaoks selle töö ajal vajaminevad ressursid (v.a CPU) ning seal on ka protsessile eraldatud ressursside loend; ④Lingi osuti, mis annab protsessile ( PCB) Järjekorras järgmise protsessi PCB esimese aadressi.