Arbejdssæt

Et arbejdssæt er et  begreb inden for datalogi, der bestemmer mængden af ​​hukommelse, der kræves af en proces i et givet tidsinterval.


Med andre ord er arbejdssættet af en proces det sæt af sider i processens virtuelle adresserum, der i øjeblikket er i fysisk hukommelse [1] (tilknyttet processens adresserum).

Definition

Peter Denning (1968) definerer "arbejdsmængden af ​​informationi en proces på et tidspunktsom den mængde information, som en proces refererer til i et tidsinterval" [2] . Normalt tages en hukommelsesside som en informationsenhed . Det foreslås at tænke på arbejdssættet som et groft estimat af det sæt sider, som processen vil få adgang til i fremtiden (f.eks. inden for de næstetidsenheder), og, endnu vigtigere, som en indikator for, hvilke sider der skal opbevares i hovedhukommelsen for at processen kan køre hurtigere.

Begrundelse

For ydeevnen er det vigtigt, hvilke sider der forbliver i hovedhukommelsen (i modsætning til sider, der sides ud til hjælpehukommelsen): Hvis for mange sider ejes af en proces i hovedhukommelsen, reduceres antallet af processer, der kan køre samtidigt. Hvis der er for få processider tilbage i hovedhukommelsen, vil sidefejlfrekvensen stige i vejret, og antallet af aktive processer, der kører i øjeblikket, har en tendens til nul.

Ifølge arbejdssætmodellen kan en proces være i RAM , hvis og kun hvis sættet af alle dets aktuelt brugte sider (eller sættet af senest brugte sider, som ofte bruges som en tilnærmelse) kan være i RAM. Modellen fungerer efter "alt eller intet"-princippet, det vil sige, at hvis antallet af hukommelsessider, som processen kræves, vokser, og der ikke er ledig plads i RAM, så bliver processen fjernet fra hukommelsen helt for at frigøre hukommelse til brug af andre processer.

Ofte kan en tungt belastet computer have så mange processer i køen, at hvis de får lov til at køre i samme tidsudsnit , vil mængden af ​​hukommelse, de refererer til, overstige mængden af ​​RAM, hvilket resulterer i virtuel hukommelse .

Aflæsning af nogle processer fra hukommelsen medfører, at udførelsen af ​​alle processer, også midlertidigt aflæst fra hukommelsen, afsluttes meget tidligere, end når man forsøger at starte alle processer på samme tid. Procesudførelse afsluttes meget hurtigere end at køre hver proces én ad gangen, da samtidighed tillader én proces at køre, mens andre venter på at få adgang til harddisken eller andre globale ressourcer. Med andre ord forhindrer arbejdssæt-strategien virtuel hukommelse , mens den opretholder en høj grad af multiprogrammering . Således optimerer denne strategi CPU-udnyttelse og båndbredde.

Implementering

Den største vanskelighed ved at implementere den beskrevne model er at holde styr på arbejdssættet. For at gøre dette, fra hele strømmen af ​​procesadgange til hukommelsessider, spores de sidste adgange i et tidsinterval kaldet arbejdssætvinduet. Med hver hukommelsesadgang tilføjes et nyt link til siden i begyndelsen af ​​vinduet, og det ældste link er uden for det. En side anses for at tilhøre arbejdssættet, hvis der er et link til den i arbejdssætvinduet [3] .

For at undgå overhead forbundet med lagring af et stort antal hukommelsessidereferencer, implementeres arbejdssætberegning ofte ved at holde styr på, hvornår en hukommelsesside sidst blev tilgået. En side anses for at tilhøre arbejdssættet, hvis forskellen mellem det aktuelle klokkeslæt og det sidste adgangstidspunkt ikke overstiger størrelsen af ​​arbejdssætvinduet. Hvis denne forskel overstiger vinduesstørrelsen, kan siden blive slettet.

Arbejdssætstrategien er ikke en sideerstatningsalgoritme , men sideerstatningsalgoritmer kan tage højde for arbejdssættet af en proces og ikke fjerne de sider, den ejer. For eksempel er der en modificeret version af uralgoritmen kaldet WSClock.

Se også

Noter

  1. mcleanbyron. Arbejdssæt - Win32 apps  (russisk)  ? . docs.microsoft.com . Hentet 12. oktober 2021. Arkiveret fra originalen 24. oktober 2021.
  2. Denning, PJ Arbejdssætmodellen for programadfærd  // Communications of the ACM. - 1968. - T. 11 , no. 5 . - S. 323-333 . - doi : 10.1145/363095.363141 .
  3. Jose Garrido, Richard Schlesinger, Kenneth Hoganson. Principper for moderne operativsystemer . - Jones & Bartlett Publishers, 2011. - S. 300. - 564 s. — ISBN 978-1-4496-2634-1 .

Litteratur