用信号量机制与PV操作解决进程同步互斥问题的方法.doc
《用信号量机制与PV操作解决进程同步互斥问题的方法.doc》由会员分享,可在线阅读,更多相关《用信号量机制与PV操作解决进程同步互斥问题的方法.doc(4页珍藏版)》请在三一办公上搜索。
1、用信号量机制与 PV操作解决进程同步互斥问题的方法宋新丽, 何永强(河南纺织高等专科学校, 河南 郑州 450007)摘要: 根据信号量机制与 PV操作能协调进程并发执行的特点, 提出了分析此类问题的方法, 并给出快速准确解决此类问题的规律。关 键 词: 信号量机制; 进程; 同步; 互斥; PV 操作中图分类号: T P 301文献标识码: B文章编号: 100828385 (2005) 0320009204采用信号量机制与 PV 操作 来 协 调 进 程 的 同步, 一直是操作系统教学中的一个难点问题, 而且 由它引出的一系列问题, 如: 生产者与消费者、读者 与写者、哲学家进餐、理发师等
2、问题都是很典型的进程同步与互斥问题。 这类题型变化多、实例多, 又与 实际生活中的问题有着紧密联系, 笔者就自己在教学工作中积累的经验, 谈一下用信号量机制与 PV操作解决此类问题的方法。程可以申请到相应资源, 继续执行; 若 S 0 时, 其值表示系统中对应可用资源的数目; 当 S= 0 时, 表示系统中对应资源已经都被占用, 并且 没有因该类资源而被阻塞的进程; 当S 0, 则执行V 操作的进程继续执行; 若 S 0, 则从阻塞队列唤醒一个进程, 并将其插入就绪队列, 然后执行 V作的进程继续执行, 如图 2 所示。操通常, P 操作意味着请求一个资源, V 操作意味收稿日期: 2005-
3、 06- 14作者简介: 宋新丽 ( 1979- ) , 女, 河南漯河人, 助教, 主要研究计算机科学理论。着释放一个资源。在一定条件下, P 操作代表挂起进2. 2互斥问题的分析方法进程互斥指对于某个系统资源, 如果一个进程 正在使用, 则另外一个想使用该资源的进程就必须 等待, 而不能使用3 。互斥进程之间体现了对资源的 竞争关系, 他们竞争的资源被称为临界资源, 而进程中访问临界资源的那段代码叫做临界区。 为了实现对临界资源的互斥访问, 应保证诸进程互斥地进入各自的临界区。用 P、V 操作实现进程程操作, 而 V操作代表唤醒被挂起进程的操作。的互斥, 每个进程中用户实现互斥的 P、V操
4、作必须成对出现, 先做 P 操作, 进入临界区, 再做 V 操作,退出临界区。 P、V 操作应分别紧靠临界区的头尾 部, 临界区代码应尽可能短, 且不能有死循环。 互斥信号量的个数有临界资源的类型决定, 有几类临界 资源设几个信号量, 初值一般设为 1, 表示该临界资 源未占用, 且其可用数目为 1。解决进程互斥问题的主要步骤与解决进程同步 问题的步骤相同。图 2v 操作流程2用 P、V 操作原语实现进程的同步3 应用实例分析3. 1同步问题实例分析在某并发系统中, 有一个发送进程 A 、一个接收与互斥2. 1同步问题的分析方法进程同步指两个或多个进程为了合作完成同一 任务, 在执行速度或某个
5、确定的时序点上必须相互协调, 即一个进程依赖于另一个进程发送的消息, 进 程之间体现了一种相互合作的关系2 。当用 P、V 操作实现进程的同步问题时, 合作进 程之间通过信号量进行互发消息, 执行 P 操作测试消息是否到达, 即是否得到合作进程的通知可以执行 该 进 程; 而 执 行 V 操 作 是 向 其 合 作 进 程 发 送 消 息, 通知它进行下一步操作。 通常, 需要收发几条消息就设置几个信号量, 这些同步信号量的初值一般为 0, 有时也可设为一个整数, 这往往与合作进程所 共享资源的可用数目有关。在同步关系的进程中, 对同一个信号量的 P、V 操作不出现在同一个进程中,而是出现在各
6、个合作进程中确定的时序点, 即当一 个生产者进程在完成了前面的生产任务后, 应立即给消费者进程发送一条消息 (执行 V 操作) , 而消费 者进程在消费前要执行对同一信号量的 P 操作。一般来讲, 解决进程同步问题的主要步骤为:(1) 分析清楚题目涉及的进程间的制约关系;(2) 设置信号量 (包括信号量的个数和初值及其进程B、一个环形缓冲区BU F F ER、信号量 S1 和 S2。发送进程不断地产生消息并写入缓冲区 BU F F ER ,接收进程不断地从缓冲区BU F F ER 读取消息。假设 发送进程和接收进程可以并发地执行, 当缓冲区的容量为 N 时, 请使用 P、V操作保证系统的正常工
7、作。发送进程 A 和接收进程 B 的工作流程如图 3 所示。请在图 3 中的空 (1) (4) 处填入正确的内容4 。图 3 发送进程 A 和接收进程 B 工作流程图插入 P (SA )、V (SA )、P (SB )、V (SB ) 5 。从流程图可以看到, 在系统中有多个发送进程 和多个接收进程时, 若对缓冲区读数据的操作先于修改指针 j 操作, 就意味着, 如果有多个进程同时进程,进 程 B为 接 收 进 程, 两 进 程 共 享 缓 冲 区BU F F ER。 信息通过该缓冲区进行传送, 其容量为N 。 这意味着进程 A 最多能连续发送 N 次, 当缓冲 区满时则停止发送; 而接受进程
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信号量 机制 PV 操作 解决 进程 同步 问题 方法

链接地址:https://www.31ppt.com/p-2388360.html