正在加载图片...
在图5.4中,假定页面大小为lk字节,则逻辑地址2500(=2×1024+452)的页号为2,页内 地址为452。由页表可知第2页对应的物理块号为8。将块号8与页内地址452拼接(8× 1024+452=864)得到物理地址为8644 (4)联想存储器:从上面介绍的地址变换过程可知,若页表全部放在主存,则要存取一个数 据或一条指令至少要访问两次主存,一次是访问页表,确定所存取的数据或指令的物理地址 第二次才根据该地址存取数据或指令。显然,这种方法比通常执行指令的速度慢了一倍。为了 提高査表速度,可在地址变换机构中増设一个具有并行査找能力的高速缓冲存储器(又称联想 存储器或快表),将页表放在这个高速缓冲存储器中。高速缓冲存储器一般是由半导体存储器 实现的,其工作周期与CPU的周期大致相同,但其造价较高。为了降低成本,通常是在快表中存 放正在运行作业当前访问的那些页表项,页表的其余部分仍然存放在内存中 引入快表以后的地址变换过程为:当CP给出逻辑地址后,地址变换机构自动将此页号与 联想存储器中的所有页号进行并行比较,若其中有与此匹配的页号,则表示所要访问的页表项 在联想存储器中,于是取出该页对应的块号,与页内地址拼接形成物理地址。若联想存储器中 的所有页号与所查找页号不匹配,则还需再访问主存中的页表。实际上,这两者的查找是同时 进行的,一旦在联想存储器中发现了要查找的页号,则立即停止内存中页表的查找。如果地址 变换是通过査找内存中的页表完成的,则还应将这次所查到的页表项存入联想存储器中,若联 想存储器己满,则必须按某种原则淘汰一个表项以腾出位置。 采用这种方案,只要使用8—16个表项的联想存储器,就能使从联想存储器中找到所需页 号的概率达到90%左右 5.1.4请求分页存储管理 在分页的基础上増加请求调页功能和页面置换功能,便形成了能支持虚拟存储器功能的 请求分页系统。 1.请求分页的基本原理 请求分页系统对地址空间和内存空间的管理采用与基本分页系统相同的方式,但它只要 求将作业的部分页面装入内存,便可开始运行作业,作业的其余部分被存放在盘中。 由于这种管理方案在一个作业运行之前不要求将作业的整个地址空间调入主存,因此在 作业的运行过程中,必然会出现要访问的页不在主存的情况。那么如何发现和处理这种情况就 是请求页式存储管理必须解决的两个基本问题 为了解决发现所访问页面不在主存的问题,必须对页表表目进行扩充。扩充后的页表表目 结构如下所示 块号状态位访问字段修改位外存地址 在请求分页系统中,当进程需要访问某条指令或某个数据时,硬件地址变换机构将根据逻 辑地址中的页号去检索内存中的页表,并根据相应页表项的状态位,来判断该指令或数据所在 的页是否已装入内存。若己装入内存,则可立即从页表项中得到该页的内存块号,并与页内地 址拼接形成指令或数据的物理地址,同时还需修改页表项中的访问位对于写指令,则还需将修 改位置成"1”。若所要访问的页还未调入内存,便产生一缺页中断,此时,上述访问缺页的作业 将被中断,控制将转向缺页中断处理程序。 缺页中断处理程序用来完成页面的调入工作。若系统中仍有空闲的内存块,则只需根据页 表项中的外存地址将所缺的页装入内存,然后修改页表项中的存在位和内存块号即可;否则, 若系统中无空闲的内存块,则需要根据置换算法淘汰内存中的某一页,对已被修改过的页先写 盘,然后再将所缺的页调入内存 2.内存分配策略和置换策略 在请求分页系统中,可采取两种内存分配策略,即固定分配和可变分配。在进行置换时, 也可采取两种策略,即全局置换和局部置换。于是,可组合出以下三种适用的策略:在图 5.4 中,假定页面大小为 lk 字节,则逻辑地址 2500(=2×1024+452〉的页号为 2,页内 地址为 452。由页表可知第 2 页对应的物理块号为 8。将块号 8 与页内地址 452 拼接(8× 1024+452=8644)得到物理地址为 8644。 (4)联想存储器:从上面介绍的地址变换过程可知,若页表全部放在主存,则要存取一个数 据或一条指令至少要访问两次主存,一次是访问页表,确定所存取的数据或指令的物理地址, 第二次才根据该地址存取数据或指令。显然,这种方法比通常执行指令的速度慢了一倍。为了 提高查表速度,可在地址变换机构中增设一个具有并行查找能力的高速缓冲存储器(又称联想 存储器或快表),将页表放在这个高速缓冲存储器中。高速缓冲存储器一般是由半导体存储器 实现的,其工作周期与 CPU 的周期大致相同,但其造价较高。为了降低成本,通常是在快表中存 放正在运行作业当前访问的那些页表项,页表的其余部分仍然存放在内存中。 引入快表以后的地址变换过程为:当 CPU 给出逻辑地址后,地址变换机构自动将此页号与 联想存储器中的所有页号进行并行比较,若其中有与此匹配的页号,则表示所要访问的页表项 在联想存储器中,于是取出该页对应的块号,与页内地址拼接形成物理地址。若联想存储器中 的所有页号与所查找页号不匹配,则还需再访问主存中的页表。实际上,这两者的查找是同时 进行的,一旦在联想存储器中发现了要查找的页号,则立即停止内存中页表的查找。如果地址 变换是通过查找内存中的页表完成的,则还应将这次所查到的页表项存入联想存储器中,若联 想存储器己满,则必须按某种原则淘汰一个表项以腾出位置。 采用这种方案,只要使用 8—16 个表项的联想存储器,就能使从联想存储器中找到所需页 号的概率达到 90%左右。 5.1.4 请求分页存储管理 在分页的基础上增加请求调页功能和页面置换功能,便形成了能支持虚拟存储器功能的 请求分页系统。 1.请求分页的基本原理 请求分页系统对地址空间和内存空间的管理采用与基本分页系统相同的方式,但它只要 求将作业的部分页面装入内存,便可开始运行作业,作业的其余部分被存放在盘中。 由于这种管理方案在一个作业运行之前不要求将作业的整个地址空间调入主存,因此在 作业的运行过程中,必然会出现要访问的页不在主存的情况。那么如何发现和处理这种情况就 是请求页式存储管理必须解决的两个基本问题。 为了解决发现所访问页面不在主存的问题,必须对页表表目进行扩充。扩充后的页表表目 结构如下所示: 页号 块号 状态位 访问字段 修改位 外存地址 在请求分页系统中,当进程需要访问某条指令或某个数据时,硬件地址变换机构将根据逻 辑地址中的页号去检索内存中的页表,并根据相应页表项的状态位,来判断该指令或数据所在 的页是否已装入内存。若己装入内存,则可立即从页表项中得到该页的内存块号,并与页内地 址拼接形成指令或数据的物理地址,同时还需修改页表项中的访问位对于写指令,则还需将修 改位置成"1"。若所要访问的页还未调入内存,便产生一缺页中断,此时,上述访问缺页的作业 将被中断,控制将转向缺页中断处理程序。 缺页中断处理程序用来完成页面的调入工作。若系统中仍有空闲的内存块,则只需根据页 表项中的外存地址将所缺的页装入内存,然后修改页表项中的存在位和内存块号即可;否则, 若系统中无空闲的内存块,则需要根据置换算法淘汰内存中的某一页,对已被修改过的页先写 盘,然后再将所缺的页调入内存。 2.内存分配策略和置换策略 在请求分页系统中,可采取两种内存分配策略,即固定分配和可变分配。在进行置换时, 也可采取两种策略,即全局置换和局部置换。于是,可组合出以下三种适用的策略:
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有