- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
进程同步与进程通信 进程的顺序性 进程的顺序性是指进程在顺序处理器上的执行是严格按序的,即按照程序规定的操作顺序,只有在前一个操作结束后才能开始后继操作。 当一个进程独占处理器时,它具有两个特性: 封闭性 可再现性 进程的并发性 每一个进程具有顺序性,但是在多道程序设计系统中,多个进程要竞争,轮流占用处理器。 有两个进程A和B,它们各自顺序执行时的操作序列如下: 进程A : a1,a2,a3,…,am 进程B : b1,b2,b3,…,bm 在多道程序设计系统中,处理器可能执行的操作序列 a1, b1 ,a2, b2 ,a3, b3 … a1, a2, b1 ,a3 ,b2 ,b3 … 进程的并发性 在一个进程的工作没有完成之前,另一个进程就可以开始工作,这些进程就称为可同时执行的。或者称它们具有并发性,并且把可同时执行的进程称为并发进程。 进程的并发性 如果一个进程的执行不影响另一个进程的执行结果,也不依赖一个进程的进展情况,即它们是各自独立的,则称这些进程相互之间是无关的。 如果一个进程的执行要依赖其他进程的进展状况,或者可能会影响其他进程的执行结果,则说这些进程是有交互的。 与时间有关的错误 对于有交互的并发进程来说,并发会破坏“封闭性”和“可再现性” 例1 :车辆自动计数系统 process Observer begin L1:observe a lorry; count: = count + 1; goto L1; end; 例2:航班售票系统 process Pi (i=1,2,…) begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end; process P2 begin Ri:=Ak; if Ri=1 then begin Ri:= Ri -1; Ak = Ri 输出一张票; end; else 输出”票已售完“ end;
文档评论(0)