3.可变分区管理方式下,采用可变移动技术的优点?移动一个作业时操作系统要作那些工作?
答:消除外部碎片。经过一段时间的分配**后,会产生很多碎片,这些碎片都很小,不足以满足程序分配重内存的要求,但总和可以满足程序的分配要求。
通过移动技术,在适当的时候,在内存中移动程序,把所有空闲碎片合并成一个连续的大空闲空间放在内存一端,就可以满足分配的要求。
6.段式存储管理系统中是如何实现存储保护的?
答:因为段是按逻辑意义来划分的,可以按段名访问所以段式存储管理可以方便地实现内存信息的共享并进行有效的内存保护。
段式管理的保护主要有两种。一种是地址越界保**,另一种是存取方式控制保**。具体措施有:
1) 利用段表及段长来实现段的保护,防止程序执行时地址越界。
2) 存取权限保**:在段表中设有“存取权”一项,可对程序的保护权限进行各种必要的限制。
3) 存储保护键保护:由于i/o通道对存储器访问是不经过段表的,因此有的机器还采用存储保护键保护。
地址越界保护是利用表中的段长项与虚拟地址中的段内相对地址比较进行的。若段内相对地址大于段长,系统就会产生保护中断。不过,在允许段动态增长的系统中,段内相对地址大于段长是允许的。
为此,段表中设置相应的增补位以指示是否允许该段动态增长。
建立存取控制指在段表的每个表目中,除指明段长以外,还增加“存取方式”一项。这种段的保护,对非共享段来说,主要是用来指示程序设计的错误。而对于共享段来说,则显得特别重要。
采取存取保护键。由于i/o通道对存储器的访问是不经过段表的,因此有的机器除了段保护之外,还采用存储保护键。因为这种保护对i/o通道十分有效。
总之,在一个段式存储管理系统中,通过建立段表,施加存取控制,以及设置存储保护键等,可以提供一个多级的存储保护体系。
11.有一个操作系统采用段式存储管理方案,用户区内存为512k,分配时截取空闲块的前半部分(小地址部分)。初始时内存全部空闲。系统执行如下申请、释放操作序列:
申请300k,申请100k,释放300k,申请150k,申请50k,释放90k
1) 若采用首先适应算法,空闲块表中有哪些空块(指出大小,地址)
2) 若采用最佳适应算法,空闲块表中有哪些空块(指出大小,地址)
3) 若随后又申请80k,针对上述两种情况说明结果?其结果说明了什么问题?
原题最后释放90k改为申请90k
操作系统采用段式存储。执行申请释放序列后,结果如下:
a、如果采用首先适应算法,空闲块表中的空块有。
地址大小。290k 10k
400k 112k
b、如果采用最佳适应算法,空闲块表中的空块有。
地址大小。240k 60k
450k 62k
c、若继续申请80k
如果之前采用首先适应算法,则直接分配起始地址为400k的连续80k空间。
如果之前采用最佳适应算法,则需要首先采用拼接技术对空闲空间进行合并,然后在合并后的空闲空间中分配连续80k空间。
在上述情况中采用最佳适应算法却导致后来的内存直接分配失败而不得不进行内存空间整理。这说明最佳适应算法并不是所有时候都能够保持大块连续的空闲空间。
12.(1).写内存时地址越界,发生地址越界中断。
(2)所访问的内容不在内存中,发生缺段中断。
(3)读不允许读的内容,发生保护性中断。
(4)正常读取。
16. 假定一个存储管理程序已经把他的页面淘汰决定缩小到两页之一,假定其中一页有几个进程共享,另一页仅有一个进程使用,最终淘汰哪页?请解释。
答:一般情况下,操作系统都会淘汰那些最近不常访问或者改动的页面。如果页面由多个进程使用,则对其访问改动的次数会比较多;如果页面仅有一个进程使用,则访问改动次数相对要少一些。
因此,应该淘汰仅有一个进程使用的页面,使缺页中断的情况尽量避免。
23.假定磁盘空闲空间表表明有下列存储快空闲:13,11,18,9,20块。有一个要求为某文件分配10个连续的磁盘块。
1)如果采用首次适应分配策略,那么将分配哪个块?
2)如果采用最佳适应分配策略,那么将分配哪个块?
3)如果采用最差适应分配策略,那么将分配哪个块?
答:(1)13
27.在现代操作系统中,什么因素能影响虚拟地址空间大小?回答时,考虑内存映射单元,编译技术,和指令格式。
1.虚拟空间大小由主要cpu的体系机构决定最主要的是地址线的大小(象现在的32bit的地址线)那么虚拟地址空间最大就是4gb
2.地址线的大小会影响指令的格式和寻址方式。
3.一些系统会把i/o,文件映射到地址空间,从而达到获得统一的指令格式,这样会把虚拟地址空间的一部分地址保留起来用于映射,从而影响到程序可用的地址空间大小。
4.编译器的技术: 在链接过程中,机器指令的寻址可以分为直接寻址和间接寻址两种方法。
若采用直接寻址,则直接地址中指示直接地址的位数将影响虚拟内存空间大小;若采用间接寻址,编译时,间接地址指向间接字,间接字中包含了直接地址,那么间接地址中指示间接字的位数与间接字中指示直接地址的位数就将对虚拟地址空间大小产生影响。
30.有一个虚拟存储系统,分配给某个进程3页内存,开始时内存为空,页面访问序列如下:6,5,4,3,2,1,5,4,3,6,5,4,3,2,1,6,5.
1)采用先进先出页面置换算法,缺页次数为多少?
2)采用最近最少使用页面置换算法,缺页次数为多少?
3)采用最佳页面置换算法,缺页次数为多少?
答:1):17次。
2):17次。
3)11次。
34、在虚拟页式存储管理中,进程在内外存中的存放有以下两种方法:
1)、一部分页面放在内存中,其余页面放在外存;
2)、一部分页面放在内存中,全部页面放在外存;
试从系统开销的角度分析两种方法各自的优缺点,并说明页表的差别。
解答:第一种方法,一部分页面放内存,其余页面放外存,这样在内存中的页面在外存中不存在副本,第二种方法当前需要的页面放在内存中,全部的页面在外存中都有副本,因此第一种方法比第二种方法占据的存储空间小。但是在将页面移出内存的过程中,对于第一种方法,不管要移出的页面是否被修改过,都必须将其写回磁盘;对第二种方法,如果要移出的页面没有被修改过,那么它在磁盘上的副本已经是最新的了,则不需要写回,调入的页直接覆盖被淘汰的页就行了。
因此第二种方法比起第一种方法来,输入输出设备的压力小,调入调出数据和程序段的频率低。
因为第一种方法移出页面时不管页面是否被修改过都得将其写回外存,所以页表中不需要有修改位。所以页表差别在第一种方法的页表不需要有修改位,而第二种方法需要有修改位。
35.有一个虚拟存储系统采用最少使用页面置换算法,每个程序占3页内存,其中一页用来存放程序和变量i,j.每一页可存放150个整数变量。
程序a和程序b如下:(具体程序见书)程序a外层循环为i内层为j,程序b外层循环j内层为i.
设变量i,j放在程序页中,初始时,程序及变量i,j已在内存,其余两页为空,矩阵c按行序列存放。
1) 当程序a和程序b执行完后,分别缺页多少次?
2) 最后留在内存中的各是矩阵c的哪一部分?
答(1)100次,10000次。
2)程序a运行完后内存两个页面中分别为:
第一页:array[148,1]到array[148,100]和array[149,1]到array[149,50]
第二页: array[149,51]到array[149,100]和array[150,1]到array[150,100]
程序b运行完后内存两个页面中分别为:
第一页:array[148,1]到array[148,100]和array[149,1]到array[149,50]
第二页: array[149,51]到array[149,100]和array[150,1]到array[150,100]
37 比较各种存储管理方式的特征。
补充1:一个机器有32位地址空间和8k页面,页表完全用硬件实现,页表的每一项为一个32位字。进程启动时,以每个字100ns的速度将页表从内存复制到硬件中。
如果每个进程运行100ms(包含装入页表的时间),用来装入页表的cpu时间的比例是多少?
每个页面8kb,所以页內地址为13位。剩余的19位为页框号,所以共有个页和页表项。
考虑只有一个进程,并且运行之前把所有页表项复制到硬件。
t_copy = 100ns * 52.4288ms
p_copy = 52.4288ms / 100ms *100% =52.4288%
用来装入页表的时间占总cpu时间的52.4288%
补充2:一些交换系统试图通过移动技术消除碎片。设想一个有1m用户内存的计算机每隔1秒移动一次。
如果平均花费1/2ns拷贝一个字节,平均空闲区大小是平均段大小的0.4,问用于移动的cpu时间有多少?
解:1/2*10^-9*1024*1024*(0.4/(0.4+1))
第5章作业答案
第5章汇编语言程序设计作业。编制程序完成以下题目 1 将片外ram 1000h的内容送片内ram 50h。mov dptr,1000h movx a,dptr mov 50h,a 2 延时200个机器周期的子程序。mov r0,dl djnz r0,dl nopret 3 外部ram 2000h的内...
第5章作业答案
1 设计一个类模型来描述无向图的逻辑结构 即连通性 2 使用 旅行社系统进行交互时,遇到下面的用例,画出用例图。1 购买航班机票。预定航班机票,并提供付款和地址信息。2 提供付款信息。用信用卡来支付费用。3 提供地址。提供邮件地址和住址。4 租赁汽车。预定出租汽车,提供付款和地址信息。5 支付酒店住...
第5章作业答案
5.6.6一台4个磁极的三相异步电动机,定子电压为380v,频率为 50 hz,三角形联结。在负载转矩 tl 133n m 时,定子线电流为47.5 a,总损耗为5 kw,转速为1 440r min。求 1 同步转速 2 转差率 3 功率因数 4 效率。解 1 由题目知 p 2 所以。5.6.8某三...