请求分页系统建立在基本分页系统基础之上,为了支持虚拟存储器功能而增加了请求调页功能和页面置换功能。请求分页是目前最常用的一种实现虚拟存储器的方法。
在请求分页系统中,只要将当前需要的一部分页面装入内存,便可以启动作业运行。在作业执行过程中,当所要访问的页面不在内存时,再通过调页功能将其调入,同时还可以通过置换功能将暂时不用的页面换出到外存上,以便腾出内存空间。
为了实现请求分页,系统必须提供一定的硬件支持。除了需要一定容量的内存及外存的计算机系统,还需要有页表机制、缺页中断机构和地址变换机构。
1、页表机制
请求分页系统的页表机制不同于基本分页系统, 请求分页系统在一个作业运行前不需要全部一次性调入内存,因此在作业的运行过程中,必然会出现要访问的页面不在内存的情况,如何发现和处理这种情况是请求分页系统必须解决的两个基本问题。为此,在请求页表项中增加了两个字段。
页号 | 物理块号 | 状态位P | 访问字段A | 修改位M | 外存地址 |
---|
状态位P:用于指示该页是否已调入内存,供程序访问时参考。
访问字段A:用于记录本页在一段时间内被访问的次数,或记录本页在最近已多长时间未被访问,供置换算法换出页面时参考。
修改位M:标识该页在调入内存后是否被修改过。
外存地址:用于指出该页在外存上的地址,通常是物理块号,供调入该页时参考。
2.缺页中断机构
在请求分页系统中,每当所要访问的页面不在内存时,便产生一个缺页