《第4章内存管理.doc》由会员分享,可在线阅读,更多相关《第4章内存管理.doc(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、第4章 内存管理习题解答 7第4章 存储管理课后习题解答1存储管理的功能是什么?【解答】存储管理的主要功能是:(1)内存分配。内存分配的任务是为每道作业分配一定的内存空间。往往会出现多道程序对内存的需求总和超过实际内存空间,因此,制定分配策略时应以提高内存利用率为目标。(2)地址转换映射。一个应用程序经编译后形成很多目标程序,这些目标程序经过连接后形成可执行程序。需要把逻辑地址转换成物理地址。(3)内存保护。内存保护的任务是确保每道用户程序都在自己的内存空间中运行,互不干扰。(4)内存扩充。在多道程序环境中,内存资源比较紧张,往往会出现多道程序对内存的需求总和超过实际容量的情况。这时要进行内存
2、扩充,扩充的方式采用虚拟存储器的方式进行。2存储分配的方式有几种?【解答】存储分配的方式有连续存储分配和非连续的存储方式两大类。连续的存储分配的方式包括单连续存储分配、固定分区分配方式、动态分区分配方式、可重定位的分区分配方式。非连续的存储分配方式包括分段存储管理、分页存储管理、段页式存储管理三种方式。3什么叫虚拟存储器?【解答】基于局部性的原理,作业在装入之前,没有必要一次性装入内存,仅将要运行的部分装入到内存,其余的仍然放在磁盘上。当程序要访问的页没有装入到内存时,将它们装入到内存,继续运行。若内存已经满,则将内存中暂时不用的页调出内存,释放所占的内存空间,将要访问的页调入内存执行。这样就
3、可以在较大的程序调到一个较小的内存空间上运行。从用户角度看,该系统所具有的内存容量比实际的内存容量要大的多,人们把这样的存储器称为虚拟存储器。4简述目前常用的几种分区分配方式。【解答】目前常用的分区分配方式有分页存储管理、分段存储管理、段页式存储管理、请求分页式存储管理、请求分段式存储管理和请求段页式存储管理。5简述请求页式存储管理的实现思想。【解答】请求分页式存储管理是建立在页式存储管理的基础之上的一种存储管理方式。是一种常用的虚拟存储方式。它需要软、硬件的支持。换进和换出的基本单位是页面。6缺页中断和一般中断的区别是什么?【解答】缺页中断作为中断,同样要经过CPU现场、分析中断原因、转缺页
4、中断处理程序进行处理、恢复CPU现场等步骤。但缺页中断又是一种特殊的中断,它与一般中断的主要区别是:(1)在指令执行期间产生和处理中断信号。通常,CPU都是在一条指令执行完后去检查是否有中断请求到达。若有则去响应中断;否则继续执行下一条指令。而缺页中断是在指令执行期间,发现所要访问的指令或数据不在内存时产生和处理的。(2)一条指令在执行期间可能产生多次缺页中断。例如,对于一条读取数据的多字节指令,指令本身跨越两个页面,假定指令后一部分所在页面和数据所在的页面均不在内存,则该指令的执行至少产生两次缺页中断。7已知页面走向为1、2、1、3、1、2、4、2、1、3、4,且开始执行时主存中没有页面。若
5、只给该作业分配两个物理块,当采用FIFO页面淘汰算法时缺页率为多少?假定现在有一种淘汰算法,该算法淘汰页面的策略为当需要淘汰页面时,就把刚使用过的页面作为淘汰对象,试问相同的页面走向,其缺页率又为多少?【解答】在进行内存访问时,若访问的页以在主存,则称此次访问成功。若访问的页不在主存,则称此次访问失败。并产生缺页中断。若程序P在运行过程中访问页面的总次数为s,其中产生缺页中断的访问次数为f,则其缺页率为f/s.表4-1采用FIFO淘汰算法的页面置换的情况如表4-1所示: 页面走向12131242134物理块1113322114物理块222114433缺页缺缺缺缺缺缺缺缺缺从上面的页面置换图可以
6、看出,页面引用的次数为11次,缺页次数为9次,所以缺页率为9/11。若采用后一种页面淘汰策略,其页面置换的情况为:表4-2页面走向12131242134物理块111311134物理块22224222缺页缺缺缺缺缺缺缺缺缺从上面的页面置换算法可以看出:页面引用次数为11次,缺页次数为8次,所以缺页率为8/11。8表给出了某系统中的空闲分区表,系统采用可变分区存储管理策略。现有以下的作业序列:96k、20K、200K。若用首次适应算法和最佳适应算法来处理这些作业序列,试问哪一种算法可以满足该作业序列的要求?为什么?表4-3分区号大小起始地址132k100k210k150k35k200k4218k2
7、20k596k530k【解答】首次适应算法要求空闲分区按地址递增的次序排列,在进行内存分配时,总是从空闲分区表首开始顺序查找,直到找到第一个能满足大小要求的空闲分区为止。然后再按作业大小,从该分区划出一块内存空间分配给请求者。余下的空闲分区仍然留在空闲分区表中。最佳适应算法要求空闲分区按大小递增的次序排列。在进行内存分配时,总是从空闲分区首开始顺序查寻,直到找到第一个能满足其大小 的空闲分区为止。如果该空闲分区大于作业的大小,则与首次适应算法相同,将剩余空闲区仍留在空闲分区表中。表4-4若采用最佳适用算法,在申请96K存储区时,选中的是5号分区,5号分区大小与申请空间大小一致,应从空闲分区表中
8、删去该表项;接着申请20K时,选中1号分区,分配后2号分区还剩12K;最后申请200K,选中4号分区,分配后剩18K。显然采用最佳适应算法进行内存分配,可以满足该作业序列的需求。为作业序列分配了内存空间后,空闲分区表如表4-4所示。分区号大小起始地址112k100k210k150k35k200k418k220k表4-5分区号大小起始地址112k100k210k150k35k200k4122k220k596k530k9.在某系统中,采用固定分区分配管理方式中,内存分区(单位字节)情况如下图所示。现有大小为1k,9k,33K ,121k的多个作业要求进入内存,试画出它们进入内存后的空间分配情况,并
9、说明主存浪费多大?【解答】该题有四个分区,第一分区大小为8k,第二分区大小为32k,第三分区大小为120k,第四分区大小为332k.该作业进入系统后的内存分配情况如下面的图形所示。操作系统1k的作业9k的作业33k的作业121k的作业第一分区0k20kk28kk60k180k512k-1第二分区第三分区第四分区操作系统0202860180512k-1第一分区第二分区第三分区第四分区图4-1图4-2从图中可以看出,作业进入系统后,第一分区剩余空间为7k,第二分区剩余空间为23k,第三个分区剩余空间为87k,第四个分区剩余空间为211k,主存空间浪费328k。10有一个分页存储管理系统,页面大小为
10、每页100字节。有一个5050的整型数组,按行连续存放,每个整数占两个字节,将数组初始化为0的程序描述如下: int a5050; int i,j; for(i=0;i=49;i+) for(j=0;j=49;j+) aij=0;若在程序执行时内存中只有一个存储块来存放数组信息,试问该程序执行时产生多少次缺页中断?【解答】由题目可知,该数组中有2500个整数,每个整数占2个字节,共需要存储空间5000个字节;而页面大小每页100字节,数组占用空间50页。假设数组从该作业的第m页开始存放,则数组分布在第m页到第m+49页中,它在主存中的排列顺序为:a00, a01,a049 第m页a10, a1
11、1,a149 第m+1页a490, a491,a4949 第m+49页由于该初始化程序是按行进行的,因此每次缺页中断调进一页后,位于该页内的数组元素全部赋予0值,然后再调入下一页,所以涉及的页面走向为m,m+1,m+49,故缺页次数为50次。11试述分页系统和分段系统的主要区别。【解答】分页和分段有许多相似之处,比如两者都不要求作业连续存放。但在概念上两者完全不同,主要区别有以下几个方式:(1)页是信息的物理单位,分页是为了实现非连续分配,以便解决内存碎片的问题。或者说分页是由于系统管理的需要。段是信息的逻辑单位,它含有一组意义相对完整的信息。分段的目的是为了更好的实现共享。满足用户的需要。(
12、2)页的大小固定且系统确定,将逻辑地址划分为页号和页内地址是由机器硬件实现的。而段的长度却不固定,决定于用户所编写的程序,通常由编译程序在对源程序进行编译时根据信息的性质来划分。(3)分页的作业地址空间是一维的。分段的地址空间是二维的。12设有一页式存储管理系统,向用户提供的逻辑地址空间最大为16页,每页2048字节,内存总共有8个存储块,试问逻辑地址至少应为多少位?内存空间多大?【解答】在页式存储管理中,用户作业的地址空间被划分成若干大小相等的区域,称为页或页面。相应的,将主存的存储空间也分成与页大小相等的区域称为块或物理块。在为作业分配存储空间时,总是以块为单位来分配,可以将作业中的任意一
13、页放到主存的任意一块中,页式存储管理系统中的逻辑地址结构为:页号P页内位移W在本题中,每页2048字节,所以页内位移部分地址需要占据11个二进制位。逻辑地址空间最大的为16页,所以页号部分地址需要占据4个二进制位。故逻辑地址空间至少应为15位。由于内存共有8个存储块,在页式存储管理系统中,存储块大小与页面的大小相等,因此内存空间为16k。表4-613有一段式存储管理系统,其段表如表4-6所示。试求如表4-7所示逻辑地址的物理地址是多少?段号内存起始地址段长02105001235020210090313505904193895 表4-7段号段内位移0430110250034004112532 【
14、解答】在段式存储管理中,为了实现从逻辑地址到物理地址的转换,系统将逻辑地址中的段号与段表长度进行比较,若段号超过了段表长度,则表示段号太长,于是产生越界中断信号;若未越界,则根据段表始址和段号计算出该段对应段表项的位置,从中读出该段在内存的起始地址,然后,再检查段内地址是否超过该段的段长。若超过则同样发出越界中断信号;若未越界,则将该段的起始地址与段内位移相加,从而得到要访问的物理地址。(1)由于第0段的内存始址为210,段长为500,故逻辑地址0,430是合法地址。逻辑地址0,430对应的物理地址为210+430=640(2)由于第1段的内存始制址为2350,段长为20,故逻辑地址1,10是
15、合法地址。逻辑地址1,10对应的物理地址为2350+10=2360(3)由于第2段起始地址为100,段长为90,所给逻辑地址2,500非法。(4)由于第3段的内存始址为1350,段长为590,故逻辑地址3,400是合法地址。逻辑地址3,400对应的物理地址为1350+400=1750。(5)由于第4段的内存始址为1938,段长为95,所给逻辑地址4,112非法。(6)由于系统中不存在第5段,所给的逻辑地址5,32非法。14在一个请求分页系统中,采用最近最久未使用页面置换算法时,假如一个作业的页面走向为4,3,2,1,4,3,5,4,3,2,1,5,当分配给该作业的物理块数分别为3和4时,试计算
16、访问过程中所发生的缺页次数和缺页率,比较所得到的结果。【解答】下面的表格就是物理块数为3和4的情况。表4-8页面走向432143543215块14441115222块2333444411块322233335缺页缺缺缺缺缺缺缺缺缺缺表4-9页面走向432143543215块144444445块23333333块3225511块411222缺页缺缺缺缺缺缺缺缺【解答】在分配该该作业的物理块数为3时,所发生的缺页次数为10,缺页率为:10/12=0。83;当分配给该作业的物理块数为4时,所发生的缺页次数为8,缺页率为:8/12=0.67,说明随着内存块数的增加,缺页率一般是降低的15在采用页式存储管理系统中,某作业J的逻辑地址空间为4页(每页2KB),且已知该作业的页面映像表4-10:表4-10页号块号02142638试求有效逻辑地址4865所对应的物理地址。【解答】该逻辑地址所对应的页号是4865/2048=2,页内的偏移量为769,所对应的物理地址为62048+769=13057。