(操作系统课件)请求分页.ppt

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实存管理 具有整体性、驻留性及连续性三种特性的存储器管理方法,叫实存管理。我们学习过的无论是分区管理,分页管理,或分段管理,还是段页式管理,都属于实存管理。 实存管理的所谓整体性是指一个作业的全部实体在执行之前必须被整个地装入内存,也就是说,如果一个作业的逻辑地址空间大于内存的用户区时就不能执行。 驻留性是指作业一旦进入内存便一直驻留在内存区直到运行完毕。 连续性,顾名思义,是指给作业分配的一片连续的内存空间。 整体性、驻留性及连续性这三种特性不利于内存空间的有效利用。 虚拟存储器 虚拟存储器(Virtual Memory),简称虚存,是指对内存的虚拟,一种实际并不存在的内存空间,包括一级存储器概念和作业地址空间概念。虚拟并不是无限的,取决于机器的CPU地址结构,虚存容量不能大于外存容量。 请求分页管理 请求分页管理是动态分页管理,是在静态分页管理基础上发展而来的。在简单分页管理中,如果作业所要求的页面数比内存空闲的块数多,则该作业不能装入运行。在虚拟存储器技术的支持下,可以进行请求分页管理。 那么请求分页管理的基本思想是什么?作业要访问的页面不在内存时,该如何处理?如何知道哪些页面在内存,哪些不在?如何决定把作业的哪些页面留在内存中呢?将虚页调入内存时,没有空闲块又怎么处理? 在虚拟存储系统中,将对逻辑空间和物理空间的考虑截然分开,逻辑空间的容量由系统提供的有效地址长度决定。 请求分页管理就能实现这种虚存空间,基本方法是在分页管理的基础上,在作业开始执行前,只装入作业的一部分页面到内存,其它的页面在作业执行过程中根据需要,动态地从辅存装入内存。当内存块已经占满时,再根据某种策略交换出部分页面到辅存。 根据作业的执行情况装入作业的部分实体,显然节省了内存空间。 请求分页管理和分页管理的数据结构、地址映射和存储保护、存储分配与回收等都类似,但请求分页管理的实现过程复杂很多,需要由硬件和软件的相互配合才能完成。 1. 请求调入及缺页中断处理 2. 淘汰算法 3. 抖动与工作集 请求分页存储管理铺垫 作业在运行期间的各个阶段,多数作业只使用全部地址空间的一部分。例如用户编制的出错处理子程序,在作业正常运行情况下不会执行这些程序,没有必要把它们调入内存。即程序中往往会有一些彼此互斥的部分不是每次运行时都能执行到。 程序的局部性。顺序执行的指令和线性结构的数据(如数组)。它们通常被限定在某一连续区域。一旦某一位置被访问后,那么它附近的位置很快也会被访问。 基于上述情况,就没有必要把一个作业一次性全部装入内存再开始运行。而是可以把程序当前执行所涉及的信息放入内存中,其余部分可根据需要临时调入,由操作系统和硬件相配合来完成主存和辅存之间信息的动态调度。这样的计算机系统好像为用户提供了一个存储容量比实际主存大得多的存储器,就称为虚拟存储器。 虚拟存储器的概念 P61 虚拟存储技术的基本思想是利用大容量的外存来扩充内存,产生一个比有限的实际内存空间大得多的、逻辑的虚拟内存空间,以有效地支持多道程序设计的实现和大型程序运行的需要,增强系统的处理能力。 请求分页系统支持虚拟存储技术 请求分页存储管理 名词 作业的逻辑地址空间划分的页,称为虚页 主存称为实存 实存中的块称为实页 请求分页存储管理基本原理 请求分页系统对地址空间和内存空间的管理采用与分页存储管理系统相同的方式,但是它只将作业的部分页面装入内存,便可开始运行作业,作业的其他部分被存放在辅助存储器上。 请求分页存储管理必须解决的问题 一个作业不全部装入,该作业能否开始运行,并运行一段时间? 当程序要访问的某页不在内存时,如何发现这种缺页情况?发现后应如何处理? 缺页时,所需的页面从何处装入?装入到何处?若此时实存中没有空闲块应怎么办? 一个作业不全部装入,该作业能否开始运行,并运行一段时间? 作业在运行期间的各个阶段,多数作业只使用全部地址空间的一部分。例如用户编制的出错处理子程序,在作业正常运行情况下不会执行这些程序,没有必要把它们调入内存。即程序中往往会有一些彼此互斥的部分不是每次运行时都能执行到。 程序的局部性。顺序执行的指令和线性结构的数据(如数组)。它们通常被限定在某一连续区域。一旦某一位置被访问后,那么它附近的位置很快也会被访问。 因此,没有必要把一个作业一次性全部装入内存再开始运行。而是可以把程序当前执行所涉及的信息放入内存中,其余部分可根据需要临时调入,由操作系统和硬件相配合来完成主存和辅存之间信息的动态调度。 当程序要访问的某页不在内存时,如何发现 这种缺页情况?发现后应如何处理? 先进先出算法(FIFO) 淘汰驻留主存时间最长的页面 最近最久未用置换算法(LRU) 淘汰在最近一段时间最久未用的页面 最近最不常用算法 最近未

文档评论(0)

you9391 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档