操作系统第二章进程同步与通信(第二部分)课件.ppt

操作系统第二章进程同步与通信(第二部分)课件.ppt

ID:57125274

大小:681.50 KB

页数:37页

时间:2020-08-01

操作系统第二章进程同步与通信(第二部分)课件.ppt_第1页
操作系统第二章进程同步与通信(第二部分)课件.ppt_第2页
操作系统第二章进程同步与通信(第二部分)课件.ppt_第3页
操作系统第二章进程同步与通信(第二部分)课件.ppt_第4页
操作系统第二章进程同步与通信(第二部分)课件.ppt_第5页
资源描述:

《操作系统第二章进程同步与通信(第二部分)课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第二章进程的同步与通信进程管理1本章讨论的 主要问题1、如何控制和协调并发进程异步执行的时序?进程的同步机制2、进程之间如何互相联系,传递信息?进程的通信2§2.4进程同步的概念(一)并发执行的进程之间,通常有两种关系:互斥关系进程之间彼此无关,但是由于竞争使用同一共享资源而产生了相互约束的关系。这种因共享资源而产生的制约关系称为进程的互斥。—间接相互制约关系同步关系多个并发执行的进程,在共同协作完成一项任务的过程中,相互约束,如一个进程在没有获得合作进程提供的必要信息之前,不能超越某个执行点。进程之间通过在执行时序上的某种限制而达到相互合作的这种

2、约束关系称为进程的同步—直接相互制约关系一、并发进程间的约束关系3§2.4进程同步的概念(二)同步问题缓冲区键盘计算缓冲区缓冲区B进程A进程一、并发进程间的约束关系A进程只有当缓冲区为空时,才能将数据输入缓冲区,B进程只有当缓冲区有数据时,才能从缓冲区取数进行计算。进程的同步与互斥虽然是两个既有区别又有联系的概念,但从本质上看并发进程的异步执行都必须按一定的相互约束的时序进行,因此统称为“进程同步”。显然,必须解决好进程的同步问题,才能保证并发进程的正常执行。4§2.4进程同步的概念(三)每个进程互斥访问临界资源的那段代码称为临界区。代码构成如下:r

3、epeatentrysection进入区—申请进入临界区criticalsection临界区—访问临界资源exitsection退出区—退出对临界资源的访问remaindersection剩留区—进程的其他代码untilfalse二、临界资源(criticalsection)1。什么是临界资源凡是以互斥方式使用的共享资源都称为临界资源。临界资源具有一次只允许一个进程使用的属性。2。临界区(criticalsection)5§2.4进程同步的概念(四)空闲让进无进程处于临界区内时,可让一个申请进入该临界区的进程进入。忙则等待临界区内有进程时,申请进入临界

4、区的进程必须等待。有限等待进程进入临界区的请求,必须在有限的时间内满足。让权等待等待进入临界区的进程,必须立即释放CPU。三、进程的同步机制1、同步机制的准则进程的同步机制就是要解决在进程异步运行时,在时间上施加某些限制,使其共享资源的操作与时间无关。或称在执行时序上施加某种限制,达到彼此间的合作。6§2.4进程同步的概念(五)TS指令执行过程不可分割。为临界资源设置一个布尔量LOCK:2.硬件同步机制实现的基本思想是:对临界资源“加锁”进程的同步机制可以用软件实现,也可以用硬件实现。(1)用Test—and—Set指令实现互斥LOCK={false没

5、有进程在临界区true有进程进入临界区TS指令的形式:functionts(varlock:boolean):boolean;begints:=lock;lock:=true;end;7§2.4进程同步的概念(六)以两进程P1、P2并发执行为例,如果P1先执行:调用TS指令p1TS=true进入P1临界区Lock:=false进入剩余区调用TS指令p2TS=true进入P2临界区Lock:=false进入剩余区调用TS指令TS=trueNY进入P1临界区调用TS指令TS=trueYN调用TS指令调用TS指令TS=trueTS=trueLock:=fal

6、se进入P2临界区进入剩余区若P1先进入临界区,则P2循环执行TS指令,直到P1退出临界区。8§2.4进程同步的概念(七)如果P2先执行:若P2先进入临界区,则P1循环执行TS指令,直到P2退出临界区。调用TS指令p2TS=true进入P1临界区Lock:=false进入剩余区调用TS指令TS=trueNY进入P2临界区Lock:=false进入剩余区调用TS指令p1TS=true进入P2临界区Lock:=false进入剩余区调用TS指令TS=trueYN调用TS指令调用TS指令TS=trueTS=true进入P1临界区结论:①TS指令有效实现互斥(空

7、闲让进、忙则等待)②循环测试,处于“忙等待”(未让权等待)Lock:=false进入剩余区9§2.5信号量机制及P、V操作(一)其中:信号量值—表示某种资源的数量。等待队列指针—当信号量值为负时,表示该类资源已分配完,等待该类资源的进程排在等待队列中。L为指向该信号量等待队列的指针。一。什么是信号量并发进程间的相互制约关系从本质上说是由于争夺和共享资源而产生的。将资源抽象为信号量(Semaphore),引入在信号量基础上的同步操作原语:P操作、V操作。是一种比TS指令更加完善的同步机制。定义:typesemaphore=recordvalue:inte

8、ger;信号量值l:listofprocess信号量等待队列指针end;10§2.5信号量机制

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。