页表入门概念

页表在分页内存管理系统中扮演关键角色,提供虚拟页面到物理页面的映射。每个记录包含访问位、修改位、保护标识位等信息,用于内存管理和页面置换决策。当访问的页面不在内存时,会发生缺页中断,由服务程序处理并将所需页面载入内存。页表的设计通常会预留空间以备未来扩展。
摘要由CSDN通过智能技术生成

页表在分页内存管理系统的地位十分关键

**页表的根本功能是提供从虚拟页面到物理页面的映射。**因此,页表的记录条数与虚拟页面数相同。

例如,对于32位寻址的虚拟地址,如果页面大小为4KB,则虚拟页面数最多可以达到220,即1048576个虚拟页面。那么页表的记录条数就为1048576条。

内存管理单元依赖页表来进行一切与页面有关的管理活动。这些活动包括判断某一页面号是否在内存里,页面是否受到保护,页面是否非法空间等。因此,页表除了提供虚拟页面到物理页面的映射外,还记录这些相关信息。页表的一个记录所包括的内容如图12-6所示。

在这里插入图片描述
缓存禁止位用来指示该页面是否允许存放在缓存里。访问位记录该页面是否被访问过(被读过或者被写过)。修改位记录该页面自从加载到物理内存后是否被修改过。保护标识位记录该页的受保护情况,如是否允许读、写、执行等。在内存否则记录该虚拟页面是否已经在物理内存里。物理页面号则是该虚拟页面对应的物理页面(如果该虚拟页面在物理内存的话)。

访问位和修改位是内存管理单元进行页面置换时依赖的信息。

当然,一个记录条通常还会有一个保留区(reserve area),图12-6没有给出该保留区。但它通常是存在的。设置保留区的目的是为以后有需要时增加信息用的。如果没有保留区,万一想对分页系统进行某种改善,而该种改善又需要在页表中记录额外的信息,则就没有办法实施了。除非重新设计页表记录内容。但这样一来成本就太高了。因此,设计任何数据结构时应该留有余地,这样才有改善的空间。

由于页表的特殊地位决定了它由硬件直接提供支持,即页表是一个硬件数据结构。图12-7列出的是一个简化了的虚拟页面与物理页面的映射。左面的页面属于虚拟空间,右面的页面属于物理空间,页面大小为16KB。

在这里插入图片描述
从该页表可以看出,第0个虚拟页面在物理的第2个页面里。如果我们访问虚拟页面0,则实际访问的物理页面2。页表里面的X表示该虚拟页面不在内存里。如果访问的页面不在内存,那么将产生缺页中断。例如,如果我们访问虚拟页面6,则将发生缺页中断。缺页中断服务程序将负责在磁盘上找到需要的虚拟页面,并在物理内存里面寻找一个闲置的页面来存放该虚拟页面,然后更新页表。之后,对该虚拟页面的访问就可以正常进行了。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值