问答题

设有一缓冲池P,P中含有10个可用缓冲区,一个输入进程将外部数据读入P,另有一个输出进程将P中数据取出并输出,如下所示。若进程每次操作均以一个缓冲区为单位,试用记录型信号量写出两个进程的同步算法,要求写出信号量的设置。 输入进程 输出进程 L:读入数据 L:从一满缓冲区中取出数据 将数据写入一空缓冲区将 数据输出 GOTO L GOTO L

答案: 正确答案:(1)设置信号量mutex,empty,full 初值:mutex=1,empty=10,full=0 (2)...
题目列表

你可能感兴趣的试题

问答题

简述判断死锁的必要条件。

答案: 正确答案:(1)互斥条件。进程竞争的资源必须互斥使用。 (2)请求与保持条件。当前已拥有资源的进程,仍能申请新的资源,而...
问答题

举例说明,P、V操作为什么要求设计成原语(即对同一信号量上的操作必须互斥)。 P(S)操作: S.value--; if(S.value<0){ Add this process to S.L; Block(); } V(S)操作: S.value++: if(s.value<=0){ Remove a process P from S.L: Wakeup(P); }

答案: 正确答案:例如,用P、V操作来实现进程对临界资源互斥使用。此时,只需定义一个信号量S,其初值{1,NULL},并在临界区...
问答题

什么是AND信号量请利用AND信号量写出生产者一消费者问题的解法。

答案: 正确答案:此题主要考查进程与死锁的相关转换内容。 (1)为解决并行所带来的死锁问题,在wait操作中引入AND条件,其基...
问答题

测量控制系统中的数据采集任务把所采集的数据送一个单缓冲区,计算任务从该单缓冲区中取出数据进行计算。试写出利用信号量机制实现两者共享单缓冲区的同步算法。

答案: 正确答案:此题主要考查进程间共享缓冲区来实现同步的相关内容。 int mutex=1 int empty=n; int ...
问答题

试利用记录型信号量写出一个不会出现死锁的哲学家进餐问题的解决算法。

答案: 正确答案:此题主要考查进程控制过程中的信号量技术的运用。 设初始值为1的信号量c[I]表示I号筷子被拿(I=1,2,3,...
问答题

为什么进程在进入临界区之前应先执行“进入区”代码,在退出临界区后又执行“退出区”代码

答案: 正确答案:为了实现多个进程对临界资源的互斥访问,必须在临界区前面增加一段用于检查欲访问的临界资源是否正被访问的代码,如果...
微信扫码免费搜题