请求分页中的硬件支持-2 2.缺页中断机构 在请求分页系统中,每当所要访问的页面不在内存时,便要产 生一缺页中断,请求0S将所缺页调入内存。与一般中断的主 要区别在于 缺页中断在指令执行期间产生和处理中断信号,而一般中断 在一条指令执行完后检查和处理中断信号 ·缺页中断返回到该指令的开始重新执行该指令,而一般中断 返回到该指令的下一条指令执行 条指令在执行期间,可能产生多次缺页中断。P169图6 3.地址变换机构 请求分页系统中的地址变换机构,是在分页系统的地址变换 机构的基础上,再为实现虚拟存储器而增加了某些功能所形 成的,如产生和处理缺页中断,以及从内存中换出一页的功 能等等,下图给出了请求分页系统的地址变换过程
请求分页中的硬件支持-2 2.缺页中断机构 在请求分页系统中,每当所要访问的页面不在内存时,便要产 生一缺页中断,请求OS将所缺页调入内存。与一般中断的主 要区别在于: • 缺页中断在指令执行期间产生和处理中断信号,而一般中断 在一条指令执行完后检查和处理中断信号。 • 缺页中断返回到该指令的开始重新执行该指令,而一般中断 返回到该指令的下一条指令执行。 • 一条指令在执行期间,可能产生多次缺页中断。P169图6-1。 3.地址变换机构 请求分页系统中的地址变换机构,是在分页系统的地址变换 机构的基础上,再为实现虚拟存储器而增加了某些功能所形 成的,如产生和处理缺页中断,以及从内存中换出一页的功 能等等,下图给出了请求分页系统的地址变换过程
开始(程序请求访问一页 缺页中断处理 越界中断是页号>页表长 保留CPU现场 度? CPU检索快表 从外存中找到缺 否 页表项是否在快表中? 内存满否? 是 是 访问页表7否 选择一页换出 是人是否在内存中?产生缺殖中∠该页是否被改2交 断请求调页是 修改快表 将该页写回外存 修改访间位和修改位 CPU从外存读缺页 形成物理地址 启动Ⅳ硬件 地址变换结束 将一页从外存换入内存 修改页表
缺页中断处理 是 否 否 是 是 否 产生缺页中 否 是 断请求调页 是 开始(程序请求访问一页) 越界中断 CPU检索快表 页表项是否在快表中? 访问页表 页是否在内存中? 修改快表 修改访问位和修改位 形成物理地址 地址变换结束 保留CPU现场 从外存中找到缺 页 页 号 > 页 表长 度? 内存满否? 选择一页换出 该页是否被修改? 将该页写回外存 将一页从外存换入内存 修改页表 CPU从外存读缺页 启动I/O硬件
6.2.2页面分配 1.最少物理块数 在为进程分配物理块时,首先应该考虑的问题是:能保证进 程能正常运行所需的最少物理块数(称为最小物理块数)。 若系统为某进程所分配的物理块数少于此值时,进程将无法 运行,这取决于指令的格式、功能和寻址方式。p169 2.页面的分配和置换策略 在请求分页系统中,可采取两种分配策略——固定和可变分 配策略。在进行置换时,也可釆取两种策略—全局置换和 局部置换。于是可组合成以下三种策略 固定分配局部置换策略:它基于进程的类型(交互型或批处 理型等),或根据程序员、系统管理员的建议,为每个进程 分配一固定页数的内存空间,在整个运行期间都不再改变。 如果进程在运行中发现缺页,则只能从该进程在内存的固定 页面中选出一页换出,然后再调入另一页,保证分配给该进 程的内存空间不变
6.2.2页面分配 1.最少物理块数 在为进程分配物理块时,首先应该考虑的问题是:能保证进 程能正常运行所需的最少物理块数(称为最小物理块数)。 若系统为某进程所分配的物理块数少于此值时,进程将无法 运行,这取决于指令的格式、功能和寻址方式。p169 2. 页面的分配和置换策略 在请求分页系统中,可采取两种分配策略——固定和可变分 配策略。在进行置换时,也可采取两种策略——全局置换和 局部置换。于是可组合成以下三种策略。 • 固定分配局部置换策略:它基于进程的类型(交互型或批处 理型等),或根据程序员、系统管理员的建议,为每个进程 分配一固定页数的内存空间,在整个运行期间都不再改变。 如果进程在运行中发现缺页,则只能从该进程在内存的固定 页面中选出一页换出,然后再调入另一页,保证分配给该进 程的内存空间不变