Beskryf kortliks die betekenis en funksie van PCB

Om elke program wat aan die gelyktydige uitvoering deelneem, insluitend data onafhanklik te laat loop, moet ‘n spesiale datastruktuur daarvoor in die bedryfstelsel gekonfigureer word, genoem die prosesbeheerblok (PCB, Prosesbeheerblok). Daar is ‘n een-tot-een korrespondensie tussen die proses en die PCB, en die gebruikerproses kan nie gewysig word nie.

ipcb

Die rol van die prosesbeheerblok PCB:

Ten einde die stelselbeskrywing en bestuur van die werking van die proses te vergemaklik, word ‘n datastruktuur spesifiek vir elke proses in die kern van die OS-Prosesbeheerblok PCB (Prosesbeheerblok) gedefinieer. As deel van die proses-entiteit teken PCB al die inligting aan wat die bedryfstelsel benodig om die huidige situasie van die proses te beskryf en die werking van die proses te bestuur. Dit is die belangrikste aangetekende datastruktuur in die bedryfstelsel. Die rol van PCB is om ‘n program (insluitend data) wat nie onafhanklik in ‘n multi-program omgewing kan loop nie, ‘n basiese eenheid te maak wat onafhanklik kan loop, ‘n proses wat gelyktydig met ander prosesse uitgevoer kan word.

(2) PCB kan intermitterende werkingsmodus realiseer. In ‘n multi-program omgewing, loop die program in ‘n stop-en-gaan intermitterende werkingsmodus. Wanneer ‘n proses opgeskort word as gevolg van blokkering, moet dit die SVE-werfinligting behou wanneer dit aan die gang is. Nadat die PCB het, kan die stelsel die SVE-werfinligting in die PCB van die onderbroke proses stoor vir gebruik wanneer die SVE-werf herstel word wanneer die proses weer geskeduleer is vir uitvoering. Daarom kan dit weer duidelik gemaak word dat in ‘n multi-program omgewing, as ‘n statiese program in die tradisionele sin, omdat dit nie die middele het om sy eie bedryfsterrein te beskerm of te red nie, dit nie die reproduceerbaarheid van sy bedryfsresultate kan waarborg nie. , dus sy werking verloor. betekenis.

(3) PCB verskaf inligting wat nodig is vir prosesbestuur. Wanneer die skeduleerder ‘n proses skeduleer om te loop, kan dit slegs die ooreenstemmende program en data vind volgens die beginadreswyser van die program en data wat in die PCB van die proses in die geheue of eksterne berging aangeteken is; tydens die proses van hardloop, wanneer toegang tot die lêer verkry moet word. Wanneer die lêers of I/O-toestelle in die stelsel is, moet hulle ook staatmaak op die inligting in die PCB. Daarbenewens, volgens die hulpbronlys in die PCB, kan al die hulpbronne wat vir die proses benodig word, aangeleer word. Dit kan gesien word dat gedurende die hele lewensiklus van ‘n proses, die bedryfstelsel altyd die proses volgens die PCB beheer en bestuur.

(4) PCB verskaf inligting wat nodig is vir prosesskedulering. Slegs prosesse in die gereed toestand kan geskeduleer word vir uitvoering, en die PCB verskaf inligting oor in watter toestand die proses is. As die proses in die gereed toestand is, plaas die stelsel dit in die proses gereed tou en wag vir die skeduleerder om te skeduleer ; daarbenewens is dit dikwels nodig om ander inligting oor die proses te weet wanneer jy skeduleer. Byvoorbeeld, in die prioriteitskeduleringsalgoritme moet jy die proses Prioriteit ken. In sommige regverdiger skeduleringsalgoritmes moet jy ook weet wat die wagtyd van die proses is en die gebeure wat uitgevoer is.

(5) PCB realiseer sinchronisasie en kommunikasie met ander prosesse. Die prosessinchronisasiemeganisme word gebruik om die gekoördineerde werking van verskeie prosesse te realiseer. Wanneer die semafoormeganisme aangeneem word, vereis dit dat ‘n ooreenstemmende semafoor vir sinchronisasie in elke proses ingestel word. Die PCB het ook ‘n area of ​​kommunikasie touwyser vir proseskommunikasie.

Inligting in die prosesbeheerblok:

In die prosesbeheerblok bevat dit hoofsaaklik die volgende inligting:

