题库 第746页
主观题:h562.进程执行时为什么要设置进入区和退出区?
进程执行时为什么要设置进入区和退出区?答案:解:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果未被访问,该进程便可进入临界区对资源进行访问,并设置正被访问标志,如果正被访问,则…
主观题:h563.同步机构需要遵循的基本准则是什么?请简要说明。
同步机构需要遵循的基本准则是什么?请简要说明。答案:解:同步机制都应遵循下面的4条准则:1.空闲让进。当无进程处于临界区时,允许进程进入临界区,并且只能在临界区运行有限的时间。(2分)2.忙则等待。当有一个进程在临界区时,其它欲进入临界区的…
主观题:h564.整型信号量是否能完全遵循同步机构的四条基本准则?为什么?
整型信号量是否能完全遵循同步机构的四条基本准则?为什么?答案:解:不能。(2分)在整型信号量机制中,未遵循“让权等待”的准则。(3分)…
主观题:h565.在生产者-消费者问题中,若缺少了V(full)或V(empty),对进程的执行有什么影响?
在生产者-消费者问题中,若缺少了V(full)或V(empty),对进程的执行有什么影响? 答案:解:如果缺少了V(full),那么表明从第一个生产者进程开始就没有对信号量full值改变,即使缓冲池存放的产品已满了,但full的值还是0,这…
主观题:h566.在生产者-消费者问题中,若将P(full)和P(empty)交换位置,或将V(full)或V(empty)交换位置,对
在生产者-消费者问题中,若将P(full)和P(empty)交换位置,或将V(full)或V(empty)交换位置,对进程执行有什么影响? 答案:解:对full和empty信号量的P、V操作应分别出现在合作进程中,这样做的目的是能正确表征各…
主观题:h567.利用信号量写出不会出现死锁的哲学家进餐问题的算法。
利用信号量写出不会出现死锁的哲学家进餐问题的算法。答案:解:对哲学家按顺序从0到4编号,哲学家i左边的筷子的编号为i,哲学家右边的筷子的编号为(i+1)%5。(2分)semaphore chopstick[5]={1}; //定义信号量数组…
主观题:h568.利用AND型信号量和管程解决生产者-消费者问题。
利用AND型信号量和管程解决生产者-消费者问题。答案:解:利用AND信号量解决生产者-消费者问题的算法描述如下:var mutex,empty,full: semaphore:=1,n,0;buffer: array[0,...,n-1]…
主观题:h569.进程的高级通信机制有哪些?请简要说明。
进程的高级通信机制有哪些?请简要说明。答案:解:进程的高级通信机制分为三大类:共享存储系统、消息传递系统和管道通信系统。1.共享存储器系统:在共享存储器系统中,相互通信的进程通过共享某些数据结构或共享存储区实现进程之间的通信。该系统又可进一…
主观题:h570.这是一个主观题模板。请在这里写题目描述。
什么是死锁?产生死锁的原因和必要条件是什么?答案:解:所谓死锁是指在一个进程集合中的所有进程都在等待只能由该集合中的其它一个进程才能引发的事件而无限期地僵持下去的局面。(5分) 产生死锁的原因可以归结为两点:1)竞争资源, 2)各进程…
多选题:结构体使用正确的语句
对于定义struct student{ char name[10]; int no; float score;}a; 下面使用正确的语句是( )A.a.name="sally";B.struct student b;b=a;C.s…