Beschrijf kort de betekenis en functie van PCB

Om ervoor te zorgen dat elk programma deelneemt aan de gelijktijdige uitvoering, inclusief data onafhankelijk kan draaien, moet er een speciale datastructuur voor worden geconfigureerd in het besturingssysteem, het procesbesturingsblok genoemd (PCB, Procesbesturingsblok). Er is een één-op-één overeenkomst tussen het proces en de PCB en het gebruikersproces kan niet worden gewijzigd.

ipcb

De rol van de printplaat van het procesbesturingsblok:

Om de systeembeschrijving en het beheer van de werking van het proces te vergemakkelijken, is in de kern van de OS-Process Control Block PCB (Process Control Block) specifiek voor elk proces een datastructuur gedefinieerd. Als onderdeel van de proceseenheid registreert PCB alle informatie die het besturingssysteem nodig heeft om de huidige situatie van het proces te beschrijven en de werking van het proces te beheren. Het is de belangrijkste vastgelegde gegevensstructuur in het besturingssysteem. De rol van PCB is om van een programma (inclusief data) dat niet zelfstandig kan draaien in een omgeving met meerdere programma’s een basiseenheid te maken die zelfstandig kan draaien, een proces dat gelijktijdig met andere processen kan worden uitgevoerd.

(2) PCB kan intermitterende bedrijfsmodus realiseren. In een omgeving met meerdere programma’s wordt het programma uitgevoerd in een stop-and-go intermitterende bedrijfsmodus. Wanneer een proces wordt onderbroken vanwege blokkering, moet het de CPU-site-informatie behouden wanneer het wordt uitgevoerd. Na het hebben van de PCB kan het systeem de CPU-site-informatie opslaan in de PCB van het onderbroken proces voor gebruik wanneer de CPU-site wordt hersteld wanneer het proces opnieuw moet worden uitgevoerd. Daarom kan nogmaals duidelijk worden gemaakt dat in een omgeving met meerdere programma’s, als een statisch programma in de traditionele zin, omdat het niet over de middelen beschikt om zijn eigen operationele site te beschermen of op te slaan, het de reproduceerbaarheid van zijn operationele resultaten niet kan garanderen , waardoor het zijn werking verliest. betekenis.

(3) PCB levert informatie die nodig is voor procesbeheer. Wanneer de planner een proces plant om uit te voeren, kan het alleen het bijbehorende programma en de gegevens vinden volgens de startadreswijzer van het programma en gegevens die zijn vastgelegd op de PCB van het proces in het geheugen of externe opslag; tijdens het uitvoeren, wanneer het bestand moet worden geopend. Wanneer de bestanden of I/O-apparaten in het systeem, moeten ze ook vertrouwen op de informatie op de PCB. Bovendien kunnen, volgens de bronnenlijst in de PCB, alle bronnen die nodig zijn voor het proces worden geleerd. Te zien is dat gedurende de gehele levenscyclus van een proces het besturingssysteem het proces altijd bestuurt en beheert volgens de PCB.

(4) PCB biedt informatie die nodig is voor procesplanning. Alleen processen in de gereed-status kunnen worden gepland voor uitvoering en de PCB geeft informatie over de staat waarin het proces zich bevindt. Als het proces in de gereed-status is, voegt het systeem het in de proces-klaar-wachtrij in en wacht tot de planner de planning heeft gepland. ; daarnaast is het vaak nodig om bij de planning andere informatie over het proces te weten. In het algoritme voor prioriteitsplanning moet u bijvoorbeeld de procesprioriteit kennen. In sommige eerlijkere planningsalgoritmen moet u ook de wachttijd van het proces en de uitgevoerde gebeurtenissen kennen.

(5) PCB realiseert synchronisatie en communicatie met andere processen. Het processynchronisatiemechanisme wordt gebruikt om de gecoördineerde werking van verschillende processen te realiseren. Wanneer het semafoormechanisme wordt toegepast, vereist het dat in elk proces een overeenkomstige semafoor voor synchronisatie wordt ingesteld. De printplaat heeft ook een gebieds- of communicatiewachtrijwijzer voor procescommunicatie.

Informatie in het procesbesturingsblok:

In het procesbesturingsblok bevat het voornamelijk de volgende informatie:

