5.4.1分页存储管理的基本原理.ppt

  1. 1、本文档共105页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
5.4.1分页存储管理的基本原理.ppt

5.8.3 请求分页系统内存块的分配 1. 最小物理块的确定 分配给每个进程的最小物理块数是指保证进程正常运行所需的最少内存块数。当系统为进程分配的内存块数少于此值时,该进程将无法运行。 2. 内存块的分配策略 在请求分页系统中,可采用固定分配和可变分配两种内存分配策略。固定分配策略是指在进程创建时,系统根据进程特点为每个进程分配一定数目的内存块,在进程运行期间不再改变;而可变分配策略是指允许分配给进程的内存块数随进程的运行而改变。 在进行页面替换时,可以采用全局置换和局部置换策略。 (1) 固定分配和局部替换策略 (2) 可变分配和全局替换策略 (3) 可变分配和局部替换 5.8.3 请求分页系统内存块的分配 3. 分配算法 (1) 平均分配算法 这种方法是将内存中所有可用的内存块平均分配给各个进程。 (2) 按比例分配算法 这是根据进程的大小按比例分配内存块的算法。 (3) 优先权法 在实际应用中,为了照顾到重要的、紧迫的作业能尽可能快地完成,应该为它分配较多的内存空间。通常采用的方法是把内存中可供分配的所有内存块分成两部分:一部分按比例分配给各个进程,而另一部分则根据各进程的优先权,适当增加其相应的份额后,分配给各个进程。 5.8.4 工作集理论和抖动问题 1. 工作集 工作集是指在某段时间间隔Δ里,进程实际访问的页面集合,具体地说便是把某进程在时间t-Δ ~ t之间所访问的页面集合计为w(t, Δ),把变量Δ称为工作集窗口尺寸。 正确选择工作集窗口尺寸,对存储器的有效利用和系统吞吐率的提高,都将产生重要影响。一方面,如果把Δ选得很大,进程虽不易产生缺页,但存储器也将不会得到充分利用。另一方面,如果把Δ选得过小,则会使进程在运行过程中频繁地产生缺页中断,反而降低了系统的吞吐率。 5.8.4 工作集理论和抖动问题 2. 抖动 若在系统运行过程中,刚被淘汰出内存的页面,过后不久又要访问它,需要再次将其调入,而该页面调入内存后不久又再次被淘汰出内存,然后又要访问它,如此反复,使得系统把大部分时间用在了页面的调入/换出上,几乎不能完成任何有效的工作,这种现象称为抖动(又称颠簸)。 防止抖动发生与限制抖动影响的方法 : (1) 采用局部置换策略防止抖动的传播。 (2) 利用工作集模型预防抖动。 (3) 通过挂起进程来解决抖动问题。 5.9 Linux的存储管理 拥有一个功能完备的内存管理系统,合理的物理内存管理方法,从而保持物理上连续分布、而逻辑上统一的内存模式对Linux性能影响很大。Linux的存储管理分为两部分:物理内存的管理和进程虚拟地址空间的管理。其中,进程虚拟地址空间的管理亦即虚拟存储器的管理。 5.9.1物理内存的管理 1. 伙伴算法 (1)伙伴关系 定义:由一个母实体分成的两个各方面属性一致的两个子实体,这两个子实体就处于伙伴关系。 在操作系统分配内存的过程中,一个内存块常常被分成两个大小相等的内存块,这两个大小相等的内存块就处于伙伴关系。它满足3个条件:两个块具有相同大小;它们的物理地址是连续的;从同一个大块中拆分出来。 5.9.1 工作集理论和抖动问题 (2)伙伴算法的实现原理 为了便于页面的维护,将多个页面组成内存块,每个内存块都有2 的方幂个页,方幂的指数被称为阶。在操作内存时,经常将这些内存块分成大小相等的两个块,我们称分成的两个内存块为伙伴块,采用一位来表示它们的伙伴关系。 当这个位为1,表示其中一块在使用。当这个位为0,表示两个页面快都空闲或者都在使用。系统根据该位为0 或者为1 来决定是否使用或者分配该页面块。系统每次分配和回收伙伴块时都要对它们的伙伴位跟1 进行异或运算。 所谓异或是指刚开始时,两个伙伴块都空闲,它们的伙伴位为 0,后来其中一块被使用了,异或一下得1,后来另一块也使用了异或一下得0,后来前面一块回收了异或一下得1,后来另一块也回收了异或一下得0。 5.9.2 进程空间的管理 进程地址空间主要由mm_struct结构描述。该结构包含了进程地址空间的两个重要组成部分,分别是进程的页目录及vm_area_struct结构的指针。 1.进程的页表机制 页表机制与硬件密切相关。以i386体系结构为例,描述如何把进程地址空间的线性地址转换为物理地址。i386系列及支持分段机制,也支持分页机制,Linux主要采用了分页机制。一般页的粒度为4KB,页面可以映射到任一物理页帧。i386下进程的线性地址为32位,分为以下三个部分: 页目录段。置于高10位,记录在页目录中的索引。 页表段。占据中间的10位,记录在页表中的索引。 偏移段。占据低12位,表示在4KB的页帧中的偏移。 5.9.2 进程空间的管理 2.虚拟地址空间 Linux将进程

文档评论(0)

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

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

1亿VIP精品文档

相关文档