操作系统第四章作业答案
- 格式:doc
- 大小:93.50 KB
- 文档页数:4
第4章存储管理“练习与思考”解答1.基本概念和术语逻辑地址、物理地址、逻辑地址空间、内存空间、重定位、静态重定位、动态重定位、碎片、碎片紧缩、虚拟存储器、快表、页面抖动用户程序经编译之后的每个目标模块都以0为基地址顺序编址,这种地址称为相对地址或逻辑地址。
内存中各物理存储单元的地址是从统一的基地址开始顺序编址的,这种地址称为绝对地址或物理地址。
由程序中逻辑地址组成的地址范围叫做逻辑地址空间,或简称为地址空间。
由内存中一系列存储单元所限定的地址范围称作内存空间,也称物理空间或绝对空间。
程序和数据装入内存时,需对目标程序中的地址进行修改。
这种把逻辑地址转变为内存物理地址的过程称作重定位。
静态重定位是在目标程序装入内存时,由装入程序对目标程序中的指令和数据的地址进行修改,即把程序的逻辑地址都改成实际的内存地址。
动态重定位是在程序执行期间,每次访问内存之前进行重定位。
这种变换是靠硬件地址转换机构实现的。
内存中这种容量太小、无法被利用的小分区称作“碎片”或“零头”。
为解决碎片问题,移动某些已分配区的内容,使所有进程的分区紧挨在一起,而把空闲区留在另一端。
这种技术称为紧缩(或叫拼凑)。
虚拟存储器是用户能作为可编址内存对待的虚拟存储空间,它使用户逻辑存储器与物理存储器分离,是操作系统给用户提供的一个比真实内存空间大得多的地址空间。
为了解决在内存中放置页表带来存取速度下降的矛盾,可以使用专用的、高速小容量的联想存储器,也称作快表。
若采用的置换算法不合适,可能出现这样的现象:刚被换出的页,很快又被访问,为把它调入而换出另一页,之后又访问刚被换出的页,……如此频繁地更换页面,以致系统的大部分时间花费在页面的调度和传输上。
此时,系统好像很忙,但实际效率却很低。
这种现象称为“抖动”。
2.基本原理和技术(1)存储器一般分为哪些层次?各有何特性?存储器一般分为寄存器、高速缓存、内存、磁盘和磁带。
CPU内部寄存器,其速度与CPU一样快,但它的成本高,容量小。
第四章一、问答题1、同步机制应遵循的准则是什么?2、死锁产生的4个必要条件是什么?它们是彼此独立的吗?3、简述死锁的定义和死锁产生的原因。
4、简述死锁定理和解除死锁的方法。
5、什么是安全状态?怎么判断系统是否处于安全状态?6、同步机制应遵循的准则是什么?7、死锁产生的4个必要条件是什么?它们是彼此独立的吗?二、计算题(共20分)1、当前系统中出现下述资源分配情况:利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?答:Request(1,2,2,2)<=(2,3,5,6)申请合法Request(1,2,2,2)<=Available,开始试探性分配,Available=(0,4,0,0) 测试系统是否安全:work= Available,finish=1没有进程的need满足<=work系统处于不安全状态,系统拒绝此次资源分配。
2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。
它们向系统申请资源的次序和数量如表所示。
回答:问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?答:第1次申请,Q申请资源2,系统安全,分配第2次申请,P申请资源1,系统安全,分配第3次申请,Q申请资源1,系统安全,分配资源剩余3个,P占有1个资源,Q占有3个资源,第4次分配不安全,拒绝,第5分配系统安全,满足。
3、一个计算机系统有6个磁带驱动器和4个进程。
每个进程最多需要n个磁带驱动器。
问当n为什么值时,系统不会发生死锁?并说明理由答:n=2理由同第4题(进程资源最大需求-1)×进程数量+1≤系统资源数量4、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。
3某请求分页系统,用户空间为32KB,每个页面1KB,主存16KB。
某用户程序有7页长,某时刻该用户进程的页表如下:页号物理块号是否在TLB0 8 是1 7 是2 4 否3 10 否4 5 否5 3 是6 2 是(1)计算两个逻辑地址:0AC5H、1AC5H对应的物理地址。
(2)已知主存的一次存取为1.5us,对于TLB表(快表)的查询时间可以忽略,则访问上述两个逻辑地址共耗费多少时间?答(1)每页1kb代表页内偏移量为低地址10位,剩余的为页号,所以0AC5H对应的页号为2,物理块为4,说以物理地址为12C5H, 同理可得1AC5H对应的物理地址为0AC5H.(2)耗时为1×1.5us+2×1.5us=4.5us4什么叫重定位?它有哪两种方式?这两种方式有什么区别?由于经过紧凑后的某些用户程序在内存中的位置发生了变化,此时若不对程序和数据的地址加以修改(变换),则程序必将无法执行。
为此,在每次“紧凑”后,都必须对移动了的程序或数据进行重定位。
5在具有快表的段页式存储管理方式中,如何实现地址变换?答:物理地址=该段在主存的起始地址+页框号*大小+页内地址。
第二次作业:1、在某请求分页管理系统中,一个作业共5页,作业执行时一次访问如下页面:1,4,3,1,2,5,1,4,2,1,4,5,若分配给该作业的主存块数为3,分别采用FIFO,LRU,Clock页面置换算法,试求出缺页中断的次数及缺页率。
答FIFO 缺页次数为9,缺页率为3/4LRU缺页数为9,缺页率为3/4Clock缺页数为9,缺页率为3/42、某请求分页管理系统,假设进程的页表如下:页号页框号有效位装入时间0 101H 1 21 —0 —2 254H 1 4页面大小为4KB,一次内存的访问时间为100纳秒(ns),一次快表(TLB)的访问时间是10ns,处理一次缺页的平均时间为100毫秒(已含更新TLB和页表的时间),进程的驻留集大小固定为2个页框,采用FIFO法置换页面。
(1) 按教科书的写法。
当生产n 件商品后,生产者就阻塞;消费者一直阻塞。
(2) (注:题目有问题,应该成“生产者进程的P(mutex)和P(empty)的先后顺序对换,消 费者进程的P(mutex)和P(full)的先后顺序对换, ”)当消费者先执行P(mutex)后,再 执行p(full)而阻塞。
这样导致生产者执行P(mutex)而阻塞,这样生产者和消费者都会进入阻 塞而死锁。
4.13(1) 的初值为1,的变化范围为1到-n-1)(2) 的初值为m,变化范围为m 到-(n-m)。
4.14AV设置进程A 、B 分别代表两条马路上的汽车进程,设置信号量mutex 用于十字路口的互斥, 初值为1,为了保证A 、B 都有车时两条道路的车辆轮流通过,需要设置同步信号量ax 和 bx,初值分别是0, 0,设置计数器,counta,countb 分别记录A 、B 两条马路上等待的车辆数。
var mutex:=semaphore:=1 ;var counta:=countb:=0;beginparbeginA:beginB: begin P(mutex);counta:= counta+1;P(mutex); countb:= countb+l; if countb=0 and counta=l thenif counta=0 and countb=lthen /*本路有第 1 辆车,另一条路无车,让本路车通过*/V(ax);V(mutex)P(ax);V(bx); V(mutex) P(bx); A 通过P(mutex);Counta:= counta-1If countb>0 thenV(bx);ElseIf counta>=0 then V(ax);V(mutex)endB 通过 P(mutex); countb:= countb -1 If counta>0 then V(ax); else If countb>0 then V(bx); V(mutex) end parend4.15(1):这段代码可以完成哲学家进餐问题。
赵盈盈2011210593 第四章作业上1. 解释名词:程序的顺序执行;程序的并发执行。
答:程序的顺序执行:一个具有独立功能的程序独占cpu直到得到最终结果的进程。
程序的并发执行:两个或两个以上程序在计算机系统中同时处于一开始执行且尚未结束的状态。
2. 什么是进程?进程与程序的主要区别是什么?答:进程:进程是具有独立功能的程序关于某个数据集合的一次运行活动,进程是系统进行资源分配和调度的独立单元。
进程和程序的区别:●程序是静态的,进程是动态的●进程有程序和数据两部分组成●进程具有生命周期,有诞生和消亡,是短暂的;而程序是相对长久的●进程能更真实的描述并发,而程序不行。
●一个进程可以对应多个程序。
一个程序可以对应多个进程●进程可以创建其他进程,程序不能3. 图1所示,设一誊抄程序,将f中记录序列正确誊抄到g中,这一程序由get、copy、put三个程序段组成,它们分别负责获得记录、复制记录、输出记录。
请指出这三个程序段对f中的m个记录进行处理时各种操作的先后次序,并画出誊抄此记录序列的先后次序图(假设f中有1,2,…,m个记录,s,t为设置在主存中的软件缓冲区,每次只能装一个记录)。
图1 改进后的誊抄过程答:4. 进程有哪几种基本状态?试画出进程状态变迁图,并标明发生变迁的可能原因。
答:进程基本状态:运行、就绪、等待就绪到运行:调度程序选择一个新的进程运行 运行到就绪:运行进程用完了时间片或运行进程被中断,因为一个高优先级的进程处于就绪状态运行到等待:OS 尚未完成服务或对一资源的访问尚不能进行或初始化I/O 且必须等待结果 或等待某一进程提供输入(IPC )等待到就绪:当所有的事件发生时5. 什么是进程控制块?它有什么作用?答:PCB :为了便于系统控制和描述进程的活动过程,在操作系统核心中为进程定义的一个专门的数据结构。
作用:系统用PCB 来控制和管理进程的调用,PCB 也是系统感知进程存在的唯一标志GCGPCP G… CP6. n 个并发进程共用一个公共变量Q ,写出用信号灯的p 、v 操作实现n 个进程互斥时的程序描述,并说明信号灯值的取值范围。
第四章存储器管理一、单项选择题1、存储管理的目的是(C )。
A.方便用户B.提高内存利用率C.方便用户和提高内存利用率D.增加内存实际容量2、在( A)中,不可能产生系统抖动的现象。
A.固定分区管理B.请求页式管理C.段式管理D.机器中不存在病毒时3、当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为(B )。
A.源程序B.目标程序C.可执行程序D.非执行程序4、可由CPU调用执行的程序所对应的地址空间为(D )。
A.符号名空间B.虚拟地址空间C.相对地址空间D.物理地址空间5、存储分配解决多道作业[1C]划分问题。
为了实现静态和动态存储分配,需采用地址重定位,即把[2C]变成[3D],静态重定位由[4D]实现,动态重定位由[5A]实现。
供选择的答案:[1]:A 地址空间 B 符号名空间 C 主存空间 D 虚存空间[2]、[3]: A 页面地址 B 段地址 C 逻辑地址 D 物理地址 E 外存地址 F 设备地址[4]、[5]: A 硬件地址变换机构 B 执行程序 C 汇编程序D 连接装入程序E 调试程序F 编译程序G 解释程序6、分区管理要求对每一个作业都分配(A )的内存单元。
A.地址连续B.若干地址不连续C.若干连续的帧D.若干不连续的帧7、(C )存储管理支持多道程序设计,算法简单,但存储碎片多。
A.段式B.页式C.固定分区D.段页式8、处理器有32位地址,则它的虚拟地址空间为( B)字节。
A.2GBB.4GBC.100KBD.640KB9、虚拟存储技术是( A)。
A.补充内存物理空间的技术B.补充相对地址空间的技术C.扩充外存空间的技术D.扩充输入输出缓冲区的技术10、虚拟内存的容量只受( D)的限制。
A.物理内存的大小B.磁盘空间的大小C.数据存放的实际地址D.计算机地址字长11、虚拟存储技术与(A )不能配合使用。
A.分区管理B.动态分页管理C.段式管理D.段页式管理12、(B )是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。
第4章文件系统-习题集参考答案一、选择题1. D2. A3. D4. A5. B6. A //一个文件对应一个文件控制块,所有文件控制块构成目录文件7. A //在文件系统中,为每个文件建立一个文件目录,作为目录文件的一个目录项,包含文件的名称及其属性。
8. C9. C //在设置当前工作目录后,文件查找在默认情况下是查当前目录,从而提高查找速度。
10. D11. C12. B13. C //如UNIX中,采用了把文件名与文件描述信息分开的方法,即使文件描述信息单独形成一个称为索引节点的数据结构,简称i节点(索引节点),这样文件目录中仅由文件名各指向该文件所对应的i节点的指针所构成,这样目录项仅有16个字节,其中14个字节为文件名,2个字节为i节点指针。
在1KB的盘块中可做1KB/16B=64个目录项,这样,为找到一个文件,可以大小减少读入内在的信息量。
14. B //只有索引分配方式中的FCB才包含索引表地址15. B16. B17. D //1K/64=1618. C //本注:每块能存放的目录项=1K/64=16个;3200个目录项占用盘块数=3200/16=200。
因为一级目录平均访问盘次数=1/2盘块数(顺序查找目录表中所有目录项,每个目录项为一个FCB),所以平均访问磁盘次数=200/2=100次。
19. C//本注:1.用的是称做“混合索引”的方式。
2.思路很简单,只是要用些专用概念3.三类地址项:1)直接地址项,每个地址直接管理一个“文件块”,而每个“块”是256字节。
共4个这种地址,所以管理:4*256=1KB2)一级间接地址项,每个地址项管理一个“索引块”,而索引块的大小也是256字节,其中可放置:256/4=64个地址项,而每个地址项管理256字节文件。
所以,2个一级间址可管理文件大小:2*64*256=32KB3)二级间接地址项,地址项→索引块→索引块→文件数据块。
所以可管理文件数据:1*64*64*256=1024KB.4.综合上面可管理的文件大小为:1+32+1024=1057KB20. B21. B22. B //每个盘面物理块=200*4=800块,盘面数=8000/800=10,互盘有两个盘面。
第四章互斥、同步与通讯答案一、单项选择题1.B2.D3.B4.B5.D6.A7.C8.B9.D 10.C11.D 12.C 13.C 14.B 15.B 16.B 17.A 18.B 19.D 20.B21.B 22.A 23.C 24.B 25.B 26.B 27.A 28.C二、多项选择题1.[分析]任何一台CPU在每一时刻只能解释执行一条指令,因而,不可能在同一时刻为多个进程服务。
进程可同时执行的含义是一个进程的工作没有全部完成之前另一进程就可开始工作。
所以,实际上多个进程是轮流占用CPU运行的。
到底哪个进程能占用处理器不仅与进程自身有关,且受外界因素的影响;当多个进程竞争CPU时,必须由进程调度来决定当前哪个进程可以占用CPU;故每个进程都是走走停停的,进程执行的速度不能完全由进程自己来控制。
并发进程相互之间可能是无关的,即它们是各自独立的,这些进程中每一个进程的执行既不依赖于其它进程也不会影响其它进程的执行。
但是,有些并发进程需使用共享资源,为保证进程执行的正确性,对共享资源的使用必须加以限制。
同步就是并发进程中的一种制约关系,一个进程能否使用共享资源取决于其它进程的消息,只有指定的消息到达才可使用共享资源。
如果无约束地使用共享资源,则可能出现多个进程交替地访问共享资源,于是就可能会出现与时间有关的错误。
故本题的答案为C、D、E。
[题解]C、D、E。
2.[分析]根据P操作的定义,当调用P操作时, P操作把信号量S减去1,若结果小于0则调用者将等待信号量,否则可继续运行。
因而,若调用P(S)后S的值为>=0则进程可以继续运行,故应选择A和D。
要注意不能选择C,因S<>0包含了S>0和S<0,当S<0时进程将成为等待状态而不能运行。
[题解]A,D。
3.[题解]A,C,E。
三、判断题1. [题解]是。
2.[分析]如果不控制并发进程执行的相对速度,则它们在共享资源时可能会出现两种情况:一种是并发进程交替使用共享资源,这样就可能会发生与时间有关的错误;另一种是并发执行的速度没有致使它们交替使用共享资源,这时就不会出现与时间有关的错误。
第四章作业(存储器管理)
第一次作业:
1、对于首次适应算法,请回答下列问题:
(1)应如何将各空闲分区链接成空闲分区链?
为了实现对空闲分区的分配和链接,在每个分区的起始部分,设置一些用于控制分区分配的信息,以及用于链接各分区所用的前向指针;在分区尾部则设置一后向指针,通过前、后向链接指针,可将所有的空闲分区链接成一个双向链。
为了检索方便,在分区尾部重复设置状态位和分区大小表目。
当分区被分配出以后,把状态位由0改为1,此时,前、后向指针已无意义。
(2)在回收内存时,可能出现哪几种情况?应怎样处理这些情况?
(1回收区与插入点的前一个空闲分区F1相邻接,此时应将回收区与插入点的前一分区合并,不必为回收分区分配新表项,而只需修改其前一分区F1的大小。
(2回收分区与插入点的后一空闲分区F2相邻接,此时也可将两分区合并,形成新的空闲分区,但用回收区的首址作为新空闲区的首址,大小为两者之和。
(3回收区同时与插入点的前、后两个分区邻接,此时将三个分区合并,使用F1的表项和F1的首址,取消F2的表项,大小为三者之和。
(4 回收区既不与F1邻接,又不与F2邻接。
这时应为回收区单独建立一新表项,填写回收区的首址和大小,并根据其首址插入到空闲链中的适当位置。
(3)请对该算法的内存管理性能进行分析。
该算法倾向于优先利用内存中低地址,从而保证了高地址部分的大空闲去。
这给以后达的大作业分配大的内存空间创造的条件。
起缺点是低址部分不断被划分,会留下许多难以利用的小空闲分区,每次查找都从低址开始,会增加查找空闲分区的开销。
2分页和分段存储管理有何区别?
答:主要表现在(1)页是信息的物理单位,分页是为实现离散分配方式,以消
减内存的外零头,提高内存的利用率。
或者说,分页仅仅是由于系统管理的需要
而不是用户的需要。
段则是信息的逻辑单位,它含有一组其意义相对完整的信息。
分段的目的是为了能更好地满足用户的需要。
(2)页的大小固定且由系统决定,由系统把逻辑地址划分为页号和页内地址两部分,
是由机器硬件实现的,因而在系统中只能有一种大小的页面;根据信息的性质来划分。
(3)分页的作业地址空间是一维的,即单一的线性地址空间,程序员只需利用一个记忆符,即可表示一个地址;而分段的作业地址空间则是二维的,程序员在标识一个地址时,即需给出段名,又需给出段内地址。
3某请求分页系统,用户空间为32KB,每个页面1KB,主存16KB。
某用户程序有7页
(1)计算两个逻辑地址:0AC5H、1AC5H对应的物理地址。
(2)已知主存的一次存取为1.5us,对于TLB表(快表)的查询时间可以忽略,则访问上述两个逻辑地址共耗费多少时间?
答(1)每页1kb代表页内偏移量为低地址10位,剩余的为页号,所以0AC5H对应的页号为2,物理块为4,说以物理地址为12C5H, 同理可得1AC5H对应的物理地址为0AC5H.
(2)耗时为1×1.5us+2×1.5us=4.5us
4什么叫重定位?它有哪两种方式?这两种方式有什么区别?
由于经过紧凑后的某些用户程序在内存中的位置发生了变化,此时若不对程序和数据的地址加以修改(变换),则程序必将无法执行。
为此,在每次“紧凑”后,都必须对移动了的程序或数据进行重定位。
5在具有快表的段页式存储管理方式中,如何实现地址变换?
答:物理地址=该段在主存的起始地址+页框号*大小+页内地址。
第二次作业:
1、在某请求分页管理系统中,一个作业共5页,作业执行时一次访问如下页面:1,4,3,
1,2,5,1,4,2,1,4,5,若分配给该作业的主存块数为3,分别采用FIFO,LRU,Clock页面置换算法,试求出缺页中断的次数及缺页率。
答FIFO 缺页次数为9,缺页率为3/4
LRU缺页数为9,缺页率为3/4
Clock缺页数为9,缺页率为3/4
2、
页面大小为4KB,一次内存的访问时间为100纳秒(ns),一次快表(TLB)的访问时间
是10ns ,处理一次缺页的平均时间为100毫秒(已含更新TLB 和页表的时间),进程的驻留集大小固定为2个页框,采用FIFO 法置换页面。
假设1)TLB 初始为空;2)地址转换时,先访问TLB ,若TLB 未命中时再访问页表(忽略TLB 更新时间);3)有效位为0表示页面不在内存中。
请问:
(1)该系统中,一次访存的时间下限和上限各是多少?(给出计算过程)
(2)若已经先后访问过0、2号页面,则虚地址1565H 的物理地址是多少?(给出计算过程)
答(1)一次访存时间下限10ns+100ns+100ns ,上限10ns+100ns+100ms+100ns (2)基于上述访问序列,当访问虚地址1565H 时产生缺页中断,合法驻留集为2,必须从表中淘汰一个页面,根据题目的置换算法,应淘汰0号页面,因此1565H 的对应页框号为101H 。
由此可得1565H 的物理地址为101565H
3、设某计算机的逻辑地址空间和物理地址空间均为128KB ,按字节编址。
若某进程最多需要6页数据存储空间,页面大小为1KB ,操作系统采用固定分配局部置换策略为该进程分配4个页框(物理块)。
在时刻300前该进程各页面的访问情况如下表所示:
当进程执行到时刻300时,要访问逻辑地址为17CAH 的数据,请回答下列问题: (1)该逻辑地址对应的页号是多少?
(2)若采用先进先出(FIFO )置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。
(3)若采用时钟(CLOCK )置换算法,该逻辑地址对应的物理地址是多少?要求给出计算过程。
设搜索下一页的指针顺时针方向移动,且当前指向2号页框,示意图如下:
9号号7
17CAH=(0001 0111 1100 1010)2
(1)页大小为1K ,则页内偏移地址为10位,前6位是页号,所以逻辑地址对应的页号为:5 (2)FIFO :被置换的页面所在页框为7,所以对应的物理地址为(0001 1111 1100 1010)2=1FCAH
(3)CLOCK :被置换的页面所在页框为2,所以对应的物理地址为
(0000 1011 1100 1010)2=0BCAH。