网站大量收购独家精品文档,联系QQ:2885784924

北京工业大学操作系统课OS3.pptx

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

第八章~第九章存储管理概述分级存储体系分级存储体系存储器是计算机系统中的一种十分重要的资源存储器的价格也十分昂贵快贵小便宜大慢程序执行过程内存由一组字节组成,每个字节有一个地址CPU根据PC寄存器的值从内存获取指令这些指令可能还需要从内存中获取数据。存储管理的目的和任务主存的分配和回收地址映射/地址捆绑/重定位存储保护扩充主存实存储器管理技术存储管理相关概念覆盖技术与交换技术分区式存储管理页式存储管理段式存储管理段页式存储管理实存储器管理技术存储管理相关概念覆盖技术与交换技术分区式存储管理页式存储管理段式存储管理段页式存储管理逻辑地址 物理地址CPU生成的地址是逻辑地址内存单元的地址是物理地址程序生成的逻辑地址的集合是逻辑地址空间所有物理地址的集合是物理地址空间用户是否能预知程序代码调入内存之后所放入的地址?地址映射/地址捆绑/重定位逻辑地址向物理地址的转换过程就是重定位重定位的发生时机编译时编译时就知道进程将在内存中驻留的地址,可以直接生成绝对代码。例如,MS-DOS的COM文件加载时编译生成可重定位代码,捆绑/重定位在加载时进行静态重定位执行时若进程在执行时允许移动,则捆绑/重定位在执行时进行动态重定位动态重定位的硬件实现动态重定位是由内存管理单元(MMU)实现的设置专门的寄存器,称为基址寄存器(重定位寄存器)和界限寄存器。程序指令地址的重定位在指令执行的时候实现保护保护操作系统不受用户进程的影响保护用户进程不受其它用户进程影响用基地址寄存器(重定位寄存器)和界限器存器实存储器管理技术存储管理相关概念覆盖技术与交换技术分区式存储管理页式存储管理段式存储管理段页式存储管理符号表覆盖驱动程序公共程序覆盖在任何时候只能在内存中保留所需要的指令和数据。新的指令和数据可覆盖不用的指令和数据不需要操作系统提供特别支持例子two-pass汇编程序交换在内存不足的情况下,需要把一个进程整个换入和换出,称为交换交换空间的分配进程在被换出时分配交换空间 每次换到不同的位置进程分配固定的交换空间实存储器管理技术存储管理相关概念覆盖技术与交换技术分区式存储管理页式存储管理段式存储管理段页式存储管理为什么用分区式存储管理前提操作系统占用主存的固定部分主存的其它部分被其它进程占用采用多道程序设计可以提高CPU利用率为了让主存中尽量多地保存进程而不会向互干扰,最简单的方法是将这一部分存储器分为有固定边界的区域。固定分区把存储器分为大小相等的区所需空间小于等于分区大小的进程可以调入可用分区进程换入换出所有的分区都是满的没有进程处于就绪状态或运行状态固定分区的特点优点缺点简单程序可能太大而不能放入一个分区程序员要设计一种覆盖的方法。主存的应用效率低小程序也要占用整个分区限制了系统中可以激活的进程数目因调入的数据小于分区而产生分区空间的浪费,称为内部碎片。用不等长的分区来缓解,但不能根本解决。放置算法等长分区不等长分区主存中只要有可用的分区,进程就可以调入到那个分区中如果所有的分区都被不能执行的进程占用,则其中的一个进程会被换出以放入新进程将进程放置在它最适合的最小的分区中将所有进程排在一个队列中,当该调入一个进程进入主存中时,就选择可用的且可以保存这个进程的分区可变分区系统中分区的长度和数目是可变的。当有进程进入系统时,从主存按一定策略划出一块与进程所需空间相等的区分配给进程可变分区的特点缺点一开始运行得很好,但是在执行一段时间后,会出现一些小的洞。这种在分区外的洞称为外部碎片。需要用内存紧缩(紧凑)方法解决。分配多大的内存给进程。简单方法:按照需求的大小进行分配。这样如果程序有可以动态增长的段,就有问题。解决方法是为进程分配一些额外的内存。内存管理方法:位图将内存按一定大小划分成分配单位,每个分配单位对应位图中的一位用0表示空闲,1表示使用(或者反过来)在内存大小确定的情况下,分配单位的大小决定了位图的大小。内存管理方法:链表维护一个已分配和空闲内存段的链表。每一个表项都有:P或H表示是进程还是空闲区域、起始地址、段长度和指向下一个表项的指针。链表方法的内存分配算法最佳适配最差适配下次适配首先适配在整个存储区中找一个最接近需求的空间按空间从小到大排序总是分配最大的空闲区按空间从大到小排序从上次放置位置开始找第一个足够的空间按地址顺序排序从头至尾扫描,选择第一个足够的空间按地址顺序排序实例:Buddy系统固定分区和可变分区都有自己的优点和缺点固定分区固定分区机制限制了可以被激活的进程数目,并且对用户空间的是效率很低可变分区可变分区机制在维护上比较复杂,并且在紧凑时浪费处理器时间Buddy系统是两者的结合实例:Buddy系统分区存储管理的问题前面的存储器管理方式都要求一个进程在主存中占用连续的存储空间。会产生小碎片,只能用紧凑的方式拼接成大的空间开销大如果进

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档