美文网首页
二.进程(5)信号量习题

二.进程(5)信号量习题

作者: 麻皮阿洪 | 来源:发表于2018-09-30 12:52 被阅读0次

1. 读者与写者(写者优先方式)

2. 黑白棋问题

3. 嗜睡的理发师问题

4. 生产与销售问题


读者与写者问题

(写者优先方式)

读者优先的关键:

若读者先占有互斥信号量,只有最后一个读者离开,计数降为0时才释放信号量,导致写者弱势。

写者优先同上述方法:

写者先占有某信号后,直到最后一个写者走完才释放该信号,读者才能进入。

【】 增加一个互斥信号量S,读者和写者都争抢该信号;

【】 对写者也进行计数,第1个写者申请S,其他写者不需要申请S;最后一个写者离开时才释放信号量S.

【】 一旦写者先申请到了S,则所有的读者只能等待写者都走完才可进入共享读。而多个写者通过S后,仍要争抢wmutex信号以完成互斥的写入。

用到的变量

读者间起作用:

【】 Readcount变量,rmutex信号量

写者间起作用:

【】 writecount变量,mutex信号量

读者与写者间起作用:

【】 wmutex

【】S

黑白棋子问题

问题描述

两个人下棋,一方执黑棋,一方执白棋。要求双方轮流下子。给出两种情况的解决办法:

1)执黑子一方先下

2)双方都可以先下,谁先抢到棋盘谁先下。然后开始轮流下子。


2)先抢到棋盘者先下,然后轮流下子

问题分析:

【】无法用单纯的信号量操作完成,因为初始值无法设置固定值。

【】争抢棋盘需要一个互斥信号m;加入if控制与标志判断。利用互斥信号量与特殊标志变量的结合使用实现有序控制。

嗜睡的理发师问题

问题描述

一个理发店有N个沙发,1个理发椅;

理发师:

持续睡觉,理发,收钱的动作

顾客:

【】若有沙发,进入等待;否则离开。

【】理发椅空,一顾客放弃沙发,去唤醒它理发;

【】理发后付费,付费完毕离开理发椅,离店。

生产与销售问题

问题描述

设一无限大仓库。就1个门,不允许同时入库,也不允许边入库边出库。

1)两个生产者A,B生产各自的产品入库;但要求满足关系Sa-Sb在限定的[-n,m]差值范围内。

2)一个销售者取产品销售,但对两种产品的卖出进度要把握在Ma-Mb也在[-n,m]范围内。

同步关系分析

互斥:三人在对仓库的使用上必须互斥(mutex=1)

顺序关系:

 1)生产者AB之间:因为假设仓库无限大,不需考虑空的限制。控制其能否生产的关键是再生产一个能否满足Sa-Sb在限定的[-n,m]范围内。

【】A、B关心的都是各自的生产指标数量,即A关心x=A-B这个变量的值,同样B关心y=B-A。

【】初值:初始若无产品,A最多可生产m个,B最多可生产n个。自己生产一个必然使对方可以多生产一个。

 2)生产与消费之间

【】关心卖出的A、B间的差值

2)生产与销售的关系

【】销售要做的:

【】是否有商品?

设置总商品数S,每次wait(S)

【】有商品,是A还是B?

设置A,B商品计数的信号量SA,SB。对某种商品执行取就wait(SA)

【】是否可以取?

p取操作要满足销售产品的关系。所以wait(SA/SB)前面需要判断控制---判断差值difference

相关文章

  • 二.进程(5)信号量习题

    1. 读者与写者(写者优先方式) 2. 黑白棋问题 3. 嗜睡的理发师问题 4. 生产与销售问题 读者与写者问题 ...

  • Linux下的信号量使用

    信号量 信号量原语 进程同步的主要方式之一。具体概念参考[《《操作系统概念精要》基本概念整理之进程同步篇(二)》]...

  • 2-3进程同步(信号量)

    信号量是什么? 信号量的基本应用 实现多个进程互斥(注意点) (1)互斥信号量mutex初值为1; (2)每个进程...

  • 第二章 信号量机制

    3)信号量的基本应用:实现进程互斥; 实现进程间的前趋关系(有序) *互斥信号量注意点: 1.互斥信号量mutex...

  • XSI IPC之信号量集

    信号量集 man semop 查看信号量集操作信号量集:进程进程间发送信号,是一个大容器,容器中有多个元素, ...

  • Linux系统编程6:信号量

    0. 信号量 背景 数据竞争 来源 分类 根据共享资源的数目可分为二值信号量和计数信号量两类。 作用控制多进程共享...

  • 第二章 信号量习题(5)

    黑白棋子问题 两个人下棋,一方执黑棋,一方执白棋。要求双方轮流下子。给出两种情况的解决办法: 1)执黑子一方先下 ...

  • 理解操作系统之信号量的应用

    利用信号量实现进程互斥(模式) 利用信号量实现前驱关系(模式) 利用记录型信号量实现同步(模式) 1.利用信号量实...

  • 并发编程-进程同步控制

    锁/信号量/事件 1.锁 2.信号量 3.事件 1.进程锁 2.信号量 一次只能有指定的数量的进程来操作一套资源。...

  • 第2章 2-3信号量机制

    2)记录型信号量 整型信号量符合“有限等待”原则 lsignal释放资源后,当CPU被分配给等待进程后,等待进程仍...

网友评论

      本文标题:二.进程(5)信号量习题

      本文链接:https://www.haomeiwen.com/subject/evhwoftx.html