Day3启用分页机制

本文介绍了分页机制如何解除线性地址与物理地址的直接对应,使得虚拟地址可以映射到不连续的物理地址。讨论了一级页表和二级页表的工作原理,以及启用分页机制的步骤。虚拟地址通过页表转换为物理地址,其中二级页表增加了地址映射的灵活性,通过虚拟地址的高10位和中间10位分别定位页目录和页表。最后,探讨了操作系统如何通过共享页表实现用户进程与操作系统的协作。
摘要由CSDN通过智能技术生成

启用分页机制

分页机制可解除线性地址与物理地址一一对应的关系,实现更灵活的地址映射。

一级页表

开启保护模式后,寻址空间为4GB,即线性地址空间是4GB,它在逻辑上连续。通过映射可以使线性地址与任意的物理地址相关联,线性的逻辑地址对应的物理地址可以不连续。由于开启了分页,因此线性地址有了新名字:虚拟地址

代码段和数据段被拆分成以页为单位的小内存块,然后操作系统开始为虚拟内存页分配真实的物理内存页。

页表由页表项组成,每个页表项记录了一个物理地址。

虚拟地址先根据页表确定物理页,然后根据偏移地址得到实际的物理地址

对于虚拟地址与物理地址的映射有以下公式:

物理地址 = 虚拟地址高 20 位 ∗ 4 + 虚拟地址低 12 位 物理地址=虚拟地址高20位*4+虚拟地址低12位 物理地址=虚拟地址高204+虚拟地址低12

二级页表

二级页表增加了页表的页表,又名页目录项

虚拟地址的高10位用来定位一个页目录项,也就是定位到某个页表;中间10位定位页表项,也就是定位到某个物理页;最后12位为页偏移量

启用分页机制

(1)准备好页目录表及页表

(2)将页表地址写入控制寄存器

(3)寄存器cr0的PG位置1

1.操作系统与用户进程的关系

用户进程必须与操作系统结合才能完成任务,因此操作系统必须共享给所有用户进程。

由于32位程序能应用的内存上限为4G,我们只需要让所有用户进程的3-4G空间都指向操作系统的页表即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值