操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt

操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt

ID:50045041

大小:99.50 KB

页数:8页

时间:2020-03-08

操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt_第1页
操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt_第2页
操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt_第3页
操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt_第4页
操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt_第5页
资源描述:

《操作系统 国家精品课程配套教材 教学课件 罗宇 文艳军 4.2同步与互斥实现方法.ppt》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、第八讲同步与互斥高级实现方法目的与要求:掌握信号量机制及使用它解决进程同步互斥问题的方法。重点与难点:信号量实现及使用。作业:4,64.2.3信号量信号量机构:“信号量”、“P、V操作”。信号量s为一整型变量:P(s):Whiles≤0;空操作s=s-1;V(s):s=s+1;P、V操作是两条原语,即保证P、V操作对变量S的访问是互斥操作。一.原语概念与实现原语:指完成某种功能且不被分割或不被中断执行的操作序列。原语可通过硬件实现不可中断性;或通过实现临界段的元方法达到不被中断。实现临界段的元方法:屏蔽

2、中断(只用于单机)加硬锁。下面我们用屏蔽中断方法实现P(s)和V(s)的原子性。P(s){disableInterrupt();while(s≤0){enableInterrupt();disableInterrupt();};s=s-1;enableInterrupt();}V(s){disableInterrupt();s=s+1;enableInterrupt();}二、信号量的使用(互斥与同步)互斥:用于n个进程的临界段互斥,n进程共享一个信号量mutex,初值为1,任一进程Pi的结构为:P(m

3、utex)V(mutex)临界段非临界段do{}while(1)同步:有P1、P2两进程,必须在P1执行完S1语句后,P2才能执行S2。需同步的两进程共享信号量synch,初值为0。ParbeginP2():{P1():{……S1;V(synch);……};……P(synch);S2;……};Parend;操作系统实现信号量时与进程调度相结合,消除忙等待现象。原则是:在P操作循环等待的地方加入放弃处理机/挂入等待队列动作,在V操作时,从等待队列中摘取进程变为就绪态。(P、V原语本身的互斥操作通过屏敝中断

4、或为信号量加硬锁实现)三.信号量的具体实现1、信号量定义typedefstruct{intvalue;structprocess*L;}semaphore;2、P操作P(s):s.Value=s.value–1;Ifs.value<0then保存现场,将本进程挂入s.L队列,重新调度。3、V操作V(s):s.value:=value+1Ifs.value≤0then从s.L队列取一进程,挂入就绪队列。

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

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

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