Beskriv kort betydningen og funksjonen til PCB

For at hvert program som deltar i den samtidige kjøringen, inkludert data kan kjøres uavhengig, må en spesiell datastruktur konfigureres for det i operativsystemet, kalt prosesskontrollblokken (PCB, Prosesskontrollblokk). Det er en en-til-en korrespondanse mellom prosessen og PCB, og brukerprosessen kan ikke endres.

ipcb

Rollen til prosesskontrollblokkens PCB:

For å lette systembeskrivelsen og styringen av driften av prosessen, er en datastruktur spesifikt definert for hver prosess i kjernen av OS-Process Control Block PCB (Process Control Block). Som en del av prosessenheten registrerer PCB all informasjon som trengs av operativsystemet for å beskrive den nåværende situasjonen i prosessen og administrere driften av prosessen. Det er den viktigste registrerte datastrukturen i operativsystemet. PCBs rolle er å gjøre et program (inkludert data) som ikke kan kjøre uavhengig i et multiprogrammiljø, til en grunnleggende enhet som kan kjøres uavhengig, en prosess som kan kjøres samtidig med andre prosesser.

(2) PCB kan realisere intermitterende driftsmodus. I et flerprogrammiljø kjører programmet i en stopp-og-gå-intermitterende driftsmodus. Når en prosess er suspendert på grunn av blokkering, må den beholde informasjonen om CPU-nettstedet når den kjører. Etter å ha hatt PCB-en, kan systemet lagre CPU-stedinformasjonen i PCB-en til den avbrutte prosessen for bruk når CPU-stedet gjenopprettes når prosessen er planlagt for utførelse igjen. Derfor kan det gjøres klart igjen at i et multiprogrammiljø, som et statisk program i tradisjonell forstand, fordi det ikke har midler til å beskytte eller redde sitt eget driftssted, kan det ikke garantere reproduserbarheten til driftsresultatene. , og mister dermed driften. betydning.

(3) PCB gir informasjon som trengs for prosessstyring. Når planleggeren planlegger at en prosess skal kjøres, kan den bare finne det tilsvarende programmet og dataene i henhold til startadressepekeren til programmet og data som er registrert på PCB-en til prosessen i minnet eller eksternt lager; under prosessen med å kjøre, når filen må åpnes Når filene eller I/O-enhetene i systemet, må de også stole på informasjonen i PCB. I tillegg, i henhold til ressurslisten i PCB, kan alle ressursene som kreves for prosessen læres. Det kan sees at i løpet av hele livssyklusen til en prosess, styrer og styrer operativsystemet alltid prosessen i henhold til PCB.

(4) PCB gir informasjon som trengs for prosessplanlegging. Bare prosesser i klar-tilstand kan planlegges for utførelse, og PCB gir informasjon om hvilken tilstand prosessen er i. Hvis prosessen er i klar-tilstand, setter systemet den inn i prosessklar-køen og venter på at planleggeren skal planlegge ; i tillegg er det ofte nødvendig å vite annen informasjon om prosessen ved planlegging. For eksempel, i algoritmen for prioriteringsplanlegging, må du kjenne prosessen Prioritet. I noen mer rettferdige planleggingsalgoritmer må du også vite ventetiden til prosessen og hendelsene som har blitt utført.

(5) PCB realiserer synkronisering og kommunikasjon med andre prosesser. Prosesssynkroniseringsmekanismen brukes til å realisere koordinert drift av ulike prosesser. Når semaformekanismen tas i bruk, krever det at en tilsvarende semafor for synkronisering settes i hver prosess. PCB har også en område- eller kommunikasjonskøpeker for prosesskommunikasjon.

Informasjon i prosesskontrollblokken:

I prosesskontrollblokken inneholder den hovedsakelig følgende informasjon:

(1) Prosessidentifikator: Prosessidentifikatoren brukes til å indikere en prosess unikt. En prosess har vanligvis to typer identifikatorer: ① eksterne identifikatorer. For å lette brukerprosessen for å få tilgang til prosessen, må en ekstern identifikator settes for hver prosess. Den leveres av skaperen og består vanligvis av bokstaver og tall. For å beskrive familieforholdet til prosessen, bør den overordnede prosess-IDen og den underordnede prosess-IDen også angis. I tillegg kan en bruker-ID settes for å indikere brukeren som eier prosessen. ②Intern identifikator. For å lette bruken av prosessen av systemet, settes en intern identifikator for prosessen i OS, det vil si at hver prosess gis en unik digital identifikator, som vanligvis er serienummeret til en prosess.

(2) Prosessortilstand: Prosessortilstandsinformasjonen kalles også konteksten til prosessoren, som hovedsakelig er sammensatt av innholdet i ulike registre til prosessoren. Disse registrene inkluderer: ①Generelle registre, også kjent som brukersynlige registre, som er tilgjengelige for brukerprogrammer og brukes til å lagre informasjon midlertidig. I de fleste prosessorer er det 8 til 32 generelle registre. I RISC-strukturerte datamaskiner kan det være mer enn 100; ②Instruksjonsteller, som lagrer adressen til neste instruksjon som skal åpnes; ③Programstatusord PSW, som inneholder statusinformasjon, for eksempel tilstandskode, utførelsesmodus, avbruddsmaskeflagg, etc.; ④Brukerstabelpeker, Det betyr at hver brukerprosess har en eller flere relaterte systemstabler, som brukes til å lagre prosess- og systemanropsparametere og anropsadresser. Stabelpekeren peker til toppen av stabelen. Når prosessoren er i utførelsestilstand, blir mye av informasjonen som behandles plassert i registeret. Når prosessen byttes, må prosessortilstandsinformasjonen lagres i den tilsvarende PCB, slik at utførelsen kan fortsette fra bruddpunktet når prosessen utføres på nytt.

(3) Prosessplanleggingsinformasjon: Når operativsystemet planlegger, er det nødvendig å forstå statusen til prosessen og informasjon om prosessplanlegging. Denne informasjonen inkluderer: ① Prosessstatus, som indikerer gjeldende status for prosessen, som brukes som grunnlag for prosessplanlegging og bytte ②Prosessprioritet er et heltall som brukes til å beskrive prioritetsnivået til prosessen som bruker prosessoren. Prosessen med høyere prioritet bør få prosessoren først; ③Annen informasjon som kreves for prosessplanlegging, som er relatert til prosessplanleggingsalgoritmen som brukes. For eksempel summen av tiden prosessen har ventet på CPU, summen av tiden prosessen har blitt utført, og så videre; ④Hendelse refererer til hendelsen som venter på at prosessen skal endres fra utførelsestilstanden til blokkeringstilstanden, det vil si årsaken til blokkeringen.

(4) Prosesskontrollinformasjon: Refererer til informasjonen som er nødvendig for prosesskontroll, som inkluderer: ① Adressen til programmet og data, minnet eller eksternt minneadresse til programmet og data i prosessenheten, slik at det kan planlegges til utføre når prosessen er utført. , Programmet og data kan finnes fra PCB; ②Prosesssynkronisering og kommunikasjonsmekanisme, som er en nødvendig mekanisme for synkronisering og prosesskommunikasjon, slik som meldingskøpekere, semaforer, etc., de kan plasseres i PCB helt eller delvis; ③Ressursliste, der alle ressursene (unntatt CPU) som kreves av prosessen under driften er oppført, og det er også en liste over ressurser som er allokert til prosessen; ④Link-peker, som gir prosessen ( PCB) Den første adressen til PCB-en til neste prosess i køen.