- 1、本文档共94页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第四章 互斥同步
第四章 同步与通信; 4.1 概述;4.2 临界区;例1:同步问题;例2:互斥问题 ;4.2 临界区(critical section) ;2.临界区(critical section,也称临界段)
临界区:是指进程地址空间中访问临界资源的那段代码。一个进程在临界区中运行时,其他进程不能进入临界区。
进入区:是指临界区之前,检查临界资源闲忙标志的那段代码。
退出区:在临界区后面,将临界资源释放的那段代码。
如:while true
{ …
进入区
临界区 (如例中P1,P2的:R=X;R=R+1;X=R;)
退出区
… };竞争条件:多各进程或线程在读写一个公共数据时,结果依赖于它们执行的相对时间,这种情形称做竞争。
饥饿:一个可以运行的进程无限期地被调度器忽视,不能被调度的状态。
死锁:两个或两个以上进程因互相等待,使得每个进程都不能继续向前推进的状态。;进程的交互;空闲让进:任何时间临界区内只能有一个进程。
忙则等待。
有限等待:等待有限时间,避免“死等”发生。
让权等待:当正在执行的进程自己不能进入临界区时,应立即释放CPU。; 进入临界段之前要申请,获得批准方可进入
退出临界段之后要声明,以便其他进程进入;互斥也是一种同步,它使异步事件能按照要求的时序进行,以使各合作进程能协调一致地工作。
1.互斥的软件解决方法
(1) 用标志位flag[i]来标识进程Pi是否在临界区中执行。
Pi:
while(true)
{…
while(flag[j]); //执行空语句等待
flag[i]=true;
执行csi //进程Pi的临界区
flag[i]=false; //释放临界资源
…};1.互斥的软件解决方法;(3)Dekker的解决方法
初始化:flag[i]=flag[j]=false; turn可以为i或j;;2.互斥的硬件解决方法;例1:中断屏蔽方法(单处理机);TS指令(或TSL)
bool TS (bool flag)
{ TS =flag;
flag=true; //关闭临界区
};while(true)
{while(TS(lock)); //忙等待
执行csi
lock=false;
……};使用Swap指令实现互斥;1.什么是信号量?
信号量是荷兰计算机科学家Dijkstra于1965年提出的一种有效的进程同步工具,可分为:整型信号量 、结构型信号量 、信号量集等。
信号量是实现进程同步的一种变量。
2.二元信号量和一般信号量
二元信号量:取值仅为“0”或“1”,主要用作互斥同步变量;
一般信号量:初值为物理资源的总数,用于进程间的协作同步问题。;3.整型信号量
(1)整型信号量是一个整型变量,如S ,和两个标准的原子操作wait(s)和 signal(s)对S进行减1和增1操作,实现对临界资源的访问进行控制。这两个操作习惯上分别被称为P操作和V操作。
(2)同步原语的两种实现方式:
忙等待方式
阻塞等待方式
;int(semaphore) S=N; //N为同类资源的总数
Wait(s): while (S≤0);// 执行空语句等待,
//等待的含义是什么?
S=S-1;
Signal(s): S=S+1;
;int S=1;//定义一个信号量
Wait(S): while (S==0);
//执行空语句等待
S=S-1;
Signal(S): S=S+1; ;2010研究生试题(互斥);
在结构型信号量机制中定义了两个变量单元,一是用于表示临界资源数目的整型变量value,另一个是等待进入临界区的进程所组成的阻塞队列的指针L(指向PCB队列的指针)。;wait(semaphore s)
{ s.value--;
if (s.value0)//代表的含义是什么?
{ Insert(caller,s.L);block(caller);}};(1)二元记录型信号量的数据结构:
typedef Struct { int value; // Value的值为0或1
您可能关注的文档
- 试论寒山诗中风人体_杨秀兰.pdf
- 小学英语疑问型汇总.pdf
- 光伏材料 第章.ppt
- 试讲稿 人教 体育 三年级 全册 单脚起跳摸悬挂高物.pdf
- MT6252理图资料.pdf
- 国内外知识管理论发展与流派研究_储节旺.pdf
- 全国医院数量计2014年.doc
- 南京大学207年专业硕士文学院招生目录.pdf
- O1群霍乱弧胶体金法快速检测.pdf
- 设施设备及服项目评分表4.pdf
- 高考化学 铁 铁的氧化物 铁的氢氧化物 附解析.DOC
- 2025年电子镇流器装配行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年轨交运营维护行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年心血管介入类耗材行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年室外照明行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年手机玻璃行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年抗病毒药剂行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年二氢卟吩铁行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年四氟丙烯行业洞察报告及未来五至十年发展趋势预测报告.docx
- 2025年智能终端防水行业洞察报告及未来五至十年发展趋势预测报告.docx
文档评论(0)