试举例说明竞争不可抢占资源所引起的死锁。
答:例如,系统中有两个进程P1和P2,它们都准备写两个文件F1和F2,而这两者都属于可重用和不可抢占性资源。进程P1先打开F1,然后再打开文件F2;进程P2先打开文件F2,后打开F1,下面示出了这段代码。 P1 P2 ......... Open(f1,w); Open(f2,w); Open(f2,w); Open(f1,w); 两个进程P1和P2在并发执行时,如果P1先打开F1和F2,然后P2才去打开F1(或F2),由于文件F1(F2)已被P1打开,故P2会被阻塞。当P1写完文件F1(或F2)而关闭F1(F2)时,P2会由阻塞状态转为就绪状态,被调度执行后重新打开文件F1(或F2)。 在这种情况下,P1和P2都能正常运行下去。若P2先打开F1和F2,然后P1才去打开F1(或F2),P1和P2同样也可以正常运行下去。 但如果在Pl打开F1的同时,P2去打开F2,每个进程都占有一个打开的文件,此时就可能出现问题。因为当P1试图去打开F2,而P2试图去打开F1时, 这两个进程都会因文件已被打开而阻塞,它们希望对方关闭自己所需要的文件,但谁也无法运行,因此这两个进程将会无限期地等待下去,而形成死锁。【解析】第三章 难易度:中
继续答题:下一题


更多操作系统原理试题
- 1文件目录中( )记录文件的一维地址,而实际读写磁盘需用( )、( )及( )三维地址
- 2现代操作系统中,提高内存利用率主要是通过( )功能实现的。
- 3允许多个用户将若干个作业提交给计算机系统集中处理的操作系统称为()。
- 4在面向用户的调度准则中,( )是批处理系统中选择作业调度算法的重要准则。
- 5分时系统的交互性允许用户请求系统提供()。
- 6假设某程序的页面访问序列为1、2、3、4、5、2、3、1、2、3、4、5、1、2、3、4且开始执行时主存中没有页面,则在分配给该程序的物理块数是3且采用FIFO方式时缺页次数是( );在分配给程序的物理块数是4且采用FIFO方式时,缺页次数是( )。在分配给程序的物理块数是3且采用LRU方式时,缺页次数是( )。在分配给该程序的物理块数为4且采用LRU方式时,缺页次数是( )。