14、判断:临界区是不可中断的程序。()
15、判断:如果在加锁法实现互斥时,将未进入临界区的进程排队等待,从而让其有被再调度的机会,加锁法和P、V原语实现互斥时其效果是相同的。()
16、由于并发进程执行的随机性,一个进程对另一个进程的影响是不可预测的,甚至造成结果的不正确,下面对造成不正确的因素的描述正确的是()。 A与时间有关; B与进程占用的处理机有关; C只与执行速度有关; D只与外界的影响有关
17、有两个优先级相同的进程A、B如下,令信号量S1和S2的初值均为0,已知Z=3,则A、B并发运行结束后X、Y、Z的值分别是: A Y=2; Y=Y+3; V(S1); Z=Y+0; P(S2); Z=Y+Z; B X=2; X=X+3; P(S1); X=X+Y; V(S2); Y=Y+Z; 18、信号量是一个整型变量,可在其上做加1或减1的操作。
2.4 经典进程同步问题
1、一个供应商用汽车给某超市送货,并把汽车上的货物用超市的三轮车运到仓库中,超市的工作人员也用三轮车从仓库中取货去出售。假设共有3辆三轮车,仓库中只能容纳10辆三轮车的货物,且每次从汽车上取货只能共给一辆三轮车,仓库也只能容纳一辆三轮车进入。用信号量实现向仓库中送货及从仓库中取货的同步算法。 2、有一个仓库,可以存放A、B两种产品,但要求:
① 每次只能存入一种产品(A或B); ② A产品数量-B产品数量 其中M、N是正整数,使用P、V操作描述产品A与产品B的入库过程。 3、一组生产者进程和一组消费者进程共享10个缓冲区,每个缓冲区可以存放一个整数;生产者进程每次一次性向3个缓冲区写入3个整数,消费者进程每次从缓冲区取出一个整数。用信号量实现进程的同步关系。 4、写者优先的读者写者问题: 5、有座可双向通行的单车道桥,最大载重负荷为4辆汽车。请给出任一辆车通过该桥的管理算法。 6、设公共汽车上,司机和售票员的活动分别是: 司机的活动 启动车辆; 正常行车; 到站停车; 售票员的活动 关车门; 售票; 开车门; 在汽车不断地到站、停车、行驶过程中,这两个活动有什么同步关系?用P、V操作实现它们的同步。 7、桌子上有一个空盘子,允许存放一只水果,爸爸可以向盘中放苹果,妈妈向盘子中放橘子,女儿专门吃盘子中的苹果,儿子专门吃盘子中的橘子。规定当盘子空的时候一次只能放一只水果,请用信号量实现他们之间的同步与互斥。 8、进程A1、A2、……An1通过m个缓冲区向进程B1、B2……Bn2不断地发送消息。发送和接收工作遵循如下规则: (1) 每个发送进程一次发送一个消息,写入一个缓冲区,缓冲区大小等于消息长度; (2) 对每一个消息,B1,B2,…,Bn都必须接收一次,读入各自的数据区内; (3)m个缓冲区都满时,发送进程等待;没有可读的消息时,接收进程等待。 9、进程A、B、C坐在圆桌旁讨论问题(面朝圆桌),每个人都从其右边那个人的信箱里取得讨论的问题,回答完一个问题后提出一个新问题放在左边的信箱中。假设A右边的信箱可放3个问题,B右边的信箱可以放2个问题,C右边的信箱可以放3个问题,初始时A右边的信箱中有2个问题。用信号量写出三个人讨论问题的同步算法。 A信箱A信箱BC信箱CB 10、战地指挥官通过无线电不断向他的三个士兵下达作战指令,但是他必须在得到所有士兵对前一条指令的“确认”之后才能下达新的指令。请用信号量或管程进行指挥官和士兵之间的协同管理。 11、有三个并发进程R,M,P,它们共享了一个可循环使用的缓冲区B,该缓冲区共有N个单元。进程R负责从输入设备读信息,每读一个字符后,把它存入缓冲区B的一个单元中;进程M负责处理读入的字符,若发现读入的字符中有空格符是,则把它改成“,”;进程P负责吧处理后的字符取出并打印输出。当缓冲区单元中的字符被进程P取出后,则又可用来存放下一次读入的字符。用P,V操作写出能正确并发执行的程序。 12、有4个进程A,B,C,D共享一个缓冲区,进程A负责循环地从文件读一个整数放入缓冲区,进程B从缓冲区取出MOD 3为0的整数并累计求和;进程C从缓冲区取出MOD 3为1的整数并累计求和;进程D从缓冲区取出MOD 3为2的整数并累计求和.请用PV操作写出能够正确执行的程序。 2.5进程通信 1、在UNIX中,()用于把一个进程的输出连接到另一个进程的输入。 A普通文件;B索引文件;C目录文件;D管道文件 2、关于进程通信的说法,判断: (1)进程通信有两种方式,直接通信和间接通信。() (2)直接通信固定在一对进程之间。() (3)间接通信是通过第三个进程转发信件的,不必在两个进程间直接相互通信。() (4)间接通信方式以信箱为媒介实现通信,信箱由接收信件的进程设置。() 2.6线程 1、以下描述中,()并不是多线程系统的特长。 A利用线程并行地执行矩阵乘法运算; B Web服务器利用线程响应HTTP请求; C键盘驱动程序为每一个正在运行的应用配备一个行程,用来响应该应用的键盘输入; D基于GUI的debugger用不同的线程分别处理用户输入、计算、跟踪等操作。 2、若一个进程拥有100个线程,这些线程属于用户级线程,则该进程在系统调度执行时间上占用()个时间片。 A 1;B 100;C 1/100;D 0 3、判断:属于同一个进程的线程可以共享进程的程序段和数据段。() 4、关于进程和线程的说法,判断: (1)线程是进程中可独立执行的子任务,一个进程可以包含一个多多个线程,一个线程可以属于一个或多个进程。() (2)线程又称为轻型进程,因为线程都比进程小。() (3)多线程技术具有明显的优越性,如速度快、通信简便、并行性高等。() (4)由于线程不作为资源分配单位,线程之间可以无约束地并行执行。() 第三章处理机调度与死锁 3.1调度算法 1、既考虑作业的执行时间又考虑作业的等待时间的调度算法是()。(选项:短作业优先;先来先服务;响应比高者优先;优先级调度) 2、给定一组作业J1,J2,…Jn,它们的运行时间分别为T1,T2,…Tn,假定这些作业是同时到达,并且将在一台cpu上按单道方式运行。证明:若按最短作业优先调度算法运行这些作业,则平均周转时间最短。 3、判断:在剥夺优先级调度方式下,现运行进程的优先级不低于系统中所有进程的优先级。 4、设某计算机系统有一个cpu,一台输入设备,一台打印机。现有两个进程同时进入就绪状态,且进程A先得到cpu运行,进程B后运行。进程A的运动轨迹为:计算50ms,打印信息100ms,再计算50ms,打印信息100ms结束。进程B的运行轨迹为:计算50ms,输入数据80ms,再计算100ms,结束。试画出它们的时序关系图,并说明开始运行后,cpu有无空闲等待?计算cpu的利用率。 5、一个操作系统具有分时兼批处理的功能,设个一个合理的调度策略,使得分时作业响应快,批作业也能及时得到处理。 6、一个具有分时兼批处理功能的操作系统应怎样调度和管理作业? 7、现有两道作业同时执行,一道以计算为主,另一道以输出为主,应该如何为两作业设置处理器的优先级? 8、有5个待运行的作业为A,B,C,D,E,各自运行时间为9,6,3,5,x,试问采用哪种运行次序使得平均响应时间最短? 提示:假设x<3,x在3和5间,在5和6间,在6和9间分别讨论。 9、某个操作系统的设计目标是同时支持实时任务和交互式任务,它的实现采用混合式多线程策略,处理器调度策略采用多队列策略,在系统资源不足时,可采用中级调度来平衡系统负载。 (1)问该系统中存在着哪些与处理器调度有关的实体?(进程、内核级线程、用户级线程) (2)设计一个合理的多队列进程调度策略,它既能满足实时任务调度的需要,又能从外设访问角度来满足交互式任务调度的需要。 10、假设一个计算机系统具有如下特征:处理一次中断,平均耗时1ms;一次进程调度,平 均耗时2ms;将CPU分配给选中的进程,又平均需要1ms。再假设其定时器芯片每秒产生100次中断,问: (1)系统将百分之几的CPU时间用于时钟中断处理?(提示:每秒处理中断的时间是100ms,100ms/1s=10% (2)如果采用轮转法调度,10个时钟中断为一个时间片,那么,系统将百分之几的CPU时间用于进程调度(包括调度、分配CPU和引起调度的时钟中断处理时间)? 11、有一个多道批处理系统,作业调度采用“短作业优先”调度算法;进程调度采用“优先数抢占式”调度算法,且优先数越小优先级越高。如系统拥有打印机一台,采用静态方法分配,忽略系统的调度开销。现有如下作业序列到达系统: 作业名 J1 J2 J3 J4 J5 到达系统时间 14:00 14:20 14:30 14:50 15:00 Cpu运行时间 40min 30min 50min 20min 10min 打印机需求 优先数 1 0 1 0 1 4 2 3 5 1 回答:(1)按作业运行结束的次序排序;(2)作业的平均周转时间和平均带权周转时间是多少? 提示:作业调度与内存大小有关,本题没有给条件,所以只需考虑进程调度,得出结束次序为:J2,J1,J5,J3,J4. 12、设在某多道程序系统中有用户使用的内存100KB,打印机1台。系统采用可变分区动态分配算法管理内存,而对打印机采用静态分配。假设输入输出操作时间忽略不计,采用最短剩余时间优先的进程调度算法,进程剩余时间相同时采用先来先服务的算法,进程调度时间选择在进程执行结束或新进程创建时。现有进程如下: 进程 0 1 2 3 4 创建时间 0 4 10 11 16 要求执行时间 8 4 1 20 14 要求内存 15KB 30KB 60KB 20KB 10KB 申请打印机 1 1 0 1 1 假设系统优先分配内存低地址区域,且不允许移动,那么: (1)给出进程调度算法选中进程的次数。 (2)全部进程执行结束所用的时间是多少? 13、就绪队列中有n个就绪进程等待cpu调度,如果采用不同的调度算法,总共可能有()种调度顺序。 14、一个实时系统使用了4个周期事件,其周期分别为50ms,100ms,200ms,250ms。假设这4个周期事件分别需要35ms,20ms,10ms和x ms的CPU时间。保持系统可调度的最大x值是多少? 3.2死锁的基本概念 1、判断:死锁是指系统中的全部进程都处于阻塞状态。(北京理工01) 2、判断:PV操作不仅可以用来实现进程同步,还可以用来防止进程的死锁。(南京理工01) 3、有3个进程P1,P2和P3并发工作,进程P1需要资源S3和S1,进程P2需要资源S1和S2,进程P3需要资源S2和S3.那么: (1)若对资源分配不加限制,可能发生什么情况? (2)为保证进程正确地工作,应采用怎样的资源分配策略? 4、设系统有一类数量为M的独占性资源,系统中N个进程竞争该类资源,个进程对资源的最大需求为W。当M,N,W分别取下列个值时,系统可能发生死锁?(上海交大) (1)M=2;N=2;W=2; (2)M=3;N=2;W=2; (3)M=3;N=2;W=3; (4)M=5;N=3;W=2; (1)M=6;N=3;W=3; 5、在有m个进程的系统中出现死锁时,死锁进程的个数范围是()(北大97) 6、死锁现象并不是计算机系统所独有的,判断下列哪些现象是死锁的体现:(浙大06) (1)杭州西泠桥塞车,因为大修,桥上只有一个车道供双方通行; (2)高速公路大堵车,因为桥被台风吹跨了; (3)两列相向行驶的列车在单轨铁路上迎面相遇; (4)两位木匠钉地板,每位木匠必须有榔头和钉子才能工作。一位只握一把榔头,而另一位没有榔头,却有钉子; 7、资源的有序分配策略可以破坏死锁的()条件。 8、在多进程的并发系统中,肯定不会因竞争( )而产生死锁。 A.打印机 B.磁带机 C.磁盘 D.CPU 9、在哲学家就餐问题中,对哲学家Pi(i=0,1,2,3,4)有循环进程Si: Pi做学问; Pi取左手边的筷子和右手边的筷子; Pi就餐; Pi将两根筷子分别放回原处。 问:(1)说明该系统是个会死锁的系统; (2)请分别用死锁预防、死锁避免、死锁检测与恢复改造系统。 10、假定某计算机系统有R1设备3台,R2设备4台,它们被P1,P2,P3,P4这4个进程所共享,且已知这四个进程均以下面所示的顺序使用现有设备:申请R1→申请R2→申请R1→释放R1→释放R2→释放R1。(1)该系统运行过程中是否会有产生死锁的可能?为什么?(提示:有,因为满足产生死锁的四个必要条件)(2)如果有可能,举例说明,并画出表示该死锁状态的进程资源图。 11、关于安全状态的说法,判断: (1)系统处于不安全状态一定会发生死锁。 (2)系统处于不安全状态可能发生死锁。 (3)不安全状态时死锁状态的一个特例。 (4)系统处于安全状态时也可能发生死锁。 12、判断:参与死锁的所有进程都占有资源。 13、化简下图,并判断是否为死锁状态? P1R1R2R3P2R4P3