(1) Prosesidentifiseerder: Die prosesidentifiseerder word gebruik om ‘n proses uniek aan te dui. ‘n Proses het gewoonlik twee soorte identifiseerders: ① eksterne identifiseerders. Ten einde die gebruikerproses te vergemaklik om toegang tot die proses te verkry, moet ‘n eksterne identifiseerder vir elke proses gestel word. Dit word deur die skepper verskaf en bestaan ​​gewoonlik uit letters en syfers. Om die gesinsverhouding van die proses te beskryf, moet die ouerproses-ID en die kinderproses-ID ook gestel word. Daarbenewens kan ‘n gebruikers-ID ingestel word om die gebruiker aan te dui wat die proses besit. ②Interne identifiseerder. Ten einde die gebruik van die proses deur die stelsel te vergemaklik, word ‘n interne identifiseerder vir die proses in die OS gestel, dit wil sê, elke proses kry ‘n unieke digitale identifiseerder, wat gewoonlik die reeksnommer van ‘n proses is.

(2) Verwerkertoestand: Die verwerkerstatusinligting word ook die konteks van die verwerker genoem, wat hoofsaaklik saamgestel is uit die inhoud van verskeie registers van die verwerker. Hierdie registers sluit in: ①Algemene-doelregisters, ook bekend as gebruikersigbare registers, wat toeganklik is deur gebruikersprogramme en wat gebruik word om inligting tydelik te stoor. In die meeste verwerkers is daar 8 tot 32 algemene doelregisters. In RISC-gestruktureerde rekenaars kan daar meer as 100 wees; ②Instruksieteller, wat die adres stoor van die volgende instruksie wat verkry moet word; ③Programstatuswoord PSW, wat statusinligting bevat, soos toestandkode, uitvoeringsmodus, onderbrekingsmaskervlag, ens.; ④Gebruikerstapelwyser, dit beteken dat elke gebruikerproses een of meer verwante stelselstapels het, wat gebruik word om proses- en stelseloproepparameters en oproepadresse te stoor. Die stapelwyser wys na die bokant van die stapel. Wanneer die verwerker in die uitvoeringstoestand is, word baie van die inligting wat verwerk word in die register geplaas. Wanneer die proses omgeskakel word, moet die verwerkerstatusinligting in die ooreenstemmende PCB gestoor word, sodat die uitvoering vanaf die breekpunt kan voortgaan wanneer die proses weer uitgevoer word.

(3) Prosesskeduleringinligting: Wanneer die OS besig is om te skeduleer, is dit nodig om die status van die proses en inligting oor prosesskedulering te verstaan. Hierdie inligting sluit in: ① Prosesstatus, wat die huidige status van die proses aandui, wat gebruik word as die basis vir prosesskedulering en omruiling ②Prosesprioriteit is ‘n heelgetal wat gebruik word om die prioriteitsvlak van die proses met behulp van die verwerker te beskryf. Die proses met hoër prioriteit behoort die verwerker eerste te kry; ③Ander inligting benodig vir prosesskedulering, wat verband hou met die prosesskeduleringsalgoritme wat gebruik word Byvoorbeeld, die som van die tyd wat die proses vir die SVE gewag het, die som van die tyd wat die proses uitgevoer is, ensovoorts; ④Gebeurtenis verwys na die gebeurtenis wat wag vir die proses om van die uitvoeringstoestand na die blokkeertoestand te verander, dit wil sê die oorsaak van die blokkering.

(4) Prosesbeheer-inligting: Verwys na die inligting wat nodig is vir prosesbeheer, wat insluit: ①Die adres van die program en data, die geheue of eksterne geheue-adres van die program en data in die proses-entiteit, sodat dit geskeduleer kan word om uitvoer wanneer die proses uitgevoer word. , Die program en data kan vanaf die PCB gevind word; ②Prosessinchronisasie- en kommunikasiemeganisme, wat ‘n noodsaaklike meganisme vir sinchronisasie en proseskommunikasie is, soos boodskapwagwysers, semafore, ens., hulle kan in die geheel of gedeeltelik in die PCB geplaas word; ③ Hulpbronlys, waarin al die hulpbronne (behalwe SVE) wat deur die proses benodig word tydens die werking daarvan gelys word, en daar is ook ‘n lys van hulpbronne wat aan die proses toegewys is; ④ Skakelwyser, wat die proses (PCB) Die eerste adres van die PCB van die volgende proses in die tou gee.