操作系统习题第四章
操作系统习题第四章

第四章互斥、同步与通讯一、单项选择题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,07.进程的并发执行是指若干个进程__________.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.小于等于012.进程和程序的主要区别是__________.A.占用处理器和不占用处理器B.占用主存和不占用主存C.动态和静态D.连续执行和非连续执行13.有三个进程P1,P2,P3共享同一个程序段,而每次最多允许两个进程进入该程序段,则信号量S的初值为___________.A. 0B. 1C. 2D. 314.若P、V操作的信号量S初值为2,当前值为-1,则表示有_________等待进程。
计算机操作系统习题及答案(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,messageB. sender,mailboxC. receiver,messageD. receiver,mailbox(4)下述那个选项不是管程的组成部分_A__。
A. 管程外过程调用管程内数据结构的说明B. 管程内对数据结构进行操作的一组过程C. 局部于管程的共享数据说明D. 对局部于管程的数据结构设置初值的语句(5)某通信方式通过共享存储区来实现,其属于_D__。
A. 消息通信B. 低级通信C. 管道通信D. 高级通信(6)用P、V操作管理临界区时,信号量的初值应定义为__C__。
A. -1B. 0C. 1D. 任意值(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__。
操作系统第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个。
(完整word版)操作系统第四章

第四章一、问答题1、什么叫临界资源?什么叫临界区?对临界区的使用应切合哪些规则?(同步体制应依据的准则是什么?)2、死锁产生的 4 个必需条件是什么?它们是相互独立的吗?3、何谓死锁?为何将全部资源按种类给予不一样的序号,并规定全部进度按资源序号递加的次序申请资源后,系统便不会产存亡锁?4、什么是安全状态?怎么判断系统能否处于安全状态?5、简述死锁定理和排除死锁的方法。
二、计算和证明1、目前系统中出现下述资源分派状况:Allocation Need Available P0 0 0 3 2 0 0 1 2 1 6 2 2P1 1 0 0 0 1 7 5 0P2 1 3 5 4 2 3 5 6P3 0 3 3 2 0 6 5 2P4 0 0 1 4 0 6 5 6利用银专家算法,试问假如进度P2 提出资源恳求Request(1,2,2,2)后,系统可否将资源分派给它?2、若系统有某类资源m×n+1 个,同意进度履行过程中动向申请该类资源,但在该系统上运转的每一个进度对该资源的据有量任何时辰都不会超出m+1 个。
当进度申请资源时只需有资源还没有分派完则知足它的申请,但用限制系统中可同时履行的进度数来防备发存亡锁,你以为进度调动同意同时履行的最大进度数应该是多少?并说明原由。
3、n 个进度共享某种资源R,该资源共有 m个,每个进度一次一个地申请或开释资源。
假定每个进度对该资源的最大需求量均小于m,且各进度最大需求量之和小于 m+n,试证明在这个系统中不行能发存亡锁。
4、目前某系统有同类资源7 个,进度 P,Q 所需资源总数分别为5, 4。
它们向系统申请资源的序次和数目如表所示。
回答:序次进度申请量1 Q 22 P 13 Q 14 P 35 P 26 Q 1问:采纳死锁防止的方法进行资源分派,请你写出系统达成第 3 次分派后各进度据有资源量,在此后各次的申请中,哪次的申请要求可先获取知足?5、一个计算机系统有 6 个磁带驱动器 4 个进度。
计算机操作系统(习题集)第四章 答案

第四章存储器管理一、单项选择题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 )是指将作业不需要或暂时不需要的部分移到外存,让出内存空间以调入其他所需数据。
第四章 操作系统存储管理(练习题答案)

第四章存储管理1. C存储管理支持多道程序设计,算法简单,但存储碎片多。
A. 段式B. 页式C. 固定分区D. 段页式2.虚拟存储技术是 B 。
A. 补充内存物理空间的技术B. 补充相对地址空间的技术C. 扩充外存空间的技术D. 扩充输入输出缓冲区的技术3.虚拟内存的容量只受 D 的限制。
A. 物理内存的大小B. 磁盘空间的大小C. 数据存放的实际地址D. 计算机地址位数4.动态页式管理中的 C 是:当内存中没有空闲页时,如何将已占据的页释放。
A. 调入策略B. 地址变换C. 替换策略D. 调度算法5.多重分区管理要求对每一个作业都分配 B 的内存单元。
A. 地址连续B. 若干地址不连续C. 若干连续的帧D. 若干不连续的帧6.段页式管理每取一数据,要访问 C 次内存。
A. 1B. 2C. 3D. 47.分段管理提供 B 维的地址结构。
A. 1B. 2C. 3D. 48.系统抖动是指 B。
A. 使用计算机时,屏幕闪烁的现象B. 刚被调出内存的页又立刻被调入所形成的频繁调入调出的现象C. 系统盘不干净,操作系统不稳定的现象D. 由于内存分配不当,造成内存不够的现象9.在 A中,不可能产生系统抖动现象。
A. 静态分区管理B. 请求分页式管理C. 段式存储管理D. 段页式存储管理10.在分段管理中 A 。
A. 以段为单元分配,每段是一个连续存储区B. 段与段之间必定不连续C. 段与段之间必定连续D. 每段是等长的11.请求分页式管理常用的替换策略之一有 A 。
A. LRUB. BFC. SCBFD. FPF12.可由CPU调用执行的程序所对应的地址空间为 D 。
A. 名称空间B. 虚拟地址空间C. 相对地址空间D. 物理地址空间13. C 存储管理方式提供二维地址结构。
A. 固定分区B. 分页C. 分段D. 物理地址空间14.当程序经过编译或者汇编以后,形成了一种由机器指令组成的集合,被称为B 。
A. 源程序B. 目标程序C. 可执行程序D. 非执行程序15.目录程序指令的顺序都以0作为一个参考地址,这些地址被称为 A 。
操作系统考试必备第四章习题(存储器管理)
一、单项选择题1.在存储管理方案中,可与覆盖技术配合。
A. 页式管理B.段式管理C.段页式管理D.可变分区管理2.在存储管理中,采用覆盖与交换技术的目的是。
A. 节省主存空间B.物理上扩充主存容量C. 提高CPU效率D.实现主存共享3.动态重定位技术依赖于。
A. 重定位装入程序B.重定位寄存器C. 地址机构D.目标程序4. 虚拟存储器的最大容量。
A. 为内外存容量之和B.由计算机的地址结构决定C.是任意的 D. 由作业的地址空间决定5.在虚拟存储系统中,若进程在内存中占3块(开始时为空),采用先进先出页面淘汰算法,当执行访问页号序列为1、2、3、4、l、2、5、1、2、3、4、5、6时,将产生次缺页中断。
A.7 B.8 C.9 D.106.很好地解决了“零头”问题的存储管理方法是。
A. 页式存储管理B.段式存储管理C. 多重分区管理D.可变式分区管理7.系统“抖动”现象的发生是由引起的。
A. 置换算法选择不当B.交换的信息量过大C. 内存容量不足D. 请求页式管理方案8.分区管理中采用“最佳适应”分配算法时,宜把空闲区按次序登记在空闲区表中。
A. 长度递增B.长度递减C. 地址递增D. 地址递减9.在固定分区分配中,每个分区的大小是。
A. 相同B.随作业长度变化C. 可以不同但预先固定D.可以不同但根据作业长度固定10.实现虚拟存储器的目的是。
A. 实现存储保护D.实现程序浮动C.扩充辅存容量D.扩充主存容量11.采用段式存储管理的系统中,若地址用24位表示,其中8位表示段号,则允许每段的最大长度是。
A.224B.216C.28D.23212.作业在执行中发生了缺页中断,经操作系统处理后,应让其执行指令。
A. 被中断的前一条B.被中断的C.被中断的后一条D.启动时的第一条13.把作业地址空间中使用的逻辑地址变成内存中物理地址的过程称为。
A. 重定位B.物理化C.逻辑化D.加载14.首次适应算法的空闲区是。
操作系统第四章进程调度和死锁习题及答案
第四章一、单项选择题1.为了根据进程的紧迫性做进程调度,应采用(B )。
A.先来先服务调度算法 B. 优先数调度算法 C.时间片轮转调度法 D.分级调度算法2.采用时间片轮转法调度是为了( A)。
A.多个终端都能得到系统的及时响应 B.先来先服务C. 优先数高的进程先使用处理器 D.紧急事件优先处理3.采用优先数调度算法时,对那些具有相同优先数的进程再按( A )的次序分配处理器。
A 先来先服务 B. 时间片轮转 C. 运行时间长短 D.使用外围设备多少4. 当一进程运行时,系统强行将其撤下,让另一个更高优先数的进程占用处理器,这种调度方式是( B )。
A. 非抢占方式B.抢占方式 C. 中断方式 D.查询方式5.( B)必定会引起进程切换。
A.一个进程被创建后进入就绪态B.一个进程从运行态变成阻塞态C.一个进程从阻塞态变成就绪态6.( B)只考虑用户估计的计算机时间,可能使计算时间长的作业等待太久。
A.先来先服务算法B.计算时间短的作业优先算法C.响应比最高者优先算法 D.优先数算法7.先来先服务算法以( A )去选作业,可能会使计算时间短的作业等待时间过长。
A.进入的先后次序 B.计算时间的长短 C.响应比的高低 D.优先数的大小8.可以证明,采用( C )能使平均等待时间最小。
A.优先数调度算法 B.均衡调度算法C.计算时间短的作业优先算法 D.响应比最高者优先算法9.在进行作业调度时.要想兼顾作业等待时间和计算时间,应选取(D )。
A均衡调度算法 B.优先数调度算法C.先来先服务算法D.响应比最高者优先算法10.作业调度算法提到的响应比是指( B )。
A.作业计算时间与等待时间之比B.作业等待时间与计算时间之比C.系统调度时间与作业等待时间之比 D.作业等待时间与系统调度时间之比11.作业调度选择一个作业装入主存后,该作业能否占用处理器必须由( D )来决定。
A.设备管理 B.作业控制 C.驱动调度D.进程调度12.系统出现死锁的根本原因是( D )。
《操作系统》习题集参考答案:第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,互盘有两个盘面。
计算机操作系统习题4
6.已知某系统页面长为4KB,页表项4B,采用多层分页策略 映射64位虚拟地址空间。若限定最高层页表占1页,问它可 以采用几层分页策略? 7.在一个采用页式虚拟存储管理的系统中,某进程依次要 访问的字地址序列是:115,228,128,88,446,102, 321,432,260,167,若该作业的第0页已经装入主存, 现分配给该作业的主存共300字,页的大小为100字,请回 答下列问题:
8.某虚拟存储器系统采用页式内存管理,使用LRU页面替 换算法,考虑下面的页面访问地址流(每次访问在一个 时间单位内完成): 1、8、1、7、8、2、7、2、1、8、3、8、 2、1、3、1、7、1、3、7 假定内存容量为4个页面,开始时是空的,则页面置换 次数是()。 A、4 B、5 C、6 D、7
)
26.设内存的分配情况如图所示。若要申请一块40K字节的内 存空间,若采用最佳适应算法,则所得到的分区首址为()。 A.100K B.190K
0K 100K 180K 190K 280K 330K 390K 410K 512K
C.330K
D.410K
占用 占用 占用
占用
27.在下列存储管理方案中,能实现虚存的有(
)。
A. 每个作业或进程的一张段表,两张页表
B.每个作业或进程的每个段一张段表,一张页表 C.每个作业或进程一张段表,每个段一张页表 D.每个作业一张页表,每个段一张段表
15.在虚拟页式存储管理方案中,完成将页面调入内存的 工作的是( )。
A.缺页中断处理 C.工作集模型应用 B.页面淘汰过程 D.紧缩技术利用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第四章
一、问答题
1、同步机制应遵循的准则是什么?
2、死锁产生的4个必要条件是什么?它们是彼此独立的吗?
3、简述死锁的定义和死锁产生的原因。
4、简述死锁定理和解除死锁的方法。
5、什么是安全状态?怎么判断系统是否处于安全状态?
6、同步机制应遵循的准则是什么?
7、死锁产生的4个必要条件是什么?它们是彼此独立的吗?
二、计算题(共20分)
1、当前系统中出现下述资源分配情况:
利用银行家算法,试问如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配给它?
2、当前某系统有同类资源7个,进程P,Q所需资源总数分别为5,4。
它们向系统申请资源的次序和数量如表所示。
回答:
问:采用死锁避免的方法进行资源分配,请你写出系统完成第3次分配后各进程占有资源量,在以后各次的申请中,哪次的申请要求可先得到满足?
3、一个计算机系统有6个磁带驱动器和4个进程。
每个进程最多需要n个磁带驱动器。
问当n为什么值时,系统不会发生死锁?并说明理由
4、若系统有某类资源m×n+1个,允许进程执行过程中动态申请该类资源,但在该系统上运行的每一个进程对该资源的占有量任何时刻都不会超过m+1个。
当进程申请资源时只要有资源尚未分配完则满足它的申请,但用限制系统中可同时执行的进程数来防止发生死锁,你认为进程调度允许同时执行的最大进程数应该是多少?并说明原因。
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都不能从空缓冲中取数。
写出这三个并发进程能正确工作的程序。
2、设计一种可以避免死锁的资源分配算法,要求写明数据结构和相应方案或算法。
3、复印室里有一个操作员为顾客复印资料,有5把椅子供顾客休息等待复印。
如果没有顾客,则操作员休息。
当顾客来到复印室时,如果有空椅子则坐下来,并唤醒复印操作员;如果没有空椅子则必须离开复印室。
利用信号量机制解决该同步互斥问题。
4、a,b两点之间是一段东西向的单行车道,现要设计一个自动管理系统,管理规则如下:当ab之间有车辆在行驶时同方向的车可以同时驶入ab段,但另一方向的车必须在ab段外等待;当ab之间无车辆在行驶时,到达a点(或b点)的车辆可以进入ab段,但不能从a点和b点同时驶入,当某方向在ab段行驶的车辆驶出了ab段且暂无车辆进入ab段时,应让另一方向等待的车辆进入ab段行驶。
请用信号量机制为工具,对ab段实现正确管理以保证行驶安全。
5、某系统五个合作的进程前驱图如下,请用信号量方法控制它们的执行,以确保它们的执行顺序,请写出类c算法。
5、一条河上架设了由若干个桥墩组成的一座桥。
若一个桥墩只能站一个人,过河的人只能沿着桥向前走而不能向后退。
过河时,只要对岸无人过,就可以过。
但不允许河对岸的两个人同时过,以防止出现死锁。
请给出两个方向的人顺利过河的同步算法。
6、桌子上有一只盘子,每次只能放一只水果。
爸爸专向盘子中放苹果,妈妈专向盘子中放橘子,一个儿子专等吃盘子中的橘子,一个女儿专等吃盘子中的苹果。
用信号量机制实现他们之间的同步机制。
7、系统中有4种类型的资源A、B、C、D和5个进程P0、P1、P2、P3、P4,当前系统出现下表所示资源分配情况:
试问:
①该状态是否安全?分析说明。
②如果进程P2提出资源请求Request(1,2,2,2)后,系统能否将资源分配
给它?
8、某寺庙有小和尚和老和尚各若干人,水缸一只,由小和尚提水入缸给老和尚饮用。
水缸可容水10桶,水取自同一口水井中。
水井径窄,每次仅能容一只水桶取水,水桶总数为3个。
若每次入、取水仅为1桶,而且不可同时进行。
试用记录型信号量机制写出小和尚和老和尚的活动过程。
9、考虑三个吸烟者进程和一个经销商进程的系统。
每个吸烟者连续不断地做烟卷并抽他做好的烟卷,做一支烟卷需要烟草、纸和火柴三种原料。
这三个吸烟者分别掌握有烟草、纸和火柴。
经销商源源不断地提供上述三种原料,但他只将其中的两种原料放在桌上,具有另一种原料的吸烟者就可以做烟卷并抽烟,且在做完后给经销商发信号,然后经销商再拿出两种原料放在桌上,如此反复。
试设计一个同步算法来描述他们的活动。
10、假定有一个信箱可存放N封信,当信箱不满时发信者可把信件送入信箱;当信箱中有信时收信者可从信箱中取信。
用指针R,K分别表示可存信和取信的位置,请用信号量来管理这个信箱,使发信者和收信者能正确工作。
11、n个进程共享某种资源R,该资源共有m个,每个进程一次一个地申请或释放资源。
假设每个进程对该资源的最大需求量均小于m,且各进程最大需求量之和小于m+n,试证明在这个系统中不可能发生死锁。
12、一个数据文件或记录(统称数据对象),可被多个进程共享。
有些读进程要求读,而另一些写进程对数据对象进行写或修改。
允许多个写进程同时读一个共享对象,决不允许一个写进程和其他读进程或写进程同时访问共享对象。
请用信号量或管程为工具,实现读写进程并发的正确管理。
13、有一个仓库,可以存放A和B两种产品,但要求:1)每次只能存入一种产品(A或B);2)-N<A产品数量—B产品数量<M。
其中,N和M是正整数。
试用同步算法描述产品A与产品B的入库过程。
14在一个系统中,不采用死锁避免和预防措施,但当死锁发生后需要能够检测出来,请设计一个可行的死锁检测方案。
15、一个理发店由一个有N张沙发的等候室和一个放有一张理发椅的理发室组成。
没有顾客要理发时,理发师便去睡觉。
当一个顾客走进理发店时,如果等候室的所有沙发都已经占用,便离开理发店;否则,如果理发师正在为其他顾客理发,则该顾客就找一张空沙发坐下等待。
如果理发师因无顾客正在睡觉,则由新到的顾客唤醒理发师为其理发。
请用信号量机制解决该问题
16、有一个可以存放n整数的循环缓冲,今有m个输入进程,每个输入进程每次读入一个数据放入缓冲中;还有k个输出进程,每个输出进程每次可以从缓冲中读出一个数据输出;不允许有两个或两个以上的输入进程(或输出进程)同时去存数据(或取数据),但允许有一个输入进程在存数据时有一个输出进程可以取数据。
试用请用信号量为工具协调它们的工作,写出算法。
17、某系统中由5种资源,数量为[5,6,8,6,4],某个时刻进程和资源的使用情况如下:
进程名占有资源(向量) 运行完还需资源数量(向量)
P1 [0,2,1,1,1] [1,0,2,1,1]
P2 [2,0,1,1,1] [0,3,2,1,0]
P3 [0,1,0,1,1] [0,3,3,2,2]
P4 [0,3,1,2,0] [1,0,1,2,1]
如此时进程P1提出申请资源[1,0,0,0,1],如系统满足其要求,系统是否安全?请设计一安全检测方案。
18、司机与售票员问题:
司机与售票员之间的同步关系如下所示,当司机停车后售票员才能开门,售票员关门后司机才能开车,请用信号量给出同步算法。
司机与售票员的活动程序如下:
司机:售票员:
L:车在行进中; M:买票;
停车;开门;
开车;关门;
goto L; goto M。
19、写一个管程,用于实现读者——写者问题,要求写者优先。
20、用信号量机制解决读者——写者问题,要求写者优先。
21、一个数据文件或记录(统称数据对象),可被多个进程共享。
有些读进程要求读,而另一些写进程对数据对象进行写或修改。
允许多个读进程同时读一个共享对象,但限制同时读的进程数量不能超过n,不允许一个写进程和其他读进程或写进程同时访问共享对象。
请用信号量或管程为工具,实现读写进程并发的正确管理。