(1) Proces-ID: De proces-ID wordt gebruikt om een ​​proces op unieke wijze aan te duiden. Een proces heeft meestal twee soorten identifiers: ① externe identifiers. Om het gebruikersproces te vergemakkelijken om toegang te krijgen tot het proces, moet voor elk proces een externe identifier worden ingesteld. Het wordt geleverd door de maker en bestaat meestal uit letters en cijfers. Om de familierelatie van het proces te beschrijven, moeten ook de ouderproces-ID en de onderliggende proces-ID worden ingesteld. Daarnaast kan een gebruikers-ID worden ingesteld om de gebruiker aan te geven die eigenaar is van het proces. ②Interne identificatie. Om het gebruik van het proces door het systeem te vergemakkelijken, wordt een interne identificatiecode voor het proces in het besturingssysteem ingesteld, dat wil zeggen dat elk proces een unieke digitale identificatiecode krijgt, meestal het serienummer van een proces.

(2) Processorstatus: De processorstatusinformatie wordt ook wel de context van de processor genoemd, die voornamelijk bestaat uit de inhoud van verschillende registers van de processor. Deze registers omvatten: ①Registers voor algemene doeleinden, ook wel zichtbare registers voor gebruikers genoemd, die toegankelijk zijn voor gebruikersprogramma’s en worden gebruikt om tijdelijk informatie op te slaan. In de meeste processors zijn er 8 tot 32 registers voor algemene doeleinden. In RISC-gestructureerde computers Er kunnen er meer dan 100 zijn; ②Instructieteller, die het adres opslaat van de volgende instructie die moet worden geopend; ③Programmastatuswoord PSW, dat statusinformatie bevat, zoals conditiecode, uitvoeringsmodus, interruptmaskervlag, enz.; ④Gebruikersstackaanwijzer. Dit betekent dat elk gebruikersproces een of meerdere gerelateerde systeemstacks heeft, die worden gebruikt om proces- en systeemaanroepparameters en aanroepadressen op te slaan. De stapelwijzer wijst naar de bovenkant van de stapel. Wanneer de processor zich in de uitvoeringstoestand bevindt, wordt veel van de informatie die wordt verwerkt in het register geplaatst. Wanneer het proces wordt omgeschakeld, moet de statusinformatie van de processor worden opgeslagen in de bijbehorende PCB, zodat de uitvoering kan doorgaan vanaf het breekpunt wanneer het proces opnieuw wordt uitgevoerd.

(3) Procesplanningsinformatie: wanneer het besturingssysteem aan het plannen is, is het noodzakelijk om de status van het proces en informatie over procesplanning te begrijpen. Deze informatie omvat: ① Processtatus, die de huidige status van het proces aangeeft, dat wordt gebruikt als basis voor procesplanning en -wisseling ②Procesprioriteit is een geheel getal dat wordt gebruikt om het prioriteitsniveau van het proces met behulp van de processor te beschrijven. Het proces met een hogere prioriteit zou de processor als eerste moeten krijgen; ③Andere informatie die nodig is voor procesplanning, die verband houdt met het gebruikte procesplanningsalgoritme. Bijvoorbeeld de som van de tijd dat het proces op de CPU heeft gewacht, de som van de tijd dat het proces is uitgevoerd, enzovoort; ④Event verwijst naar de gebeurtenis die wacht op het proces om te veranderen van de uitvoeringsstatus naar de blokkeringsstatus, dat wil zeggen, de oorzaak van de blokkering.

(4) Procesbesturingsinformatie: verwijst naar de informatie die nodig is voor procesbesturing, waaronder: ①Het adres van het programma en de gegevens, het geheugen of het externe geheugenadres van het programma en gegevens in de procesentiteit, zodat het kan worden gepland om uitvoeren wanneer het proces wordt uitgevoerd. , Het programma en de gegevens zijn te vinden op de printplaat; ②Processynchronisatie- en communicatiemechanisme, dat een noodzakelijk mechanisme is voor synchronisatie en procescommunicatie, zoals berichtenwachtrijwijzers, semaforen, enz., Ze kunnen geheel of gedeeltelijk in de PCB worden geplaatst; ③Resourcelijst, waarin alle resources (behalve CPU) die nodig zijn voor het proces tijdens de werking worden vermeld, en er is ook een lijst met resources die aan het proces zijn toegewezen; ④Link pointer, die het proces (PCB) geeft Het eerste adres van de PCB van het volgende proces in de wachtrij.