- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
12025/10/4两种制约关系直接相互制约关系(同步)间接相互制约关系(互斥)产生的原因进程合作资源共享
22025/10/4进程的同步(1)直接相互制约关系(同步)指系统中一些进程需要相互合作,共同完成一项任务,这种协作进程之间相互等待对方消息或信号的协调关系称为进程同步.具体说,并发进程在一些关键点上可能需要互相等待与互通消息,进程间的相互联系是有意识的安排的。产生的原因进程合作
32025/10/4进程的同步(2)一般同步问题有两类保证一组合作进程按逻辑需要的执行次序执行【例】司机P1售票员P2
REPEATREPEAT
启动关门
正常运行售票
到站停开门
UNTILFALSEUNTILFALSE保证共享缓冲区(共享数据)的合作进程的同步【例】输入进程PI缓冲区缓冲区计算进程PC打印进程PP
42025/10/4进程的互斥是解决进程间竞争关系(间接制约关系)的手段。间接相互制约关系(互斥)是指若干个进程同时竞争一个需要互斥使用的资源时,任何时刻最多允许一个进程去使用,其他要使用该资源的进程必须等待,直到该资源被释放。进程间要通过某种中介发生联系,是无意识安排的。产生的原因资源共享互斥是一种特殊的同步逐次使用互斥资源,也是对进程使用资源次序上的一种协调。
52025/10/4临界资源临界资源系统中某些资源一次只允许一个进程使用,称这样的资源为临界资源或互斥资源或共享变量。硬件临界资源:打印机、磁带机软件临界资源:只能排它使用的变量、表格、队列
62025/10/4临界资源实例二人合作存款count=100;PAS1:N=count;S2:N=N+100;S3:count=N;PBS4:M=count;S5:M=M+200;S6:count=M;执行情况:(1)PA—PB,PB—PAcount=400√(2)S1—PB—S2—S3count=200×(3)S4—PA—S5—S6count=300×因count是一个互斥性使用的变量,是一个临界资源
72025/10/4临界区临界区(临界段)在进程中访问临界资源的那段代码区。例子
82025/10/4具有临界资源的进程结构……/*进入区*/criticalsection;/*临界区*//*退出区*/remaindersection;/*剩余区*/……entrysectionexitsection
92025/10/4访问临界区应遵循的原则空闲让进当无进程在临界区时,任何有权使用临界区的进程可进入。忙则等待不允许两个以上的进程同时进入临界区。有限等待任何进入临界区的要求应在有限的时间内得到满足。让权等待不能进入临界区的进程应放弃占用CPU。
102025/10/4临界区互斥解决方法硬件缺点:成本高软件用编程解决缺点:(1)忙等待(2)实现过于复杂,需要高的编程技巧信号量机制
112025/10/4信号量机制一类资源抽象成S(信号量)信号量只能由P、V操作对其进行操作的变量。信号量的使用应注意必须置一次且只能置一次初值。初值只能为非负整数,实现互斥时初值为1。只能执行P、V操作。
122025/10/4P、V操作P(S):表示申请一个资源。V(S):表示释放一个资源。P、V操作必须成对出现,有一个P操作就一定有一个V操作。
132025/10/4整型信号量整型信号量信号量S:整型量,除初始化外仅能通过P、V操作访问P和V操作原语定义:varS:integer;S=1;P(S):whileS≤0dono-opS=S-1;V(S):S=S+1;一类资源抽象成S(信号量)整型量
142025/10/4利用整型信号量实现进程互斥P(S)V(S)P1P2互斥区P(S)V(S)
152025/10/4记录型信号量记录型信号量信号量S:记录
文档评论(0)