Puslapiavimas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.

Puslapiavimas (angl. paging) — tai yra atminties valdymo būdas daugelyje naujų procesorių architektūrų. Puslapiavimas leidžia skirstyti fizinę atmintį į rėmus ir virtualią atmintį į puslapius. Naudojantis specialiomis duomenų struktūromis ir procesorių registrais, operacinės sistemos gali sujungti rėmus prie puslapių ir gali sukurti vientisą atminties bloką iš fragmentuotų rėmų, taip išvengiant vieną iš segmentacijos ydų — fragmentacijos. Operacinės sistemos gali keisti puslapių ypatybes, taip užtikrinant sistemos apsaugą, paprastos programos negali rašyti į operacinės sistemos branduolio puslapius ar į vykdomuosius puslapius, paprastosios programos gali rašyti tik į duomenims skirtus puslapius. Procesai taip pat gali būti atskirti nuo kitų procesų, per kiekvieną kontekstinį perdavimą keičiant specialių procesoriaus registrų reikšmes.

Puslapiavimas kaip veiksmas yra kai operacinės sistemos branduolys kelia fiziniuose rėmuose esančią atmintį į diską ar atgal, tai yra atliekama kai sistemoje nebelieka fizinės atminties procesams arba jos prireikia atgal.

Implementavimas architektūrose[redaguoti | redaguoti vikitekstą]

x86[redaguoti | redaguoti vikitekstą]

x86 architektūroje puslapiavimas galimas tik apsaugotame (angl. protected) ar ilgajame (angl. long) režime. Apsaugotame režime galimi 32 bitų adresai ir pilna 4 gb adresų erdvė, ilgajame režime galimi 48 bitų adresai ir 256 tb adresų erdvė.

ARM[redaguoti | redaguoti vikitekstą]

ARM architektūroje yra trumpasis ir ilgasis formatai. Trumpasis formatas leidžia 32 bitų virtualius adresus kurie gali aprėpti 40 bitų fizinę atmintį, lentelių įrašai yra 32 bitų dydžio. Ilgasis formatas leidžia 40 bitų virtualius adresus kurie gali aprėpti 40 bitų fizinę atmintį, lentelių įrašai 64 bitų dydžio.

Šaltiniai[redaguoti | redaguoti vikitekstą]