操作系统第4章习题带答案
操作系统-第4章复习题答案
操作系统-第4章复习题答案操作系统第四章复习题⼀、选择题1、在可变式分区分配⽅案中,某⼀作业完成后系统收回其主存空间,并与相邻空闲区合并,为此修改空闲区表,造成空闲区数减⼀的情况是( D )。
A ⽆上邻空闲区,也⽆下邻空闲区B 有上邻空闲区,但⽆下邻空闲区C 有下邻空闲区,但⽆上邻空闲区D 有上邻空闲区,也有下邻空闲区2、分区式存储器管理⽅式,每个程序(B)。
A ⼀定在分区中连续,部分存放B ⼀定在分区中连续,整体存放C 可以在分区中不连续,整体存放D 可以在分区中连续,部分存放3、下列选项中对分段存储管理叙述正确的是(B)A 分段存储管理中每个段必须是⼤⼩相等的。
B 每⼀段必须是连续的存储区C 每⼀段不必是连续的存储区D 段间的存储区必须是连续的4、下列对重定位的叙述中,正确的选项是(B)。
A 经过静态重定位后,指令代码并不发⽣变化。
B 经过静态重定位后,数据地址和指令地址发⽣了变化C 经过动态重定位后,指令代码中的操作码和操作数地址都要发⽣变化。
D经过动态重定位后,数据地址发⽣了变化⽽指令地址没有发⽣变化。
5、虚拟存储器功能的管理⽅法包括(C)。
A 可变分区存储管理B 基本分页存储管理C 请求分段存储管理D 段页式存储管理6、虚拟存储器的最⼤容量(C)。
A 由作业的地址空间决定B 是任意的C 由计算机的地址结构决定的D 为内、外容量之和7、操作系统为( C )分配内存空间。
A线程B⾼速缓冲存储器(Cache)C 进程 D 块表8、下⾯的页⾯置换算法中会产⽣所谓Belady异常现象的是(B)。
A 最佳页⾯置换算法(OPT)B 先进先出页⾯置换算法(FIFO)C 最近最久未使⽤页⾯置换算法(LRU)D 最少使⽤页⾯置换算法(LFU)9、采⽤( B )不会产⽣内部碎⽚。
A 分页式存储管理B 分段式存储管理C 固定分区式存储管理D 段页式存储管理10、最佳适应算法的空闲区是(B)。
A 按⼤⼩递减顺序连在⼀起B按⼤⼩递增顺序连在⼀起C 按地址由⼩到⼤排列D 按地址由⼤到⼩排列11、在可变式分区存储管理中的拼接技术可以(A)。
孙钟秀操作系统第四章部分习题答案
20.在一个分页虚拟存储系统中,用户编程空 间为32个页,页长1KB,主存空间为16KB。 如果应用程序有10页长,若已知虚页0、1、 2、3,已分得页框4、7、8、10,试把虚地 址0AC5H和1AC5H装换成对应的物理地址。 解:32=25 用5位表示页号 1KB=210B 用10位表示页内偏移 0AC5H=0000 1100 0101B 1AC5H=0001 1010 1100 0101B 缺页中断 物理地址:0010 0010 1100 0101 =22C5H
7.一个进程以下列次序访问5个页:A、B、C、 D、A、B、E、A、B、C、D、E;假定使 用FIFO替换算法,在主存储器重有3个和4 个空闲页框的情况下,分别给出页面替换 次数。 解:3个页框:页面替换次数为9 4个页框:页面替换次数为10
8.某计算机有缓存、主存储器、辅助存储器 来实现虚拟存储器。如果数据在缓存中, 访问数据需要Ans;如果数据在主存但不在 缓存,需要Bns将其装入缓存,然后才能访 问;如果数据不再主存而在辅存,需要Cns 将其读入主存。最后用Bns再读入缓存,然 后才能访问。假设缓存命中率为(n-1)/n, 主存命中率为(m-1)/m,则数据平均访问时间 是多少?
请求(1)
12K 10K 剩余 删除 删除 8 8 9K 空闲 剩余 18 9 15 9 9 删除 6 删除
空闲 剩余 空闲 首次适应 最佳适应 最差适应 下次适应 20 12 20 20 8 删除 8 8 10 10 18 18
10K、4K、20K、18K、 4K、7K、9K、10K、12K、15K、18K、20K 20K、18K、15K、12K、10K、9K、7K 、4K
1.在一个请求分页虚拟存储管理系统中,一 个程序运行的页面走向是: 1,2,3,4,2,1,5,6,2,1,2,3,7,6,3,2,1,2,3,6 分别用FIFO、OPT、LRU算法,对于分配 给程序3个页框、4个页框、5个页框和6个 页框的情况,求出缺页中断次数和缺页中 断率。
计算机操作系统(习题集)第四章 答案
第四章存储器管理一、单项选择题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章 文件系统
第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.一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,__________.A. 可以允许其他进程进入与该进程相关的临界区B. 不允许其他进程进入任何临界区C. 可以允许其他就绪进程抢占处理器,继续运行D.不允许任何进程抢占处理器 2.两个并发进程之间 ______A 一定存在互斥关系B 一定存在同步关系C 一定彼此独立无关D 可能存在同步或互斥关系3.为了使两个进程能同步运行,最少需要_______个信号量。
A 一B 二C 三D 四 4.共享变量是指__________访问的变量。
A. 只能被系统进程B. 只能被多个进程互斥C. 只能被用户进程D. 可被多个进程 5.临界区是指并发进程中访问共享变量的__________.A.管理信息 B.数据 C.信息存储 D.程序段6.设有三个进程共享一个资源,如果每次只允许一个进程使用该资源,则用PV操作管理时信号量S的可能取值是___________A.1,0,-1,-2B.2,0,-1,-2C.1,0,-1D.3,2,1,0 7.进程的并发执行是指若干个进程__________.A. 同时执行B. 在执行的时间上是重叠的C. 在执行的时间上是不可重叠的D. 共享系统资源8.在进程通信中,__________常用信件交换信息。
A.低级通信 B.高级通信 C.消息通信 D.管道通信9.实现进程同步时,每一个消息与一个信号量对应,进程_________可把不同的消息发送出去。
A.在同一信号量上调用P操作B.在不同信号量上调用P操作C.在同一信号量上调用V操作D.在不同信号量上调用V操作10._________是只能有P和V操作所改变的整形变量。
A.共享变量B.锁C.整型信号量D.记录型信号量11.在执行V操作时,当信号量的值_________时,应释放一个等待该信号量的进程。
A.大于0B.小于0C.大于等于0D.小于等于0 12.进程和程序的主要区别是__________.A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________. A. 0 B. 1 C. 2 D. 314.若P、V操作的信号量S初值为2,当前值为-1,则表示有_________等待进程。
操作系统原理-第四章 处理机调度(有答案)
第四章处理机调度4.3 习题4.3.1 选择最合适的答案1.某系统采用了银行家算法,则下列叙述正确的是()。
A.系统处于不安全状态时一定会发生死锁B.系统处于不安全状态时可能会发生死锁C.系统处于安全状态时可能会发生死锁D.系统处于安全状态时一定会发生死锁2.银行家算法中的数据结构包括有可利用资源向量Available、最大需求矩阵Max、分配矩阵Allocation、需求矩阵Need,下列选项正确的是()。
A.Max[i,j]=Allocation[i,j]+Need[i,j]B.Need[i,j]= Allocation[i,j]+ Max[i,j]C.Max[i,j]= Available[i,j]+Need[i,j]D.Need[i,j]= Available[i,j]+ Max[i,j]3.下列进程调度算法中,()可能会出现进程长期得不到调度的情况。
A.非抢占式静态优先权法B.抢占式静态优先权法C.时间片轮转调度算法D.非抢占式动态优先权法4.在下列选项中,属于预防死锁的方法是()。
A.剥夺资源法B.资源分配图简化法C.资源随意分配D.银行家算法5.在下列选项中,属于检测死锁的方法是()。
A.银行家算法B.消进程法C.资源静态分配法D.资源分配图简化法6.在下列选项中,属于解除死锁的方法是()。
A.剥夺资源法 B.资源分配图简化法C.银行家算法 D.资源静态分配法7.为了照顾紧迫型作业,应采用()。
A.先来服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.优先权调度算法8.在采用动态优先权的优先权调度算法中,如果所有进程都具有相同优先权初值,则此时的优先权调度算法实际上和()相同。
A.先来先服务调度算法B.短作业优先调度算法C.时间片轮转调度算法D.长作业优先调度算法9.作业从后备作业到被调度程序选中的时间称为()。
A.周转时间B.响应时间C.等待调度时间D.运行时间10.资源静态分配法可以预防死锁的发生,它们使死锁四个条件中的()不成立。
操作系统第4章习题带答案
操作系统第4章习题带答案第四章⼀、问答题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个。
操作系统第四章习题及答案
操作系统第四章习题及答案第四章进程管理1、⼀个由3个页⾯每页有2048个字节组成的程序,将它装⼊⼀个8个物理块组成的存储器中,装⼊的情况如下表所⽰:给出下列逻辑地址,请计算出2617对应的物理地址:2、某请求页式存储管理,允许⽤户编程空间为32个页⾯(每页1KB),主存为16KB, 如有⼀个⽤户程序有10页长,且某时刻该⽤户页⾯映射表如表所⽰。
如果程序执⾏时遇到以下的虚地址:0AC5H ,1AC5H 试计算对应的物理地址。
3、假设某分页系统中,主存储器的容量为1MB ,被分为256块,回答:1)主存地址应该⽤位来表⽰。
2)作业每⼀页的长度为;逻辑地址中的页内地址应该为位。
4、在段式管理系统中,段表为求下⾯逻辑地址对应的物理地址。
12 7 1 4 0 块号页号 95 1938 4 590 13503 90 100 220 2350 1 500 210 0 段长内存起始地址段号(1,10);(2,500);(3,400);(5,32)5、在⼀分页存储管理系统中,逻辑地址长度为16位,页⾯⼤⼩为4096字节,分别计算逻辑地址14AAH,235BH,3B4CH,78DDH所对应的物理地址,并指出可能发⽣何种中断?(8分)注:1表⽰可寻址,0表⽰在外存。
6、在⼀个请求分页系统中,假定系统分配给作业的物理块数为3,并且此作业的页⾯⾛向为2、3、2、1、5、2、4、5、3、2、5、2。
试⽤LRU算法计算出程序访问过程所发⽣的缺页次数和被替换的页⾯序列。
答案:1、P=int(2617/2048)=1 d=569物理地址=4*2048+569=87612、0AC5H的页号是2,对应的物理页号是4,所以物理地址应该为12C5H,1AC5H的页号是6,超过了页表的范围,所以该地址⾮法,产⽣越界中断3、假设某分页系统中,主存储器的容量为1MB,被分为256块,回答:1)主存地址应该⽤ 20 位来表⽰。
2)作业每⼀页的长度为 2048 ;逻辑地址中的页内地址应该为 12 位。
第4章习题及答案
第四章习题及解答4-3 什么是进程?进程与程序的主要区别是什么?答:进程是一个具有一定独立功能的程序关于某个数据集合的一次活动。
进程与程序的主要区别是:(1) 程序是指令的有序集合,是一个静态概念。
进程是程序在处理机的一次执行过程,是一个动态概念。
进程是有生命期的,因创建而产生,因调度而执行,因得到资源而暂停,因撤消而消亡;(2) 进程是一个独立的运行单元,是系统进行资源分配和调度的独立单元,而程序则不是。
(3) 进程与程序之间无一一对应关系。
一个程序可以对应多个进程,一个进程至少包含一个程序。
4-4 图4.2标明程序段执行的先后次序。
其中:I表示输入操作,C表示计算操作,P 表示打印操作,下角标说明是对哪个程序进行上述操作。
请指明:(1)哪些操作必须有先后次序? 其原因是什么?(2)哪些操作可以并发执行? 其原因又是什么?答:(1) ①I n、C n和P n之间有先后顺序要求,这是由于程序本身的逻辑要求。
②使用同一设备的不同的程序段,如C1…C n,I1…I n,P1…P n,之间有先后顺序要求,这是由于设备某一时刻只能为一个程序服务。
(2) 不同程序使用不同设备时,占用不同设备,无逻辑关系,可以并发执行,如I2和C1;I3、C2和P1。
4-9 某系统进程调度状态变迁图如图4.31(1) 什么原因会导致发生变迁2、变迁3、变迁4 ?答:发生变迁2的原因:时间片到发生变迁3的原因:请求I/O或其他系统调用发生变迁4的原因:I/O完成或其他系统调用完成(2) 在什么情况下,一个进程的变迁3 能立即引起另一个进程发生变迁1 ?答:一个进程的变迁3 能立即引起另一个进程发生变迁的条件是,就绪队列非空。
(3) 下列因果变迁是否可能发生?若可能,需要什么条件?a. 2→1;b. 3→2;c. 4→1答:a. 2→1 不需要条件,一定会发生。
b. 3→2 不可能发生。
c. 4→1 可能发生,条件:就绪队列为空,或在可剥夺调度方式下,转变为就绪状态的进程优先级最高。
操作系统第4章练习题
操作系统第4章练习题第4章存储器管理4.1 典型例题解析【例1】某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统。
在内存分配时,系统优先使用空闲区低端的空间。
对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。
答:使用首次适应算法和最佳适应算法进行上述内存的分配和回收后,内存的实际使用情况分别如图(a)和(b)所示。
(a)(b)【例2】对一个将页表存放在内存中的分页系统: (1)如访问内存需要0.2μs,有效访问时间为多少?(2)如果加一快表,且假定在快表中找到页表项的机率高达90%,则有效访问时间又是多少(假定查快表需花的时间为0)?答:(1)有效访问时间为:2×0.2=0.4μs (2)有效访问时间为:0.9×0.2+(1—0.9)×2×0.2=0.22 ps。
【例3】某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K,拥有物理空间1M。
(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位?(3)如果物理空间减少一半,页表结构应相应作怎样的改变?答:(1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述:而每页为2K,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下:15 11 10 0(2)每个进程最多有32个页面,因此,进程的页表项最多为32项;若不考虑访问权限等,则页表项中只需给出页所对应的物理块块号,1M的物理空间可分成29个内存块,故每个页表项至少有9位(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位。
操作系统第4章(调度与死锁习题与解答)
第4章调度与死锁习题与解答4.2 例题解析例4.2.1 当前运行的进程(),将引发系统进行进程调度。
A.执行了一条转移指令B.要求增加主存空间,经系统调用银行家算法进行测算认为是安全的C.执行了一条I/O指令D.执行程序期间发生了I/O完成中断解本题考核进程调度的时机,相关的概念有:(1)进程执行转移指令表示CPU将转到一个新程序段去,并不是转到一个新进程,因而不会重新分配CPU。
(2)当前进程提出主存请求时,若系统认为分配是安全的,则可以立即使进程的请求得到满足,不会因而造成进程阻塞。
因此不会分配CPU。
(3)当前进程执行了I/O指令,提出了输入输出请求。
由于I/O是低速的,因此不能让CPU等待I/O完成。
因此需要阻塞当前进程,重新分配CPU。
(4)当前进程运行程序期间发生了I/O完成中断,说明有一个处于阻塞队列上的进程,正等待此I/O事件的出现。
因此可在中断处理程序中查出等待的进程,将它唤醒。
然后再返回到当前进程来执行。
只要恢复当前进程的现场信息就可以了,不会重新分配CPU。
正确答案应为C。
例4.2.2分时系统中的当前运行进程连续获得了两个时间片,原因可能是()。
A.该进程的优先级最高B.就绪队列为空C.该进程最早进入就绪队列D.该进程是一个短进程解(1)在分时系统中,诸多进程以轮流方式分享CPU,一般不考虑进程的优先级。
(2)当前进程运行完一个时间片后回到就绪队列,如果此刻就绪队列为空队列,那么下一个时间片仍然由该进程使用CPU。
(3)在分时系统中,诸多进程轮流地使用CPU,并不考虑进程进入就绪队列的时间,也不登记进程进入就绪队列的时间。
(4)分时系统中诸多进程轮流使用CPU不考虑进程的长短,也不登记进程预估将运行多长时间。
正确答案应为B。
例4.2.3有三个作业A(到达时间8:50,执行时间1.5小时)、B(到达时间9:00,执行时间0.4小时)、C(到达时间9:30,执行时间1小时)。
当作业全部到达后,单道批处理系统按照响应比高者优先算法进行调度,则作业被选中的次序是()。
操作系统第4章练习题
第4章存储器管理4.1 典型例题解析【例1】某系统采用动态分区分配方式管理内存,内存空间为640K,高端40K用来存放操作系统。
在内存分配时,系统优先使用空闲区低端的空间。
对下列的请求序列:作业1申请130K、作业2申请60K、作业3申请100K、作业2释放60K、作业4申请200K、作业3释放100K、作业1释放130K、作业5申请140K、作业6申请60K、作业7申请50K、作业6释放60K,请分别画图表示出使用首次适应算法和最佳适应算法进行内存分配和回收后内存的实际使用情况。
答:使用首次适应算法和最佳适应算法进行上述内存的分配和回收后,内存的实际使用情况分别如图(a)和(b)所示。
(a )(b) 【例2】对一个将页表存放在内存中的分页系统:(1)如访问内存需要0.2μs ,有效访问时间为多少?(2)如果加一快表,且假定在快表中找到页表项的机率高达90%,则有效访问时间又是多少(假定查快表需花的时间为0)? 答:(1)有效访问时间为:2×0.2=0.4μs (2)有效访问时间为:0.9×0.2+(1—0.9)×2×0.2=0.22 ps 。
【例3】某系统采用页式存储管理策略,拥有逻辑空间32页,每页2K ,拥有物理空间1M 。
(1)写出逻辑地址的格式。
(2)若不考虑访问权限等,进程的页表有多少项?每项至少有多少位? (3)如果物理空间减少一半,页表结构应相应作怎样的改变? 答:(1)该系统拥有逻辑空间32页,故逻辑地址中页号必须用5位来描述:而每页为 2K ,因此,页内地址必须用11位来描述,这样可得到它的逻辑地址格式如下: 等,则页表项中只需给出页所对应的物理块块号,1M 的物理空间可分成29个内存块,故每个页表项至少有9位(3)如果物理空间减少一半,则页表中页表项数仍不变,但每项的长度可减少1位。
【例4】已知某分页系统,主存容量为64K ,页面大小为1K ,对一个4页大的作业,其0、l 、2、3页分别被分配到主存的2、4、6、7块中。
操作系统第四章课后答案
操作系统第四章课后答案第四章存储器管理1. 为什么要配置层次式存储器?这是因为:a.设置多个存储器可以使存储器两端的硬件能并行工作。
b.采用多级存储系统,特别是Cache技术,这是一种减轻存储器带宽对系统性能影响的最佳结构方案。
c.在微处理机内部设置各种缓冲存储器,以减轻对存储器存取的压力。
增加CPU中寄存器的数量,也可大大缓解对存储器的压力。
2. 可采用哪几种方式将程序装入内存?它们分别适用于何种场合?将程序装入内存可采用的方式有:绝对装入方式、重定位装入方式、动态运行时装入方式;绝对装入方式适用于单道程序环境中,重定位装入方式和动态运行时装入方式适用于多道程序环境中。
3. 何为静态链接?何谓装入时动态链接和运行时动态链接?a.静态链接是指在程序运行之前,先将各自目标模块及它们所需的库函数,链接成一个完整的装配模块,以后不再拆开的链接方式。
b.装入时动态链接是指将用户源程序编译后所得到的一组目标模块,在装入内存时,采用边装入边链接的一种链接方式,即在装入一个目标模块时,若发生一个外部模块调用事件,将引起装入程序去找相应的外部目标模块,把它装入内存中,并修改目标模块中的相对地址。
c.运行时动态链接是将对某些模块的链接推迟到程序执行时才进行链接,也就是,在执行过程中,当发现一个被调用模块尚未装入内存时,立即由OS去找到该模块并将之装入内存,把它链接到调用者模块上。
4. 在进行程序链接时,应完成哪些工作?a.对相对地址进行修改b.变换外部调用符号6. 为什么要引入动态重定位?如何实现?a.程序在运行过程中经常要在内存中移动位置,为了保证这些被移动了的程序还能正常执行,必须对程序和数据的地址加以修改,即重定位。
引入重定位的目的就是为了满足程序的这种需要。
b.要在不影响指令执行速度的同时实现地址变换,必须有硬件地址变换机构的支持,即须在系统中增设一个重定位寄存器,用它来存放程序在内存中的起始地址。
程序在执行时,真正访问的内存地址是相对地址与重定位寄存器中的地址相加而形成的。
计算机操作系统习题及答案(4)
第4章进程同步与通信1)选择题(1)在操作系统中,P、V操作是一种_D__。
A。
机器指令B。
系统调用命令C. 作业控制命令D。
低级进程通信原语(2)若信号量S的初值为2,当前值为-1,则表示有_B__等待进程。
A。
0个B。
l个C. 2个D。
3个(3)在直接通信方式中,系统提供两条通信原语进行发送和接收,其中Send原语中参数应是_C_。
A。
sender,message B。
sender,mailboxC. receiver,message D。
receiver,mailbox(4)下述那个选项不是管程的组成部分_A__.A。
管程外过程调用管程内数据结构的说明B。
管程内对数据结构进行操作的一组过程C。
局部于管程的共享数据说明D。
对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B。
低级通信C。
管道通信D。
高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. —1B. 0C。
1 D. 任意值(7)临界区是_B__。
A. 一个缓冲区B. 一段程序C. 一段共享数据区D。
一个互斥资源(8)信箱通信是一种_D__通信方式。
A。
直接通信 B. 信号量C。
低级通信D。
间接通信(9)对于两个并发进程,设互斥信号量为mutex,若mutex=0则__A_。
A. 表示有一个进程进入临界区B。
表示没有进程进入临界区C。
表示有一个进程进入临界区,另一个进程等待进入D. 表示有两个进程进入临界区(10)对信号量S执行V操作后,下述选项正确的是_C__。
A. 当S小于等于0时唤醒一个阻塞进程B. 当S小于0时唤醒一个阻塞进程C. 当S小于等于0时唤醒一个就绪进程D. 当S小于0时唤醒一个就绪进程(11)在消息缓冲通信中,消息队列属于_A__资源。
A. 临界B。
共享C。
永久 D. 可剥夺(12)在消息缓冲通信机制中,使用的临界资源是_D__。
A。
信箱B。
操作系统课后习题答案(4~6章)
操作系统课后习题答案(4~6章)Chapter 41、存储管理主要研究的内容是:内存存储分配;地址再定位;存储保护;存储扩充的⽅法。
2、什么是虚拟存储器?实现虚存的物质基础是什么?虚存实际上是⼀个地址空间,它有OS产⽣的⼀个⽐内存容量⼤的多的“逻辑存储器”。
其物质基础是:⼀定容量的主存;⼤容量的辅存(外存)和地址变化机构(容量受计算机的地址位数限定)。
有3类虚存:分页式、分段式和段页式。
引⼊虚存的必要性:逻辑上扩充内存容量,实现⼩内存运⾏⼤作业的⽬的;可能性:其物质基础保证。
3、某页式管理系统,主存容量为64KB,分成16块,块号为0,1,2,3,4……,15。
设某作业有4页,其页号为0,1,2,3。
被分别装⼊主存的2,4,1,6块。
试问:(1)该作业的总长度是多少字节?(2)计算出该作业每⼀页在主存中的起始地址。
(3)若给出逻辑地址[0,100]、[1,50]、[2,0]、[3,60],请计算出相应的内存地址。
解:(1)每块的长度=64KB/16=4KB;因为块与页⾯⼤⼩相等,每页容量=4KB;故作业的总长度为:4KB*4=16KB。
(2)因为页号为0,1,2,31,6块中,即PMT为:所以,该作业的:第0页在内存中的起始地址为4K*2=8K;第1页在内存中的起始地址为4K*4=16K;第2页在内存中的起始地址为4K*1=4K;第3页在内存中的起始地址为4K*6=24K;(3)对应内存地址:逻辑地址[0,100]的内存地址为4K*2+100=8192+100=8292;逻辑地址[1,50]的内存地址为4K*4+50=16384+50=16434;逻辑地址[2,0]的内存地址为4K*1+0=4096;逻辑地址[3,60]的内存地址为4K*6+60=24K+60=24576+60=24636。
试回答:(1)给定段号和段内地址,完成地址变换过程。
(2)计算[0,430]、[1,10]、[2,500]、[3,400]的内存地址。
操作系统第四章课后题答案
第四章1.为什么说多级反馈队列调度算法能较好地满足各类用户的需要(来自百度):答案一:多级反馈队列调度算法能较好地满足各种类型用户的需要。
对终端型作业用户而言,由于他们所提交的大多属于交互型作业,作业通常比较短小,系统只要能使这些作业在第1级队列所规定的时间片内完成,便可使终端型作业用户感到满意;对于短批处理作业用户而言,他们的作业开始时像终端型作业一样,如果仅在第1级队列中执行一个时间片即可完成,便可以获得与终端型作业一样的响应时间,对于稍长的作业,通常也只需要在第2级队列和第3级队列中各执行一个时间片即可完成,其周转时间仍然较短;对于长批处理作业用户而言,它们的长作业将依次在第1,2,…,直到第n级队列中运行,然后再按时间片轮转方式运行,用户不必担心其作业长期得不到处理。
答案二:(惠州学院操作系统课后题)与答案一基本相似,可看做精简版。
答:(1)终端型作业用户提交的作业大多属于较小的交互型作业,系统只要使这些作业在第一队列规定的时间片内完成,终端作业用户就会感到满足。
(2)短批处理作业用户,开始时像终端型作业一样,如果在第一队列中执行一个时间片段即可完成,便可获得与终端作业一样的响应时间。
对于稍长作业,通常只需在第二和第三队列各执行一时间片即可完成,其周转时间仍然较短。
(3)长批处理作业,它将依次在第1 ,2 ,…,n个队列中运行,然后再按轮转方式运行,用户不必担心其作业长期得不到处理。
所以,多级反馈队列调度算法能满足多用户需求。
2.分别对以上两个进程集合,计算使用先来先服务(FCFS)、时间片轮转法(时间片q=1)、短进程优先(SPN)、最短剩余时间优先(SRT,时间片q=1)、响应比高者优先(HRRN)及多级反馈队列(MFQ,第1个队列的时间片为1,第i(i<1)个队列的时间片q=2(i-1))算法进行CPU调度,请给出各进程的完成时间、周转时间、带权周转时间,及所有进程的平均周转时间和平均带权周转时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章一、问答题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个。
当进程申请资源时只要有资源尚未分配完则满足它的申请,但用限制系统中可同时执行的进程数来防止发生死锁,你认为进程调度允许同时执行的最大进程数应该是多少?并说明原因。
答;假设系统中有x个进程的进程,则资源至少要有m×x+1个才不会产生死锁,由于系统资源有m×n+1个,则可列出不等式:m×x+1≤m×n+1解不等式,得到x≤n,所以系统允许同时执行的最大进程数为n。
证明:假设在系统允许同时执行的最大进程数为n时,仍然出现了死锁,此时应该存在一组进程都在等待资源,而且系统已无资源可用。
则此时该组进程最多n个,每个进程没有执行完时最多占用m个资源,所以现在系统分配出去的资源最多m×n,少于系统资源m×n+1,所以不可能有死锁出现。
若系统进程数量为n+1,每个进程占有最大资源数量为m+1,则会出现死锁。
例如,当其中n个进程均占有m个资源,剩下的一个进程占有了最后一个资源,所有进程都都还需要资源才可运行完,而此时系统已经无资源可用,产生死锁。
因此,系统允许同时执行的最大进程数为n时系统不会有死锁发生5、设系统中有3种类型的资源A、B、C和5个进程P0、P1、P2、P3、P4,A 资源的数量为10,B资源的数量为5,C资源的数量为7。
在T0时刻系统状态如下表所示。
系统采用银行家算法实施死锁避免策略。
(12分)①. T0时刻是否为安全状态?若是,请给出安全序列。
②在T0时刻若进程P1发出资源请求Request(1,0,2),是否能够实施资源分配?③在②的基础上P4发出资源请求Request(3,3,0),是否能够实施资源分配?④在③的基础上P0发出资源请求Request(0,2,0),是否能够实施资源分配? 见课本五、应用题1、如果有三个进程R、W1、W2共享一个缓冲器B,而B中每次只能存放一个数。
当缓冲器中无数时,进程R可以将从输入设备上读入的数存放到缓冲器中。
若存放到缓冲器中的是奇数,则允许进程W1将其取出打印;若存放到缓冲器中的是偶数,则允许进程W2将其取出打印。
同时规定:进程R必须等缓冲区中的数被取出打印后才能再存放一个数;进程W1或W2对每次存入缓冲器的数只能打印一次;W1和W2都不能从空缓冲中取数。
写出这三个并发进程能正确工作的程序。
semaphore S=1,SO=SE=0;buffer B;void R1(){int x;while(1){从输入设备上读一个数;x=接收的数;wait(S);B=x;if B=奇数then signal(SO);else signal(SE);}}void W1(){int y;while(1){wait(SO);y=B;signal(S);{打印y中数};}}void W2(){int z;while(1){wait(SE);z=B;signal(S);打印z中数 ;}}main(){cobegin{R();W1();W2();}2、设计一种可以避免死锁的资源分配算法,要求写明数据结构和相应方案或算法。
参考课本上方案3、复印室里有一个操作员为顾客复印资料,有5把椅子供顾客休息等待复印。
如果没有顾客,则操作员休息。
当顾客来到复印室时,如果有空椅子则坐下来,并唤醒复印操作员;如果没有空椅子则必须离开复印室。
利用信号量机制解决该同步互斥问题。
设置3个信号量:customers表示正在等待复印的顾客数量(不包括正在复印的顾客);operator记录正在等候顾客的操作员数,只有1和0;mutex用于对变量waiting的互斥访问。
1个变量:waiting表示等待的顾客数量。
semaphore customers=0,operator=0,mutex=1;waiting=0;process operator( )//操作员进程{ while(1){wait(customers); //等待顾客到来复印;signal(operator); //通知顾客已经完成复印}}process cusotmeri( )//顾客进程i{wait(mutex);if(waiting<5){waiting++;signal(customers);signal(mutex);wait(operator);wait(mutex);waiting--;signal(mutex);}else{signal(mutex);离开复印室;}}main( ){cobegin{ operator( );customeri( );}}4、a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点和b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。
请用信号量机制为工具,对ab段实现正确管理以保证行驶安全。
Semaphore S1=1,S2=1,Sab=1;int ab=ba=0;void P ab (){while(1){wait(S1);if(ab==0)wait(Sab);ab=ab+1;signal(S1);车辆从a点驶向b点;wait(S1);ab=ab-1;if(ab==0)signal(Sab);signal(S1);}}void P ba (){while(1){wait(S2);if(ba==0)wait(Sab);ba=ba+1;signal(S2);车辆从b点驶向a点;wait(S2);ba=ba-1;if(ba==0)signal(Sab);signal(S2);}}main(){cobegin{P ab ();P ba ();}}5、某系统五个合作的进程前驱图如下,请用信号量方法控制它们的执行,以确保它们的执行顺序,请写出类c算法。
参考解题方案5、一条河上架设了由若干个桥墩组成的一座桥。
若一个桥墩只能站一个人,过河的人只能沿着桥向前走而不能向后退。
过河时,只要对岸无人过,就可以过。
但不允许河对岸的两个人同时过,以防止出现死锁。
请给出两个方向的人顺利过河的同步算法。
假设桥墩数量为ksemaphore s, scounteast, scountwest, scount;s=1, scounteast=1, scountwest=1, scount=k;int Counteast=0, Countwest=0;void east(int i){wait(scounteast);if(Counteast==0)wait(s);Counteast++;signal(scounteast);wait(scount4);上桥,过桥,下桥;signal(scount4);wait(scounteast);Counteast--;if(Counteast==0)signal(s);signal(scounteast);}void west(int i){wait(scountwest);if(Countwest==0)wait(s);Countwest++;signal(scountwest);wait(scount4);上桥,过桥,下桥;signal(scount4);wait(scountwest);Countwest--;if(Countwest==0)signal(s);signal(scountwest);}main(){cobegin{east(1);...east(n);west(1);...west(m);}}6、现有四个进程R1、R2、W1、W2,它们共享可以存放一个数的缓冲器B。
进程R1每次把来自键盘的一个数存入缓冲器B中,供进程W1打印输出;进程R2每次从磁盘上读一个数存放到缓冲器B中,供进程W2打印输出。
为防止数据的丢失和重复打印,问怎样用wait,signal操作来协调这四个进程的并发执行。
semaphore S=1,S1=S2=0;buffer B;void R1(){int x;while(1){接收来自键盘的数;x=接收的数;wait(S);B=x;signal(S1);}}void R2(){int y;while(1){从磁盘上读一个数;y=接收的数;wait(S);B=y;signal(S2);}}void W1(){int k;while(1){wait(Sl);k=B;signal(S);打印k中数;}}void W2(){int j;while(1){wait(S2);j=B;signal(S);打印j中数;}}main(){cobegin{R1();R2();W1();W2();}7、系统中有4种类型的资源A、B、C、D和5个进程P0、P1、P2、P3、P4,当前系统出现下表所示资源分配情况:试问:①该状态是否安全?分析说明。