什么是进程同步进程同步的概念
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
什么是进程同步进程同步的概念
进程同步是指在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。
那么你对进程同步了解多少呢?以下是由店铺整理关于什么是进程同步的内容,提供给大家参考和了解,希望大家喜欢!
进程同步的的概念
我们把异步环境下的一组并发进程因直接制约而互相发送消息、进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。
具有同步关系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。
如果我们对一个消息或事件赋以唯一的消息名,则我们可用过程wait (消息名) 表示进程等待合作进程发来的消息,而用过程signal (消息名) 表示向合作进程发送消息。
进程同步的制约关系
在多道程序环境下,系统中各进程以不可预测的速度向前推进,进程的异步性会给系统造成混乱,造成了结果的不可再现性。
为防止这种现象,异步的进程间推进受到二种限制:
(1)资源共享关系
多进程共享资源,例如各进程争用一台计算机,这时各进程使用这台打印机时有一定的限制。
如各进程随意使用打印机,会造成打印机结果交织在一起难以区分。
所以必须由系统统一分配,每次只允许一个进程使用一段时间打印机,等该进程使用完毕后再将打印机分配给其它进程。
这种使用原则称为互斥使用。
(2)相互合作关系
在某些进程之间还存在合作关系,例如图2-2程序并发执行图中一个程序的输入、计算、打印三个程序段作为三个进程并发执行,由于这三个进程间存在着相互合作的关系,即先输入再计算、最后再打印的关系,所以这三个进程在并发执行时推进序列受到限制,要保证其合作关系正确,进程间这种关系称为同步关系。
用P,V原语操作实现同步
步骤:
1. 为各并发进程设置私用信号量
2. 为私用信号量赋初值
3. 利用P、v原语和私用信号量规定各进程的执行顺序。
实例:
例:设进程PA和PB通过缓冲区队列传递数据。
PA为发送进程、PB为接收进程。
PA发送数据时调用发送过程deposit(data),PB接收数据时调用过程remove(data)。
且数据的发送和接收过程满足如下条件:
1)在PA至少送一块数据入一个缓冲区之前,PB不可能从缓冲区中取出数据(假定数据块长等于缓冲区长度)
2)PA往缓冲队列发送数据时,至少有一个缓冲区是空的;
3)由PA发送的数据块在缓冲队列中按先进先出(FIFO)方式排列。
描述发送过程deposit(data)和接收过程remove(data)。