Működő készlet

A munkakészlet egy számítástechnikai  fogalom, amely meghatározza, hogy egy adott időintervallumban mekkora memóriaigényes egy folyamat .


Más szóval, egy folyamat munkakészlete a folyamat virtuális címterében lévő oldalak halmaza , amelyek jelenleg a fizikai memóriában vannak [1] (a folyamat címterére leképezve).

Definíció

Peter Denning (1968) "egy folyamat egy adott időpontbanlévő információs halmazát olyan információhalmazként határozza meg, amelyre egy folyamat egy időintervallumban hivatkozik" [2] . Általában a memóriaoldalt információegységnek tekintik . Javasoljuk, hogy a munkakészletre úgy tekintsünk, mint azon oldalak durva becslésére, amelyekhez a folyamat a jövőben hozzá fog férni (például a következőidőegységeken belül), és ami még fontosabb, mutatója annak, hogy mely oldalakat érdemes a fő memóriában kell tartani, hogy a folyamat gyorsabban fusson.

Indoklás

A teljesítmény szempontjából számít, hogy mely oldalak maradnak a fő memóriában (ellentétben a kiegészítő memóriába lapozott oldalakkal): ha túl sok oldalt hagy egy folyamat tulajdonában a fő memóriában, az csökkenti az egyidejűleg futtatható folyamatok számát. Ha túl kevés folyamatoldal marad a fő memóriában, az oldalhiba aránya az egekbe szökik, és a jelenleg futó aktív folyamatok száma nullára szokott csökkenni.

A munkakészlet-modell szerint egy folyamat akkor és csak akkor lehet a RAM -ban , ha az összes aktuálisan használt oldal halmaza (vagy a legutóbb használt oldalak halmaza, amit gyakran használnak közelítésként) lehet a RAM-ban. A modell a „mindent vagy semmit” elven működik, vagyis ha a folyamathoz szükséges memóriaoldalak száma nő, és nincs szabad hely a RAM-ban, akkor a folyamat teljes egészében kiürül a memóriából, hogy memória szabaduljon fel egyéb folyamatok.

Egy erősen terhelt számítógépen gyakran olyan sok folyamat állhat a sorban, hogy ha ugyanabban az időszeletben futhatnak, akkor a hivatkozott memória mennyisége meghaladja a RAM mennyiségét, ami a virtuális memória feltörését eredményezi .

Egyes folyamatok memóriából való törlése azt eredményezi, hogy az összes folyamat végrehajtása, még a memóriából ideiglenesen kiürítettek is, sokkal korábban fejeződik be, mint amikor az összes folyamatot egyszerre próbálják elindítani. A folyamat végrehajtása sokkal hamarabb befejeződik, mint az egyes folyamatok futtatása, mivel a párhuzamosság lehetővé teszi egy folyamat futtatását, míg mások a merevlemezhez vagy más globális erőforrásokhoz való hozzáférésre várnak. Más szavakkal, a munkakészlet-stratégia megakadályozza a virtuális memória feltörését , miközben fenntartja a magas szintű többprogramozást . Így ez a stratégia optimalizálja a CPU kihasználtságát és a sávszélességet.

Megvalósítás

A leírt modell megvalósításának fő nehézsége a munkakészlet nyomon követése. Ehhez a folyamat-hozzáférések teljes folyamától a memóriaoldalakig az utolsó hozzáféréseket a munkakészlet ablakának nevezett időintervallumban követi nyomon. Minden memóriaeléréskor egy új hivatkozás kerül az oldalra az ablak elejére, a legrégebbi hivatkozás pedig azon kívül van. Egy oldal akkor tekinthető a munkakészlethez tartozónak, ha van rá hivatkozás a munkakészlet ablakban [3] .

A nagyszámú memórialaphivatkozás tárolásával járó többletköltség elkerülése érdekében a munkakészlet-számítást gyakran úgy hajtják végre, hogy nyomon követik a memóriaoldal legutóbbi elérését. Egy oldal akkor tekinthető a munkakészlethez tartozónak, ha az aktuális idő és az utolsó hozzáférési idő közötti különbség nem haladja meg a munkakészlet ablakának méretét. Ha ez a különbség meghaladja az ablak méretét, az oldal eltávolítható.

A munkakészlet-stratégia nem oldalcsere-algoritmus , azonban az oldalcsere-algoritmusok figyelembe vehetik egy folyamat munkakészletét, és nem távolítják el a tulajdonában lévő oldalakat. Például létezik az óraalgoritmusnak egy módosított változata , a WSClock.

Lásd még

Jegyzetek

  1. mcleanbyron. Működőkészlet - Win32 alkalmazások  (orosz)  ? . docs.microsoft.com . Letöltve: 2021. október 12. Az eredetiből archiválva : 2021. október 24..
  2. Denning, PJ A program viselkedésének munkakészlet-modellje  // Az ACM kommunikációja. - 1968. - T. 11 , sz. 5 . - S. 323-333 . - doi : 10.1145/363095.363141 .
  3. Jose Garrido, Richard Schlesinger, Kenneth Hoganson. A modern operációs rendszerek alapelvei . - Jones & Bartlett Publishers, 2011. - P. 300. - 564 p. — ISBN 978-1-4496-2634-1 .

Irodalom