内存分页之32位分页
来源:互联网 发布:数据透视表 编辑:程序博客网 时间:2024/06/05 00:59
分页模式
Intel的64位处理器一共支持3种内存页模式:
- 32 Bit Paging, 32位分页模式
- PAE Paging, PAE分页模式
IA-32e Paging, IA-32e分页模式
这本文中主要还是介绍第一种: 32位分页模式
地址类型
在搞清楚分页的概念之前,需要了解清楚以下几个地址的概念:
- 物理地址
- 线性地址
- 虚拟地址
关于以上三种地址的具体区别和联系,可参见这里
控制寄存器(Control Registers)
你需要了解以下的几个控制寄存器:
- CR0: 包含系统控制的标志位,用于控制系统操作模式和处理器状态
- CR2: 用于保存页错误线性地址
- CR3: 用于保存页表结构物理地址
- CR4: 与架构扩展相关的标志位
分页模式的切换
分页模式的切换主要是通过配置CR寄存器的一些bit来完成的,具体的状态图如下:
其中:
PG代表CR0的bit31
PAE代表CR4的bit5
LME代表MSR IA32_EFER的LME bit
页面大小
32位分页模式支持两种页面大小
- 4KB 页面
- 4MB页面
4KB页面
关于4KB分页
- Offset占12bits
- PT 页表项占10bits
- PD 页目录项占10bits
加起来刚好32bits。
4MB页面
关于4MB的分页,其实相比于4KB的分页要更简单些。取消了PT页表项,只有页目录项和offset。
0 0
- 内存分页之32位分页
- 内存管理之分页
- 内存分页之PAE分页模式
- 内存寻址之分页机制
- Windows内核编程之:分页内存与非分页内存
- 内存分页
- 内存分页
- 内存分页
- 内存分页
- 分页内存,非分页内存
- 分页内存,非分页内存
- 分页和非分页内存
- 分页与非分页内存
- 分页和非分页内存
- linux内存管理之请求分页
- 内存管理相关之分段分页机制
- 浅析linux内核内存管理之分页
- 操作系统之分页式内存管理1
- maven自动发包到仓库
- 操作系统课设总结--简单的linux文件仿真系统
- Hibernate二级缓存
- Android 获取手机存储信息详解(内存,外存等)
- 【bzoj3994】[SDOI2015]约数个数和 莫比乌斯反演
- 内存分页之32位分页
- 产品经理必备词
- Android签名
- Ubuntu 14.04 下安装google的浏览器——Chrome
- 51单片机入门之五:数码管显示(动态)
- 我为何放弃Gulp与Grunt,转投npm scripts(上)
- Linux下Apache(2.4.18)的安装以及cgi的配置
- 优秀的PHP开源项目集合
- java学习笔记(雍俊海)