Sådan fungerer operativsystemer

alle de oplysninger, der er nødvendige for at holde styr på en proces, når der skiftes, opbevares i en datapakke kaldet en proceskontrolblok. Processtyringsblokken indeholder typisk:

  • et ID-nummer, der identificerer processen
  • peger på placeringerne i programmet og dets data, hvor behandlingen sidst fandt sted
  • registrer indhold
  • stater med forskellige flag og skifter
  • peger på de øvre og nedre grænser for den hukommelse, der kræves til processen
  • en liste over filer, der åbnes af processen
  • processens prioritet
  • status for alle I/Li>
  • o enheder, der kræves af processen

hver proces har en status, der er knyttet til den. Mange processer bruger ingen CPU-tid, før de får en slags input. For eksempel kan en proces vente på et tastetryk fra brugeren. Mens det venter på tastetryk, bruger det ingen CPU-tid. Mens det venter, er det”suspenderet”. Når tastetrykket ankommer, ændrer operativsystemet sin status. Når status for processen ændres, fra ventende til aktiv, for eksempel, eller fra suspenderet til at køre, skal oplysningerne i proceskontrolblokken bruges som dataene i ethvert andet program til direkte udførelse af den opgaveskiftende del af operativsystemet.

annonce

denne procesbytte sker uden direkte brugerinterferens, og hver proces får nok CPU-cyklusser til at udføre sin opgave på en rimelig tid. Problemer kan begynde, hvis brugeren forsøger at få for mange processer til at fungere på samme tid. Operativsystemet i sig selv kræver nogle CPU-cyklusser for at udføre lagring og bytte af alle registre, køer og stakke i applikationsprocesserne. Hvis der startes nok processer, og hvis operativsystemet ikke er omhyggeligt designet, kan systemet begynde at bruge langt de fleste af dets tilgængelige CPU-cyklusser til at skifte mellem processer i stedet for at køre processer. Når dette sker, kaldes det thrashing, og det kræver normalt en slags direkte brugerintervention for at stoppe processer og bringe orden tilbage til systemet.

dette indhold er ikke kompatibelt på denne enhed.

dette indhold er ikke kompatibelt på denne enhed.

en måde, hvorpå operativsystemdesignere reducerer risikoen for thrashing, er ved at reducere behovet for nye processer til at udføre forskellige opgaver. Nogle operativsystemer giver mulighed for en “process-lite”, kaldet en tråd, der kan håndtere alt det CPU-intensive arbejde i en normal proces, men generelt ikke beskæftiger sig med de forskellige typer I/O og etablerer ikke strukturer, der kræver den omfattende processtyringsblok i en regelmæssig proces. En proces kan starte mange tråde eller andre processer, men en tråd kan ikke starte en proces.

indtil videre har al den planlægning, vi har diskuteret, vedrørt en enkelt CPU. I et system med to eller flere CPU ‘er skal operativsystemet opdele arbejdsbyrden mellem CPU’ erne og forsøge at afbalancere kravene fra de krævede processer med de tilgængelige cyklusser på de forskellige CPU ‘ er. Asymmetriske operativsystemer bruger en CPU til deres egne behov og deler applikationsprocesser mellem de resterende CPU ‘ er. Symmetriske operativsystemer deler sig mellem de forskellige CPU ‘ er og afbalancerer efterspørgslen versus CPU-tilgængelighed, selv når operativsystemet selv er alt, hvad der kører.

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.