设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信 息。针对下述两种情况: (1)缓冲区是环形的,最多可容纳n个信息; (2)缓冲区是无穷大的。 试分别回答下列问题: (1)输入、输出两组进程读 / 写缓冲区需要什么条件? (2)用P,V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。-笔试面试资料

这是qklbishe.com第5302 篇笔试面试资料
提供答案分析,通过本文《设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信
息。针对下述两种情况:
(1)缓冲区是环形的,最多可容纳n个信息;
(2)缓冲区是无穷大的。
试分别回答下列问题:
(1)输入、输出两组进程读 / 写缓冲区需要什么条件?
(2)用P,V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。-笔试面试资料》可以理解其中的代码原理,这是一篇很好的求职学习资料
本站提供程序员计算机面试经验学习,笔试经验,包括字节跳动/头条,腾讯,阿里,美团,滴滴出行,网易,百度,京东,小米,华为,微软等互联网大厂真题学习背诵。

答案:
设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信
息。针对下述两种情况:
(1)缓冲区是环形的,最多可容纳n个信息;
(2)缓冲区是无穷大的。
试分别回答下列问题:
(1)输入、输出两组进程读 / 写缓冲区需要什么条件?
(2)用P,V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。

设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信   息。针对下述两种情况:   (1)缓冲区是环形的,最多可容纳n个信息;   (2)缓冲区是无穷大的。   试分别回答下列问题:   (1)输入、输出两组进程读 / 写缓冲区需要什么条件?   (2)用P,V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。 tuzww
对于缓冲区为n
1. (1)输入进程和输出进程需同步执行,输入进程写缓冲区后后,输出进程才可以读
    (2)由于缓冲区容量有限,所以在任意时刻输入进程存放信息的单元数不能超过缓冲区总容量n
    (3)所有输出进程取出信息的总量不能超过当前写入信息的总数

2. 

// 信号量及说明 typedef semaphore int; // 整型信号量 semaphore mutex = 1;   // 互斥信号量mutex semaphore empty = n;   // 空缓冲区初始为n semaphore full = 0;    // 满缓冲区初始为n int in = 0;            //输入指针 int out = 0;           //输出指针  // Input while (true) {     P(empty);     P(mutex);     向buffer(in) 写入;     in = (in + 1) % n;     V(mutex);     V(full); }  // Output while(true) {     P(full);     P(mutex);     从bufffer(out)读信息;     out = (out + 1) % n;     V(mutex);     V(empty); }

对于缓冲区无穷大:
1.  没有第二条限制
2. mod n操作删去

2020-12-29 19:54:30 回复(0)

文章部分来自互联网,侵权联系删除
www.qklbishe.com

区块链毕设网(www.qklbishe.com)全网最靠谱的原创区块链毕设代做网站
部分资料来自网络,侵权联系删除!
资源收费仅为搬运整理打赏费用,用户自愿支付 !
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台 » 设有无穷多个信息,输入进程把信息逐个写入缓冲区,输出进程逐个从缓冲区中取出信 息。针对下述两种情况: (1)缓冲区是环形的,最多可容纳n个信息; (2)缓冲区是无穷大的。 试分别回答下列问题: (1)输入、输出两组进程读 / 写缓冲区需要什么条件? (2)用P,V操作写出输入、输出两组进程的同步算法,并给出信号量含义及初值。-笔试面试资料

提供最优质的资源集合

立即查看 了解详情