Processkontrollblock

Ett processkontrollblock ( PCB ) är en datastruktur som används av datoroperativsystem för att lagra all information om en process . Det är också känt som en processbeskrivning. När en process skapas (initieras eller installeras) skapar operativsystemet ett motsvarande processkontrollblock.

Detta anger processtillståndet dvs ny, klar, kör, väntar eller avslutad.

Roll

PCB:s roll är central i processhantering : de nås och/eller modifieras av de flesta verktyg, särskilt de som är involverade i schemaläggning och resurshantering.

Strukturera

I multitasking -operativsystem lagrar PCB data som behövs för korrekt och effektiv processhantering. Även om detaljerna i dessa strukturer är systemberoende, faller vanliga element i tre huvudkategorier:

  • Processidentifiering
  • Processtillstånd
  • Processkontroll

Statustabeller finns för varje relevant enhet, som att beskriva minne, I/O-enheter, filer och processer.

Minnestabeller innehåller till exempel information om tilldelningen av huvud- och sekundärt (virtuellt) minne för varje process, behörighetsattribut för åtkomst av minnesområden som delas mellan olika processer, etc. I/O-tabeller kan ha poster som anger tillgängligheten för en enhet eller dess tilldelning till en process, status för I/O-operationer, placeringen av minnesbuffertar som används för dem, etc.

Processidentifieringsdata inkluderar en unik identifierare för processen (nästan undantagslöst ett heltal) och, i ett multianvändar-multitasking-system, data såsom identifierare för den överordnade processen, användaridentifierare, användargruppsidentifierare, etc. Process-id är särskilt relevant. eftersom det ofta används för att korsrefera tabellerna som definierats ovan, t.ex. för att visa vilken process som använder vilka I/O-enheter eller minnesområden.

Processstatusdata definierar statusen för en process när den är avstängd, vilket gör att operativsystemet kan starta om den senare. Detta inkluderar alltid innehållet i CPU-register för allmänna ändamål, CPU-processens statusord, stack- och rampekare, etc. Under kontextväxling stoppas den pågående processen och en annan process körs. Kärnan måste stoppa exekveringen av den pågående processen, kopiera ut värdena i hårdvaruregistren till sin PCB och uppdatera hårdvaruregistren med värdena från PCB:n för den nya processen.

Processkontrollinformation används av operativsystemet för att hantera själva processen. Detta inkluderar:

  • Processschemaläggningstillstånd – Processens tillstånd i termer av "klar", "avstängd", etc., och även annan schemaläggningsinformation, såsom prioritetsvärde, hur lång tid som förflutit sedan processen fick kontroll över CPU:n eller sedan den avbröts. Dessutom, i händelse av en avstängd process, måste händelseidentifieringsdata registreras för händelsen som processen väntar på;
  • Processstruktureringsinformation – processens underordnade id, eller id:n för andra processer relaterade till den nuvarande på något funktionellt sätt, som kan representeras som en kö, en ring eller andra datastrukturer;
  • Kommunikationsinformation mellan processer – flaggor, signaler och meddelanden associerade med kommunikationen mellan oberoende processer;
  • Processprivilegier – tillåten/otillåten åtkomst till systemresurser;
  • Processtillstånd – ny, klar, igång, väntar, död;
  • Process Number (PID) – unikt identifieringsnummer för varje process (även känt som Process ID );
  • Program Counter (PC) – en pekare till adressen till nästa instruktion som ska utföras för denna process;
  • CPU-register – registeruppsättning där processen måste lagras för körning för körning;
  • CPU-schemaläggningsinformation – informationsschemaläggning CPU-tid;
  • Minneshanteringsinformation – sidtabell, minnesgränser, segmenttabell;
  • Bokföringsinformation – mängd CPU som används för processexekvering, tidsgränser, exekverings-ID etc.;
  • I/O-statusinformation – lista över I/O-enheter som allokerats till processen.

Plats

PCB måste förvaras i ett minnesområde som är skyddat från normal processåtkomst. I vissa operativsystem placeras kretskortet längst ner i processstapeln .

Se även

Anteckningar