首页 > 编程知识 正文

计算机四级证书有用吗,计算机中级证书是几级

时间:2023-05-05 23:22:18 阅读:163136 作者:2213

本文基于基本的分页存储管理优化分页管理。 在上一篇文章中,操作系统针对每个进程创建页面表,实现页面编号和内存块编号的对应关系。 本文从单级页表存在的问题引出两级页表和两级页表如何实现地址的转换。

一级页面表问题

假设一个计算机系统按字节寻址,支持32位逻辑地址,采用分页存储管理,页面大小为4KB,页面表条目长度为4B。

4KB=212B,因此页面中的地址用12位表示,剩下的20位表示页码。 ——上一篇文章第三节的结论。

因此,该系统的用户进程最多为220页。 因此,一个进程的页表最多可以有220个页表条目,因此一个页表最多需要220 * 4B=222B。 1页框(存储块)的大小为4B,因此需要在222/212=210页框中保存页表。 页表的记忆必须连续记忆。 一种根据页码查询页表的方法。 因为与k页对应的页表项目的位置=页表起始地址K * 4B (页表项目长),所以页表的记忆必须是连续的。

请回想一下使用页面表的理由。 要将进程分割为一个个页面,可以不连续存储在内存中,但在这种情况下,页面表需要1024个连续的页面框,这似乎与当时的目标有些抵触.

另外,根据局部性原理,进程往往只在一定期间内访问几个页面就能正常动作。 因此,也不需要让内存驻留在整个页面上。

因此,单级页表存在以上两个问题。

2级2页表

如何解决页表太大需要连续存储的问题? 此问题可以参考进程太大需要连续保存的答案。 页表必须连续保存,因此可以重新分页页表。

解决方案:长页表可以被分组,每页正好存储一组页表条目(如上例所示,页大小为4KB,每个页表条目为4B,每页1K个) 1024 )。 因此,连续的页表条目被一个k个地分组,各组正好占一页,各组分别配置在各存储器块中)。 在这种情况下,必须为单个页表创建一个称为页目录表、外部页表或顶级页表的页表。

在面例子中,32位的逻辑地址空间,如果页表条目的大小为4B、页大小为4KB,则页内的地址占12位,单级页表结构的逻辑结构图如下图所示

使用单层页面表时

将页表分为1024个表,每个表包含1024个页表条目,形成辅助页表。 二级页表结构的逻辑地址结构如下图所示

二级页表如何实现地址转换:

(1)根据地址结构,将逻辑地址分割为3个部分。

)从PCB读取页面目录的起始地址,根据第一页的页码检查页面目录表,找到下一页表保存在内存中的位置。

)3)根据二级页码查找表,最终找到需要访问的存储块号码。

)4)结合页面内偏移量得到物理地址。

以逻辑地址为例。 将逻辑地址(000000000,000000001,11111111111 )转换为物理地址的过程。

3虚拟存储技术

在解决了必须连续存储页面的问题之后,我们来看第二个问题。 不需要在整个页表中驻留内存。 因为进程在一段时间内可能只需要访问特定的页面。

解决方案:只有在需要访问页面时,才能将页面捕获到内存——虚拟存储技术中。 可以向页表中添加标志位,以指示是否已将页表读取到内存中。

4几个问题

(1)如果采用多级页表机制,每一级的页表大小不能超过一页。

例如,一个系统能使用40比特的逻辑地址,页面大小为4KB,页面表条目大小为4B的字节地址,它能使用平面页面存储器,页面内部偏移能达到(位)级别的页面级

页面大小=4KB,按字节寻址,因此页面内偏移为12位。

页码=40 - 12=28位。

如果页面大小=4KB,页面表条目大小=4B,则每页可以存储1024个页面表条目。 因此,每个级别的页表最多包含1024个页表条目,需要10位二进制位才能映射到1024个页表条目。 因此,对应于各级页表的页码必须是10位二进制文件。 共计28位的页码必须至少分为三个阶段。

)2)两个阶段的页面表访问量分析(假设没有页面表) :

(1)初次访问:访问存储器内的页面目录表。

)2)访问内存中的辅助目录。

)3)访问目标存储器单元。

综上所述,两级页表解决了必须连续存储页表的问题,同时也增加了对内存的访问次数。

4总结

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。