logo

Puslapių paieška OS (operacinėje sistemoje)

Operacinėse sistemose puslapių paieška yra saugojimo mechanizmas, naudojamas procesams iš antrinės saugyklos į pagrindinę atmintį nuskaityti puslapių pavidalu.

Pagrindinė puslapių kūrimo idėja yra padalinti kiekvieną procesą į puslapius. Pagrindinė atmintis taip pat bus padalinta į kadrus.

kas yra ypatingas veikėjas

Vienas proceso puslapis turi būti saugomas viename iš atminties rėmelių. Puslapiai gali būti saugomi skirtingose ​​atminties vietose, tačiau pirmenybė visada yra gretimų rėmelių ar skylių paieškai.

Proceso puslapiai įkeliami į pagrindinę atmintį tik tada, kai jų reikia, kitaip jie yra antrinėje saugykloje.

Skirtingos operacinės sistemos apibrėžia skirtingus kadrų dydžius. Kiekvieno rėmo dydžiai turi būti vienodi. Atsižvelgiant į tai, kad puslapiai yra susieti su puslapių rėmeliais, puslapio dydis turi būti toks pat kaip rėmelio dydis.


OS ieškos

Pavyzdys

Panagrinėkime pagrindinės atminties dydį 16 Kb, o kadro dydį – 1 KB, todėl pagrindinė atmintis bus padalinta į 16 kadrų po 1 KB rinkinį.

Sistemoje yra 4 procesai, kurių kiekvienas yra P1, P2, P3 ir P4 po 4 KB. Kiekvienas procesas yra padalintas į puslapius po 1 KB, kad vienas puslapis galėtų būti saugomas viename kadre.

Iš pradžių visi kadrai yra tušti, todėl procesų puslapiai bus saugomi gretimais.

java masyvai

Rėmeliai, puslapiai ir jų susiejimas rodomas toliau esančiame paveikslėlyje.


OS ieškos pavyzdys

Apsvarstykime, kad P2 ir P4 po kurio laiko pereina į laukimo būseną. Dabar tušti 8 kadrai, todėl į tą tuščią vietą galima įkelti kitus puslapius. 8 KB (8 puslapių) P5 procesas laukia parengties eilėje.

pabraukite tekstą su css

Atsižvelgiant į tai, kad atmintyje turime 8 negretimus kadrus, o puslapių paieška suteikia galimybę lanksčiai saugoti procesą įvairiose vietose. Todėl proceso P5 puslapius galime įkelti vietoje P2 ir P4.


OS puslapių 2 pavyzdys

Atminties valdymo blokas

Atminties valdymo bloko (MMU) paskirtis yra konvertuoti loginį adresą į fizinį adresą. Loginis adresas yra adresas, kurį CPU generuoja kiekvienam puslapiui, o fizinis adresas yra tikrasis rėmelio, kuriame bus saugomas kiekvienas puslapis, adresas.

Kai CPU turi pasiekti puslapį naudodamas loginį adresą, operacinė sistema turi gauti fizinį adresą, kad galėtų fiziškai pasiekti tą puslapį.

Loginį adresą sudaro dvi dalys.

Java regex
  1. Puslapio numeris
  2. Užskaita

OS atminties valdymo blokas turi konvertuoti puslapio numerį į kadro numerį.

Pavyzdys

Atsižvelgiant į aukščiau pateiktą vaizdą, tarkime, kad CPU reikalauja 10 žodžio iš 4 proceso P3 puslapio. Kadangi proceso P1 puslapis 4 yra saugomas 9 kadro numeriu, 9-ojo kadro 10 žodis bus grąžintas kaip fizinis adresas.