All informasjon som trengs for å holde oversikt over en prosess når du bytter, holdes i en datapakke som kalles en prosesskontrollblokk. Prosesskontrollblokken inneholder vanligvis:
- ET ID-nummer som identifiserer prosessen
- Pekere til stedene i programmet og dets data der behandlingen sist skjedde
- Registrer innhold
- Tilstander av ulike flagg og brytere
- Pekere til de øvre og nedre grensene av minnet som kreves for prosessen
- en liste over filer åpnet av prosessen
- prioriteten av prosessen
- statusen til alle i/o enheter som trengs av prosessen
hver prosess har en Status Knyttet til den. Mange prosesser bruker ingen CPU-tid før de får en slags inngang. En prosess kan for eksempel vente på et tastetrykk fra brukeren. Mens det venter på tastetrykket, bruker DET ingen CPU-tid. Mens det venter, er det «suspendert». NÅR tastetrykket kommer, ENDRER OPERATIVSYSTEMET sin status. Når statusen for prosessen endres, fra ventende til aktiv, for eksempel, eller fra suspendert til kjøring, må informasjonen i prosesskontrollblokken brukes på samme måte som dataene i et hvilket som helst annet program for direkte utførelse av oppgaveskiftdelen av operativsystemet.Denne prosessen bytte skjer uten direkte brukerinterferens, og hver prosess får NOK CPU sykluser for å utføre sin oppgave i en rimelig tid. Feil kan begynne hvis brukeren prøver å ha for mange prosesser som fungerer samtidig. Operativsystemet selv krever NOEN CPU-sykluser for å utføre lagring og bytte av alle registre, køer og stabler av applikasjonsprosessene. Hvis nok prosesser er startet, og hvis operativsystemet ikke er nøye utformet, kan systemet begynne å bruke det store flertallet av SINE TILGJENGELIGE CPU-sykluser for å bytte mellom prosesser i stedet for å kjøre prosesser. Når dette skjer, kalles det thrashing, og det krever vanligvis en slags direkte brukerintervensjon for å stoppe prosesser og bringe orden tilbake til systemet.
dette innholdet er ikke kompatibelt på denne enheten.
dette innholdet er ikke kompatibelt på denne enheten.
en måte at operativsystemdesignere reduserer sjansen for juling, er å redusere behovet for nye prosesser for å utføre ulike oppgaver. Noen operativsystemer tillater en «process-lite», kalt en tråd, som kan håndtere ALT CPU-intensivt arbeid i en normal prosess, men generelt omhandler ikke de ulike typer I / O og etablerer ikke strukturer som krever den omfattende prosesskontrollblokken av en vanlig prosess. En prosess kan starte mange tråder eller andre prosesser, men en tråd kan ikke starte en prosess.
Så langt har all planlegging vi har diskutert, handlet om en ENKELT CPU. I et system med to Eller flere Cpuer må operativsystemet dele arbeidsbelastningen mellom Cpuene, og forsøke å balansere kravene til de nødvendige prosessene med de tilgjengelige syklusene på de forskjellige Cpuene. Asymmetriske operativsystemer bruker EN CPU for sine egne behov og deler applikasjonsprosesser mellom de resterende Cpuene. Symmetriske operativsystemer deler seg mellom De ulike Cpuene, og balanserer etterspørsel mot CPU-tilgjengelighet selv når operativsystemet selv er alt som kjører.