- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《软件技术基础》- 操作系统(存储管理)
存储管理 基本内容 存储器层次结构 存储管理任务 实存储管理 虚拟存储管理 要求 掌握存储管理任务 掌握存储管理、 实存储管理 了解存储器层次结构 程序编译的步骤 内存管理方法 – 实存管理(连续分配方式) 单一连续分区 在操作系统起动后,内存被分成两个区域,一个区域存放操作系统,另一区域存放用户的程序,该方法只适用于单道程序的运行。 优点: 实现简单; 操作系统开销小。 缺点: 只适用于单道程序,内存利用率低。 固定分区 在操作系统起动后,内存被分成一系列固定不变的分区(partition),每个分区的大小可相同也可不同,一次内存分配以一块分区为单位,进程被装入到一块或连续的几块分区(进程大于一块分区)。 优点:实现简单; 操作系统开销小。 缺点:由于产生内部碎片,内存利用率低。 内存压缩 定时地(或者在主存空间紧张时)把主存中的作业“搬家”集中在主存的一端,使另一端产生一个大的空闲区,这种技术称为存储器的“紧凑”。紧凑仅仅在动态重定位时才可以用,并且在运行时执行。 虚拟内存管理(Virtual memory management) 原理:程序在执行过程中一个较短的时期,所执行的指令地址和指令的操作数地址,分别局限于一定的区域,即程序对主存的访问是不均匀(对某些局部区域的访问频率特别高)的,这种特性叫做程序的局部性原理(Principle of Locality)。 - 虚拟内存管理的原理 时间局部性和空间局部性 程序装入时,不必全部装入内存,而只需要将当前需要的执行的部分读入内存,就可以开始程序执行,在执行过程中,若需要的部分不在内存,由操作系统将其调入,如果没有多余的主存空间,则把暂时不用的部分调出。 Eg. For( i = 1; i 100; i++ ) // 循环对变量 I 处理,I 变量单元被重复访问的可能性很大 { s = s + a[i]; } 页面替换算法(Page replacement algorithms) 由于内存可能无空的页,就要把其他进程的页换出到磁盘,得到 的空页给申请缺页的进程。替换算法的好坏主要体现在页面缺页 率低 缺页率 = 缺页次数 / 访问页面总数 * 100% 缺页次数越高则缺页率越高 先进先出算法(First in first out –FIFO page replacement) 依据:在内存最长时间的也可能不再被用到,即程序执行的时间 上的局部性特点 对有些页面替换算法,当内存的空页增加时,缺页率反而增加,该现象称为Belady’现象。FIFO算法就是其中之一 同学们可以对访问页的顺序为:1,2,3,4,1,2,5,1,2,3,4,5。在内存总数分别为1、2、3、4、5、6页的情况下,求FIFO算法的缺页率。 最近最少使用换页算法LRU(Least-recently-unused replacement) 选择内存中最长时间未被使用的页换到磁盘。Unix采用之。 依据:程序执行的空间局部性特点 最佳页面换页算法(Optimal Algorithm ) 选择内存中将在最长时间内不会使用的页换到磁盘。 不幸的是,很难判断最佳页面 抖动(thrashing ) 过高缺页率的现象,系统用于交换页面的时间远远大于CPU执行的时间(刚被淘汰的页面可能很快又要被使用,导致系统反复频繁地更换页面) 影响缺页率的主要因素 分配的页面数,一般的,more frames ? less page faults 页面大小 页面小时 内碎片越少 页面置换花费的时间越少 页面数越大,页表越大 缺页率高 页面大时 页面置换花费的时间越大 缺页率低 页面置换算法 逻辑地址1 p0 p1 p2 p3 p4 p0 p1 p2 逻辑地址2 p0 p1 逻辑地址3 p4 p2 p1 p0 p1 p3 p0 p1 p0 p2 物理地址 Logical View Physical View 以页为单位进行分配,逻辑上相邻的页,物理上不一定相邻 物理地址 块号: F 偏移: D 页号: P 偏移: D 逻辑地址 页表 Table 20 bits 12 bits 4K pages 12 bits 分页地址转换 页表:系统为每个进程建立一个页表,页表给出逻辑页号和具体内存块号相应的关系, 放在内存,属于进程的现场信息 块和页的大小相等,偏移量不变 分段管理(Segmentation) 物理内存与动态分区管理一样(申请多少给多少)。 用户程序逻辑空间被划分成段( Segmentation )。 分段管理允许一个进程在内存的物理地址是不连续的
文档评论(0)