课件第七章主存管理_第1页
课件第七章主存管理_第2页
课件第七章主存管理_第3页
课件第七章主存管理_第4页
课件第七章主存管理_第5页
已阅读5页,还剩116页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

7.1空间7.2主存管理7.3分 管7.4页 管7.5段式7.6段页式管段页 映射逻辑地址到物理主存地址(主存映射在多用户之间分配物理主存(主存分配扩充逻辑主存区(虚拟内存局部性原理多数情况下仍是顺序执行(2)区域,但经研究看出,过程调用的深度在大多数情况下都不超过5(3)程序中存在许多循环结些虽然只由少数指令构(4)程序中还包括许多对数据结构的处理,如对局限性又表现在下述两个方时间局限性。如果程序中的某条指令一旦执不久以后该指令可能再次执行;如果某数据被过,则不久空间局限性。一旦程序了某个单元,在不久之程序的程 虚拟地址空

物理地址空主 辅管部虚地 管部处处理 A)B)C)D)虚 一、编址的基本概逻辑地址(程序地址、相对地址、虚地址):程序中(指令或据)逻辑空间(程序空间、作业的地址空间):逻辑地址的集合所对物理地址(绝对地址、实地址)存单元的地址又称为绝对址:n、n+1、…、n+m所对应的二、地址映进程运行时,程序中所要的逻辑地址通常与主存空间中的。0

movmovr1,[500]作业地址空

k-

mov主存空优点 速度缺点:程序只能在确定机器的、确定装入点运静态地址映射(映射关系在装载程序时确定在作业装入过程中,随即进行的地址变换,称为静态或静态地址映优点: 速度快;可在任意装入点和其他的机器上运行:、外存交)movmov0

movmov作业地址空

重定装入程

256k-

