Puslapiavimas

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
Jump to navigation Jump to search

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 taip galima sukurti vientisą atminties bloką iš fragmentuotų rėmų, taip išvengdama vienos iš segmentacijos ydos — fragmentacijos. Operacinės sistemos gali keisti puslapių ypatybės taip užtikrindama sistemos apsaugą, paprastos programos negali rašyti į operacinės sistemos branduolio puslapius, ar į vykdomuosius puslapius, paprastosos 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 ilgąjame (angl. long) režime. Apsaugotame režime galimi 32 bitų adresai ir pilna 4 gb adresų erdvė, ilgąjame 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ą]