内存管理之分页模式简介

2019-12-04 14:00:00
赵勤松
原创
1790
摘要:IntelCPU在启用段式内存管理机制后,还可以使用分页模式,能更高效地管理内存。

页式存储分成页目录和页表两部分,下面分别进行说明。

页目录是一块4096大小的连续内存区域,每一项4个字节,存储着各个页表的偏移地址+属性(因为页表项是4k对齐的,因此低12位可以用来设定属性),页目录索引号0取第一个4字节,索引号1取第二个4字节,依此类推。

P(Present):0位,为1表示指定PTE项在内存中
R/W(Read or Write):1位,为1表示可读写,为0表示只读
U/S(User or Supervisor):2位,为1时允许所有特权级别的程序访问,为0时,仅允许特权级别为0,1,2的程序访问

PWT(Page Write Type):3位,为1时使用直写方式的缓存类型,为0时使用回写方式的缓存类型

PCD(Page Cache Disable):4位,禁止使用缓存标志,为1时,物理页面不能被缓存,为0时允许缓存

A(Access):5位,访问位,由处理器固件设置,为1表示此表项指向的页表是否已被访问(读或写)

PS(Page Size):7位,为0时表示页大小为4K,为1时为4M

G(Global Page):8位,为1时将在调整缓存中一直保存

Avail(Available For Programmer):9-11位,保留未用


页表项也是一块4096K大小的连续内存区域,每一项4字节,存着着各个页的偏移地址+属性(因为页是4k对齐的,因此低12位可以用来设定属性,其定义与页目录项很相似

P(Present):0位,为1表示指定PTE项在内存中
R/W(Read or Write):1位,为1表示可读写,为0表示只读
U/S(User or Supervisor):2位,为1时允许所有特权级别的程序访问,为0时,仅允许特权级别为0,1,2的程序访问

PWT(Page Write Type):3位,为1时使用直写方式的缓存类型,为0时使用回写方式的缓存类型

PCD(Page Cache Disable):4位,禁止使用缓存标志,为1时,物理页面不能被缓存,为0时允许缓存

A(Access):5位,访问位,由处理器固件设置,为1表示此表项指向的页表是否已被访问(读或写)

D(Durty):7位,脏位,由处理器固件设置,为1表示所指向的页已经写过数据

G(Global Page):8位,为1时将在调整缓存中一直保存

Avail(Available For Programmer):9-11位,保留未用

文章分类
联系我们
联系人: powereye
Email: zqs@someapp.cn
QQ: 1134846
微信: powereye