主存空(3)动态地址映射(映射关系执行程序时确定在进程的执行期间,随着每条指令或数据的自动地进行地映射。(即:装入内存后的所有地址都仍是相对地址。在多个不连续的内存区域。不足:需要有硬件地址变换机构和寄存器,地址稍慢movr1,movr1,0

作业地址空

movmov+逻辑地寄存256k-空()的逻辑结构是以二维段式结构进行组织的。一个进程的内存分布如下图。栈:保存函数的①函数参数、②局部变量③函数返回值堆:动态内存分配,一般用于malloc分配的空间。BSS段(blockstartedbysymbol)包含Linux#nm

注意:全局变量或静态全局变量尽量不要要初始化。大的局部变量使用堆分配,栈空间有限1、构造分配用的数据结构(后面详细介绍2、制定各种策进行分配调入策略:决定信息装入主存的时机,可分为(1)预调: 申请:提出所需主存的大小返回:已分配主存的首地在多用户环境中,必须保证:每道区域内、进行指定的活动,这种措施叫做护保护的方法,通常(1界地址保(1)上、下界保下界寄存器。每次进行地址时,进行越界检测。若:下界寄存≤地址D界寄存器则允许,否则发生越界中断。下界寄存上界寄存

movmovr1,空(2)基址、限长保 测。若:0≤ 地址<限长寄存器,允许 生越

基址寄存限长寄存

movmovr1,空Write)控制保护的四种方式 做任何操作;只能执行;读;读/写0022R22R237.3.1动态分动态分区的回0

作业作业作业作业作业作业作业完作业作业

作业完

作作业作业主

主(一)每个分区都有一个数据结构,称为(通常就定义在分区的首部),用来描述该分区分配指size:分区的大next:空闲区队列 指(二)自由主存(或空闲区)作业作业业作业主

m-

00自0(一)分区的分系统调用的形式:requestsize功能:在自由主存队列中搜索满足要求的空闲返回的结果:所分配区域的首00自由主(一)分区的分配算法输入:请求主存大小size,输出:分配块的首址第一部分:寻找合适大小的空第二部分:处理分配后的剩余(二)回收一个主存系统调用的形release空闲区的处理r作r作业作业rr作业r作业r上邻空闲 r下邻空闲 r上下邻空闲 r不邻空闲回收分区r上邻空闲 回收分区r下邻空闲r作业r作业作业作业r作业回收分区r上、下邻空闲 回收分区r不邻空闲rr作业r作业作业f作业A无上邻空BC有下邻空闲D有下邻空闲区,也有上临空闲1求的空闲区中。作业作业在使在使在使尽量利用主存低地址部分的空闲尽可能地保存高地址部分的大空2、最佳适应算中剩余区最小。作业作业尽可能保存大的空闲3、适应算指将作业放置到主存中主存中最不适合它的空闲区中(剩余区最大)。尽可能使剩余块思考:为什么要这样做关于三种放置策略的设有一组作业系列对内存的要作业A要求作业B要求作业C要求30KB看哪种算法能完成所有作18KB18KB;25KB;30KB0000分配后的自18KB;18KB;25KB;00000000分配后的自由主00000118KB;25KB;00000000003如何评价算法的性能若一种算法能满足某种作业序列的所有分配要求,则称该法对此种作业序列是合首次适应算法首次适应算法法剩余块大 寻找时间 大作 一最佳适应算法小有利适应算大,但可有利作业作业什作业作业极小空闲区,浪费了内存。如何解决碎片问规定剩余分区的阀7.4.1页式系统应解决的一大块连续内存空间程序分割为若干,分散在空间的不在虚拟的技术,只需将程序的部分页面调入内存应解决的放置

逻辑地址🡨→物理地址虚拟内存→物理内存物理内存→虚拟内存→空闲页面(简称页),又称为虚页。3.作业的页面与主存块的关页长:页(或块)的大小称为页长。页长通常 1kB2kB

4kB8kB物理地址=分区首址(基址寄存器)小为1KB10位)。若给出逻辑地址:wp页 页内位wp 10 (三)

页号 位移:movmovr1,……作业2地址空

页表始址+块号 021427页

块内位移0

主 例1:有一系统采用页式管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、A、5块,试将虚地址0AFEH,1ADDH虚地址进行页号和页内偏移的分000010101111P=1(页号W=01011111110(页内偏移MR=010010101111虚地址000110101101W=0101101MR=00101010

例2:有一系统采用页式管理,有一作业大小是8KB,页大小为2KB,依次装入内存的第7、9、10、5块,试将虚地址7145,3412转换成内存地址。P=3412%2048= 虚地址3412的内存地是虚地址P=7145%2048=1001

虚地址7145射到32块的物理区中,那么逻辑地址的有效位逻辑空间有8(23)页,说明页号需要3个二进制5+10=15页表的实现方式有三1每次存取 主存二次,存取时间延长一2.页表在高速缓 器中地址变换速度快,但硬件的成本较3.综合:将当前使用的部分页表项放到高速缓冲 器中的内容:8~16个高速缓存 可达85~97联想按地址方式和按内容方式是器的大多数的器是利用地址来寻址的,是串行工作的,所给定地址要事先加以计算和译码,因此速度慢按内容的器是并行工作的,它将给定的内容单元中的内容进行比较,以找到目标。联想器中含相应的逻辑电路。(相当于在内存中建立了索引和检索机,需要专门设计电路)式在实现查找要简单些。称为称联想器。 单元,位的序数即为联想器的单元地址第一联 的结

第二的结女男男女男男女…………女卡男1110…100111…110110…10000第一次检索关键000第二比较寄存器c用来放要检索数,器r用来不参加并行比较的位。指示寄存器位用来存放当前检索结果。暂存寄存器tr(位)两级页表(Two-LevelPage逻辑地址结构可描述如两级页多级页如果是两级页表,64位的系统怎么办?页表会有多页面调入的方预调:问题是无法预测以后要的页请调:当发现所需的页面不在主存时再调访存时间为◦快表时间为a,访存时间为t,快表为扩充的页表功1:不在主存 0:在主辅存地址:该页面在辅存的位改变位:表示该页是否被修改1:已被修改过 0:未被修改 0:未被过;置换算法中会用主存位辅存当执行指令: r1,[2120]时,发生缺页中汰)问题是,淘汰哪一页1、什么是淘汰策页的规则,称为淘汰策略(也称为置换算法。2、颠簸(在主存和辅存之间,频繁的页面置换现像称为颠簸,它导致统的效率急剧下降。(换页时间>执行时间)思考:怎么解决抖动现象?3、缺页中断用于衡量页面置换算法的效率,有f 失败次数 总次先进先出算法最久未使用淘汰算法最不经常使用淘汰算法最佳置换最佳置换算法是由Belady于1966年 一种理论上的算法。其所选择的被淘汰页面,将是以后永不使用的,或许是在最长(未来)时间内不再被访问的页面。采用最佳置换算法,通常可保证获得最选择在主存中居留时间最长(即最老实现:可用一个数组,代替按排序的定长队率较差(程序中存在大量的循环、子

2451替换指245112321542121542143555211432143335224321444355页页选择最长时间未被使用的那一页淘汰依据的理论是如果某页被,它可能马上还要被;相,如果某页长时间未被,它可能最近也不可能被实现:采用一个队列,新的页面插入队尾(若已在队列先抽出),淘汰的页面为队首评价:缺页中问题每次内存,都要对队列进行搜、,系的开销较大。3215432143215432143543215432143543214321435132页2页3LRU置换算法的硬件支持(二选一R=Rn-1Rn-2Rn-栈LRU置换算法对硬件要求太高,故在实际应用中,大多用LRU的近似算页面淘汰时:淘汰位为0选择某段时间以来次数最少的那一页淘汰掉实现:在页表中设置一记数页面被时:页表中的记数器加1页面淘汰时:选择记数器值最小评价:效率同LRU算法接且不需增加另外的结实现起来特别,目前很少被采用一个程序共有5个页面组成,分别为P1~P5器共有3 时间123456789101215413424命中次算是否缺中LRU7.5.1段式系统的特DOS码段、数据Unix 为了实现段的动态,需要在系统中配置多种硬件设备,以快速完成动态的功能。其所需的硬件支持包段式管理采用动态重定位方式装入作业各段,如果作业的某段找不到足够大的空闲区时,也可采用移动技术合并分散的空闲区。分配方法同可变分区方式类似,根据段长找出一个可容纳该段的空闲区,分割这个空闲区,一部分用来装入该段信息,另一部分仍为空闲区。地址转换工作在作业执行时,由地址转换机构完成从逻辑地址到绝对地址的转换。取出程序地址如果:W< W≥L,则地址越否则:用S检索段表,得到段的内存首地址B,则(B+W即为所段 段内位++第S 段表BL长度ws程序决定(最大长度由段的编址长度决定)。 式管理必须为每个作业建立一张段表,的表目页号与内存块号的对应关系。0代0代码数据0栈0段2120表2120nn00页页块00111110块页主各10块页主 可选部分(不常用功能)在其他程序模块(覆盖文件),在需要用到时才装入到内345地址空间都进行传送,没有考虑执行过程中地址的6 假设系

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论