Beskriv kort innebörden och funktionen av PCB

För att varje program som deltar i den samtidiga exekveringen, inklusive data kan köras oberoende, måste en speciell datastruktur konfigureras för det i operativsystemet, kallat processkontrollblocket (PCB, Processkontrollblock). Det finns en en-till-en-överensstämmelse mellan processen och PCB, och användarprocessen kan inte ändras.

ipcb

Rollen för processkontrollblockets PCB:

För att underlätta systembeskrivningen och hanteringen av driften av processen, definieras en datastruktur specifikt för varje process i kärnan av OS-Process Control Block PCB (Process Control Block). Som en del av processenheten registrerar PCB all information som behövs av operativsystemet för att beskriva den aktuella situationen för processen och hantera processens drift. Det är den viktigaste registrerade datastrukturen i operativsystemet. PCB:s roll är att få ett program (inklusive data) som inte kan köras självständigt i en multiprogrammiljö att bli en basenhet som kan köras oberoende, en process som kan exekveras samtidigt med andra processer.

(2) PCB kan realisera intermittent driftläge. I en miljö med flera program körs programmet i ett stopp-och-gå intermittent driftläge. När en process är avstängd på grund av blockering måste den behålla CPU-platsinformationen när den körs. Efter att ha haft PCB kan systemet spara CPU-platsinformationen i PCB för den avbrutna processen för användning när CPU-platsen återställs när processen schemaläggs för exekvering igen. Därför kan det återigen göras klart att i en miljö med flera program, som ett statiskt program i traditionell mening, eftersom det inte har resurser att skydda eller rädda sin egen driftplats, kan det inte garantera reproducerbarheten av dess driftsresultat. och därmed förlora sin funktion. betydelse.

(3) PCB tillhandahåller information som behövs för processhantering. När schemaläggaren schemalägger en process att köras, kan den endast hitta motsvarande program och data enligt startadresspekaren för programmet och data inspelad i processens PCB i minnet eller extern lagring; under körningsprocessen, när filen behöver nås När filerna eller I/O-enheterna i systemet måste de också förlita sig på informationen i PCB. Dessutom, enligt resurslistan i PCB, kan alla resurser som krävs för processen läras in. Det kan ses att under hela livscykeln för en process styr och hanterar operativsystemet alltid processen enligt PCB.

(4) PCB tillhandahåller information som behövs för processschemaläggning. Endast processer i redo-tillståndet kan schemaläggas för exekvering, och PCB ger information om vilket tillstånd processen är i. Om processen är i redo-tillståndet infogar systemet den i process-ready-kön och väntar på att schemaläggaren ska schemalägga ; dessutom är det ofta nödvändigt att känna till annan information om processen vid schemaläggning. Till exempel, i algoritmen för prioriteringsplanering måste du känna till processen Prioritet. I vissa mer rättvisa schemaläggningsalgoritmer behöver du också känna till processens väntetid och de händelser som har utförts.

(5) PCB realiserar synkronisering och kommunikation med andra processer. Processsynkroniseringsmekanismen används för att realisera den samordnade driften av olika processer. När semaformekanismen antas, kräver den att en motsvarande semafor för synkronisering ställs in i varje process. PCB:n har också en områdes- eller kommunikationsköpekare för processkommunikation.

Information i processkontrollblocket:

I processkontrollblocket innehåller det huvudsakligen följande information:

(1) Processidentifierare: Processidentifieraren används för att unikt indikera en process. En process har vanligtvis två typer av identifierare: ① externa identifierare. För att underlätta för användarprocessen att komma åt processen måste en extern identifierare ställas in för varje process. Den tillhandahålls av skaparen och består vanligtvis av bokstäver och siffror. För att beskriva processens familjeförhållande bör även det överordnade process-ID och det underordnade process-ID ställas in. Dessutom kan ett användar-ID ställas in för att indikera användaren som äger processen. ②Intern identifierare. För att underlätta användningen av processen av systemet sätts en intern identifierare för processen i OS, det vill säga att varje process ges en unik digital identifierare, som vanligtvis är serienumret för en process.

(2) Processortillstånd: Processortillståndsinformationen kallas också processorns sammanhang, som huvudsakligen består av innehållet i olika register hos processorn. Dessa register inkluderar: ①Allmänna register, även kända som användarsynliga register, som är tillgängliga för användarprogram och används för att tillfälligt lagra information. I de flesta processorer finns det 8 till 32 allmänna register. I RISC-strukturerade datorer kan det finnas fler än 100; ②Instruktionsräknare, som lagrar adressen till nästa instruktion som ska nås; ③Programstatusord PSW, som innehåller statusinformation, såsom tillståndskod, exekveringsläge, avbrottsmaskflagga, etc.; ④Användarstackpekare, Det betyder att varje användarprocess har en eller flera relaterade systemstackar, som används för att lagra process- och systemanropsparametrar och anropsadresser. Stapelpekaren pekar mot toppen av stapeln. När processorn är i exekveringstillstånd placeras mycket av informationen som behandlas i registret. När processen växlas måste processortillståndsinformationen sparas i motsvarande PCB, så att exekveringen kan fortsätta från brytpunkten när processen återexekveras.

(3) Processschemaläggningsinformation: När operativsystemet schemalägger är det nödvändigt att förstå processens status och information om processschemaläggning. Denna information inkluderar: ① Processstatus, som indikerar den aktuella statusen för processen, som används som grund för processschemaläggning och utbyte. ②Processprioritet är ett heltal som används för att beskriva prioritetsnivån för processen som använder processorn. Processen med högre prioritet bör få processorn först; ③Annan information som krävs för processschemaläggning, som är relaterad till processschemaläggningsalgoritmen som används. Till exempel summan av tiden som processen har väntat på CPU:n, summan av tiden som processen har exekveras, och så vidare; ④Händelse hänvisar till händelsen som väntar på att processen ska ändras från exekveringsläge till blockeringstillstånd, det vill säga orsaken till blockeringen.

(4) Processkontrollinformation: Avser den information som krävs för processkontroll, vilket inkluderar: ①Programmets adress och data, programmets minne eller externa minnesadress och data i processenheten, så att den kan schemaläggas till exekveras när processen exekveras. , Programmet och data kan hittas från PCB; ②Processsynkronisering och kommunikationsmekanism, som är en nödvändig mekanism för synkronisering och processkommunikation, såsom meddelandeköpekare, semaforer, etc., de kan placeras i PCB:n helt eller delvis; ③Resurslista, där alla resurser (förutom CPU) som krävs av processen under dess drift listas, och det finns också en lista över resurser som allokerats till processen; ④Länkpekare, som ger processen ( PCB) Den första adressen till PCB:n för nästa process i kön.