操作系统第5章讲存储管理1连续分配综述.pptVIP

操作系统第5章讲存储管理1连续分配综述.ppt

  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文档。上传文档
查看更多
操作系统第5章讲存储管理1连续分配综述

主要研究三方面的问题: 放(Placement) 取(Fetch) 换(Replacement);第一个问题:放(Placement),如何放入内存?;第二个问题是: 取(Fetch),即如何从外存调入内存。;第三个的问题:换(Replacement),即请求从外存调入的页或段与内存中的哪些块或哪个存储区对换?;5.1程序的装入和链接 一、源程序装入内存的三个步骤;一、源程序装入内存的三个步骤 如:有一作业A,有4个程序段,装入过程如下:;二、链接方式 1、静态链接----程序运行之前就事先将外部目标模块链接成可执行文件,称为静态链接。例:如下作业B有三个目标程序模块。 ;二、链接方式 2、装入时动态链接----程序在装入内存时才将外部目标模块链接成完整的可执行的目标模块。 ;二、链接方式 3、运行时动态链接----由于程序在每次运行时,可能运行的程序模块可能不同,在程序得到运行时才将用到的目标模块链接成完整的可执行的目标模块。 ;三、重定位----完成相对(逻辑)地址转换成内存物理(绝对)地址的工作。分为静态重定位和动态重定位。;5.2 连续空间分配 方式:单道连续、多道固定、多道可变 5.2.1 单道连续分配;(1)内存空间安排:内存除存在OS外,余下的空间只供一个用户程序使用。;(2)设置越界检查机构:用户程序每访问一次主存,越界检查机构将访问的地址与界地址寄存器中的值比较。若越界,则终止其执行。;(3)覆盖(overlap)技术 ;操作系统;多道:任一时刻内存可有多道作业,每道作业连续存放于内存. ; 例如:某存储系统共256KB采用固定分区法,0-50K为OS使用。50K-80K为分区1,80K-130K为分区2,130K-190K为分区3,190K-256K为分区4。见图示; 这样,内存就可以同时装入四个作业,分区1可装入小于30KB的作业,分区2可装入小于50KB的作业,分区3可装入小于60KB的作业,分区4可装入小于66KB的作业。;;;;;;;2.基址寄存器、长度寄存器的动态地址转换机构。当作业被调度运行时,将作业所占内存基址及长度送基址、长度寄存器,每次内存访问时,先看访问地址是否小于长度,然后+基址进行访存。见下图。;CPU;例:CPU要访问上例作业2的A地址时的检查过程;动态重定位:指用户代码中的相对地址先原封不动地装入内存指定地址,在执行期间才被动态地转换成绝对地址.;100;又例动态重定位的实现过程。指令MOV R1,(3000)(即把相对地址为3000的单元中的123取到1号寄存器) ;(3)多道固定划分法的作业调度技术;OS;(4)固定分区法存在碎片问题 内部碎片:内存某存储区间大于其存放作 业空间的部分。如:作业只有3KB时,而某内存固定分区有4KB。有1KB内部碎片。 ;外部碎片:内存某存储区间容不下要运行 的作业时。 如:作业长度为:5KB,8KB,12KB时,若内存固定分区只剩下4KB,则存在外部碎片。 ; 一、管理方法 ;;例题2:有以下5个作业,假设任一时间段内,内存中每一作业的运行时间相等,采用FCFS作业调度方法。;二、可变分区中的数据结构 常用的数据结构有两种:空闲分区表和空闲分区链。 (1)空闲分区表。为内存中每个尚未分配出去的分区设置一个表项,每个表项包含分区序号、分区起始地址和分区的大小。 ;例:根据右图的内存使用情况填写空闲分区表。; (2)空闲分区链。在每个空闲分区中设置用于控制分区分配的信息及用于链接各个分区的指针,将内存中的空闲分区链接成一个链表。不同的分配算法链表的组织方式不同。;三、可变分区分配算法;例1:根据右图的内存使用情况画出首次适应算法的链表组织形式及分配一个10KB的作业后的情况。;1解:(1)分配一个10KB的作业前的链表组织形式。;三、可变分区分配算法;例2:根据右图的内存使用情况画出下次适应算法的链表组织形式及分配一个10KB的作业后的情况。假设上次找到的空闲分区是空闲区1。;2解:(1)分配一个10KB的作业前的链表组织形式。;三、可变分区分配算法;例3:根据右图的内存使用情况画出最佳适应算法的链表组织形式及分配一个10KB的作业后的情况。;3解:(1)分配一个10KB的作业前的链表组织形式。;三、可变分区分配算法;例4:根据右图的内存使用情况画出最坏适应算法的链表组织形式及分配一个10KB的作业后的情况。;4解:(1)分配一个10KB的作业前的链表组织形式。;四、可变分区的作业分配过程 在找到合适的空闲块后,从其中将作业大小的空间分给作业,而剩余部分挂入空闲队列。 下面F 是空闲块集合; size(k)

文档评论(0)

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

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

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档