Beskriv kort betydningen og funktionen af ​​PCB

For at få hvert program, der deltager i den samtidige udførelse, inklusive data, til at kunne køre uafhængigt, skal der konfigureres en speciel datastruktur til det i operativsystemet, kaldet proceskontrolblokken (PCB, Proceskontrolblok). Der er en en-til-en overensstemmelse mellem processen og printkortet, og brugerprocessen kan ikke ændres.

ipcb

Rollen af ​​proceskontrolblokkens PCB:

For at lette systembeskrivelsen og styringen af ​​driften af ​​processen er der specifikt defineret en datastruktur for hver proces i kernen af ​​OS-Process Control Block PCB (Process Control Block). Som en del af procesenheden registrerer PCB al den information, som operativsystemet behøver for at beskrive den aktuelle situation for processen og styre processens drift. Det er den vigtigste registrerede datastruktur i operativsystemet. PCB’s rolle er at få et program (inklusive data), der ikke kan køre uafhængigt i et multiprogrammiljø, til at blive en grundlæggende enhed, der kan køre uafhængigt, en proces, der kan udføres sideløbende med andre processer.

(2) PCB kan realisere intermitterende driftstilstand. I et multi-program miljø kører programmet i en stop-and-go intermitterende driftstilstand. Når en proces er suspenderet på grund af blokering, skal den beholde oplysningerne om CPU-stedet, når den kører. Efter at have haft PCB’en, kan systemet gemme CPU-stedinformationen i PCB’et for den afbrudte proces til brug, når CPU-stedet gendannes, når processen er planlagt til udførelse igen. Derfor kan det igen gøres klart, at i et multiprogrammiljø, som et statisk program i traditionel forstand, fordi det ikke har midlerne til at beskytte eller redde sit eget driftssted, kan det ikke garantere reproducerbarheden af ​​dets driftsresultater og dermed miste sin funktion. betydning.

(3) PCB giver den nødvendige information til processtyring. Når planlæggeren planlægger en proces at køre, kan den kun finde det tilsvarende program og data i henhold til startadressemarkøren for programmet og data, der er registreret i processens PCB i hukommelsen eller eksternt lager; under kørselsprocessen, når filen skal tilgås. Når filerne eller I/O-enhederne i systemet, skal de også stole på informationen i PCB’en. Derudover kan alle de ressourcer, der kræves til processen, ifølge ressourcelisten i PCB’et læres. Det kan ses, at under hele livscyklussen af ​​en proces, styrer og styrer operativsystemet altid processen i henhold til PCB’en.

(4) PCB giver den nødvendige information til procesplanlægning. Kun processer i klar-tilstand kan planlægges til udførelse, og PCB’et giver information om, hvilken tilstand processen er i. Hvis processen er i klar-tilstand, indsætter systemet den i procesklar-køen og venter på, at planlæggeren planlægger ; derudover er det ofte nødvendigt at kende andre oplysninger om processen ved planlægning. For eksempel skal du i algoritmen til prioriteringsplanlægning kende processen Prioritet. I nogle mere retfærdige planlægningsalgoritmer skal du også kende processens ventetid og de hændelser, der er blevet udført.

(5) PCB realiserer synkronisering og kommunikation med andre processer. Processynkroniseringsmekanismen bruges til at realisere den koordinerede drift af forskellige processer. Når semaformekanismen er vedtaget, kræver det, at der indstilles en tilsvarende semafor til synkronisering i hver proces. PCB’et har også en område- eller kommunikationskøpointer til proceskommunikation.

Information i proceskontrolblokken:

I proceskontrolblokken indeholder den hovedsageligt følgende information:

(1) Procesidentifikator: Procesidentifikationen bruges til entydigt at angive en proces. En proces har normalt to slags identifikatorer: ① eksterne identifikatorer. For at lette brugerprocessen for at få adgang til processen, skal der indstilles en ekstern identifikator for hver proces. Det leveres af skaberen og består normalt af bogstaver og tal. For at beskrive processens familieforhold, skal det overordnede proces-id og det underordnede proces-id også angives. Derudover kan et bruger-id indstilles til at angive den bruger, der ejer processen. ②Intern identifikator. For at lette systemets brug af processen sættes en intern identifikator for processen i OS, det vil sige, at hver proces får en unik digital identifikator, som normalt er serienummeret på en proces.

(2) Processortilstand: Behandlertilstandsinformationen kaldes også processorens kontekst, som hovedsageligt er sammensat af indholdet af forskellige registre hos processoren. Disse registre omfatter: ①Generelle registre, også kendt som brugersynlige registre, som er tilgængelige for brugerprogrammer og bruges til midlertidigt at gemme information. I de fleste processorer er der 8 til 32 registre til generelle formål. I RISC-strukturerede computere kan der være mere end 100; ②Instruktionstæller, som gemmer adressen på den næste instruktion, der skal tilgås; ③Programstatusord PSW, som indeholder statusinformation, såsom tilstandskode, udførelsestilstand, afbrydelsesmaskeflag osv.; ④Brugerstakmarkør, Det betyder, at hver brugerproces har en eller flere relaterede systemstakke, som bruges til at gemme proces- og systemopkaldsparametre og opkaldsadresser. Stakmarkøren peger mod toppen af ​​stakken. Når databehandleren er i eksekveringstilstand, placeres meget af de oplysninger, der behandles, i registeret. Når processen skiftes, skal processortilstandsinformationen gemmes i det tilsvarende PCB, således at eksekveringen kan fortsætte fra brudpunktet, når processen genudføres.

(3) Procesplanlægningsoplysninger: Når OS’et planlægger, er det nødvendigt at forstå processens status og information om procesplanlægning. Disse oplysninger omfatter: ① Processtatus, der angiver den aktuelle status for processen, som bruges som grundlag for procesplanlægning og ombytning. ②Procesprioritet er et heltal, der bruges til at beskrive prioritetsniveauet for processen ved hjælp af processoren. Processen med højere prioritet bør få processoren først; ③Anden information, der kræves til procesplanlægning, som er relateret til den anvendte procesplanlægningsalgoritme. For eksempel summen af ​​den tid, processen har ventet på CPU’en, summen af ​​den tid, processen er blevet udført, og så videre; ④Begivenhed henviser til den hændelse, der venter på, at processen ændrer sig fra udførelsestilstanden til blokeringstilstanden, det vil sige årsagen til blokeringen.

(4) Proceskontrolinformation: Refererer til den information, der er nødvendig for processtyring, som omfatter: ①Programmets og dataens adresse, programmets hukommelse eller eksterne hukommelsesadresse og data i procesenheden, så den kan planlægges til udføres, når processen udføres. , Programmet og data kan findes fra PCB’en; ②Processynkroniserings- og kommunikationsmekanisme, som er en nødvendig mekanisme til synkronisering og proceskommunikation, såsom meddelelseskøpointere, semaforer osv., de kan placeres i PCB’en helt eller delvist; ③Resourceliste, hvor alle ressourcer (undtagen CPU), der kræves af processen under dens drift, er opført, og der er også en liste over ressourcer allokeret til processen; ④Link pointer, som giver processen ( PCB) Den første adresse på PCB’en for den næste proces i køen.