2013os存储管理lym.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
存储器管理 存储体系 存储体系 高速缓存Cache: 少量的、非常快速、昂贵、易变的 内存RAM: 若干兆字节、中等速度、中等价格、易变的 磁盘: 数百兆或数千兆字节、低速、价廉、不易变的 由操作系统协调这些存储器的使用 基本概念 逻辑地址(相对地址,虚地址) : 用户的程序经过汇编或编译后形成目标代码,目标代码通常采用相对地址的形式,其首地址为0,其余指令中的地址都相对于首地址而编址。 不能用逻辑地址在内存中读取信息 物理地址(绝对地址,实地址) 内存中存储单元的地址,可直接寻址 地址空间 程序用来访问信息所用地址单元的集合,是逻辑(相对)地址的集合,由编译程序生成 存储空间:主存中物理单元的集合 三种地址 存储器管理本讲内容 一. 程序的装入和链接 1. 程序的装入 1.2可重定位方式 重定位(地址映射/地址变换): 经编译得到的目标模块中为相对地址(通常从0开始),即地址都是相对于0开始的。 装入模块中的逻辑地址与实际装入内存的物理地址不同。 装入内存时,相对地址(数据、指令地址)要作出相应的修改以得到正确的物理地址,这个修改的过程称为重定位。例: 1.2可重定位方式(续) 根据地址变换进行的时间及采用技术手段不同,可分为静态重定位和动态重定位。 静态重定位:地址变换是在装入内存时一次完成的,且以后不能移动。 一般情况下,物理地址=相对地址+内存中的起始地址 适用于多道程序环境,可以将装入模块装入到内存中任何允许的位置。 优点:不需硬件支持,可以装入有限多道程序。 缺点:一个程序通常需要占用连续的内存空间,程序装入内存后不能移动,不易实现共享。 2、程序的链接 链接是指将编译或汇编后得到的一组目标模块以及所需库函数装配成一个完整的装入模块(执行文件) 。 目标模块使用的地址是相对的,都是从0开始, 形成统一地址空间的装入模块的过程——链接。 2. 程序的链接 根据链接时间的不同,可把链接分成如下三种: 2.1程序的静态链接 在装入内存之前进行,且链接后形成一固定的装入模块(也称为可执行程序),不再拆开的方式。 2. 1静态链接 这种方式需要解决: 1)对相对地址进行修改。即将各个模块中的相对地址统一为相对于一个起始地址0的相对地址; 2)变换外部调用符号。即将各个模块中用到的外部调用符号转换为相对地址。 2.3运行时动态链接 一开始只链接装入部分模块; 在运行过程中,若发现被调用模块不在内存,则发出请求,由OS查找、装入并链接到调用模块上,再执行。 装入后链接 具有高效且节省内存空间的优点。 静态链接例 装入时动态链接例 运行时动态链接例 二.连续分配方式 程序空间本来就是连续的 用连续的内存装入连续的程序,减少管理工作的难度 二.连续分配方式 1.单一连续分配 内存中仅驻留一道用户程序,整个用户区为一个用户独占。 内存分为两个区域:系统区,用户区。应用程序装入到用户区,可使用用户区全部空间。 最简单,适用于单用户、单任务的OS。 优点:易于管理。 缺点: 对要求内存空间少的程序,造成内存浪费;例 程序全部装入,很少使用的程序部分也占用内存。 1.单一连续分配 2. 固定分区分配 2.2固定分区内存分配 将分区按大小顺序排列,并建立一张分区使用表(可包括分区起址、大小、状态等)。 有内容需要装入时,在分区使用表中查找大小能满足且未分配出去的分区,若能找到,则实施分配且修改分区表中的状态。否则,拒绝分配。 2.3固定分区分配特点 优点:易于实现,开销小。 缺点: 内碎片造成浪费 分区总数固定,限制了并发执行的程序数目。 采用的数据结构:分区表-记录分区的大小和使用情况 动态分区分配 3. 动态分区分配 3.1动态分区分配数据结构 1)空闲分区表:用表的方式记录内存中的所有空闲分区。每一分区占一表目。可包括序号、分区大小、始址等。 3.2分区分配算法 内零头与外零头 内存分配性能评价的一类重要指标 内零头: 分配给用户但用户没有使用的空间 “多分配的空间” 外零头: 没有分配但无法分配的空间 太小而无法分配,“分不出去的空间” 单一连续分配有较大的内零头 分区分配有小于一个分区的内零头 2)循环首次适应 3)最佳适应算法(BF,Best-Fit) 要求:空闲分区按大小递增的顺序进行链接。 分配:从链表头进行顺序查找,直至第一个大小能满足的分区。则为能满足且最接近需要大小的分区。划分。 优点:避免“大材小用” 缺点:外零头严重;分区组织、空闲分区的回收复杂。 4)最坏适应算法(Worst Fit) 3.2动态分区分配算法(续) 总结: 分区分配算法的性能看其时间、空间复

文档评论(0)

***** + 关注
实名认证
文档贡献者

本账号下所有文档分享可拿50%收益 欢迎分享

1亿VIP精品文档

相关文档