- 9
- 0
- 约8.65千字
- 约 42页
- 2017-03-18 发布于贵州
- 举报
* 临界区管理的尝试 (2) bool inside1=false; //P1不在其临界区内 bool inside2=false; //P2不在其临界区内 cobegin process P1( ) { process P2( ) { inside1=true; inside2=true; while(inside2);//等待 while(inside1);//等待 {临界区}; {临界区}; inside1=false; inside2=false; } } coend 延迟进程P1(P2)对inside2(insidel)的测试,先置insidel(inside2)为true,用以封锁P2(P1),修正后的程序如下,不幸,它也是无效的,有可能每个进程都把自己的标志置成true,从而出现死循环,这时没有进程能在有限时间内进入临界区,造成永远等待。 两个进程都进不去 * 3.2.3实现临界区的软件算法Peterson算法 bool inside[2]; inside[0]=false; inside[1]=false; enum {0,1} turn; cobegin process P0( ) { process P1( ) { inside[0]=true; inside[1]=true; turn=1; turn=0; while(inside[1]turn==1); while(inside[0]turn==0); {临界区}; {临界区}; inside[0]=false; inside[1]=false; } } coend * 3.2.3实现临界区的软件算法Peterson算法 bool inside[2]; inside[0]=false; inside[1]=false; enum {0,1} turn; cobegin process P0( ) {process P1( ) { while(true) {turn=1; while(true){turn=0; while(turn==1); while(turn==0); {临界区}; {临界区}; turn=0; turn=1; }} } } coend * 关于Peterson算法的补充分析 P0中执行了turn=1, 暂时进不去,等P1中执行turn=0, P0可以进去,P0使用完临界区,退出临界区的时候,将turn=0(好像是多余的), 此时P1还是进不去,要等p0执行turn=1,使得P1有机会进入临界区,之后,P1退出临界区的时候,turn=1,P0暂时进不去,等在P1中执行turn=0,P0可以再次进入临界区,因此,P0和P1使用临界区的次序变成了完全一比一的交替方式,这只能是临界区互斥使用的一个特例,不能满足临界区互斥使用的完全随机性。 * 实现临界区管理的硬件设施 (1) 关中断 (2) 测试并建立指令 (3) 对换指令 * (1) 关中断 实现互斥的最简单方法 关中断适用场合 关中断方法的缺点 * (2)测试并建立指令(1) TS指令的处理过程 bool TS(bool x) { if(x) { x=false; return true; } else return false; } TS指令管理临界区时,可把一个临界区与一个布尔变量s相连,由于变量s代表了临界资源的状态,可把它看成一把锁。s初值置为true,表示没有进程在临界区内,资源可用,系统利用TS指令实现临界区的上锁和开锁原语操作。 * (2)测试并建立指令(2) //TS指令实现进程互斥 bool s=true; cobegin process Pi(
您可能关注的文档
- api截止阀-j41h pi截止阀api截止阀-j41h api截止阀.doc
- allegro操作allgro操作.doc
- arison 信息化白皮系列-立意arison 信息化白皮书系列-立意.doc
- acer 4740g i 近乎完美安装苹果系统acer 4740g i3 近乎完美安装苹果系统.doc
- ards课件201105919.ppt
- at89c51单片机at9c51单片机.doc
- asus的发展历史 !a.ppt
- autocad 经验与技巧.doc
- api固定球阀-q47、347 api固定球阀api固定球阀-q47、q347 api固定球阀.doc
- award bios设置解详解.doc
最近下载
- 卧式储罐体积容积计算(带公式).xls VIP
- 深度解析(2026)《SYT 5661-2019钻井液用增粘剂 丙烯酰胺类聚合物》.pptx VIP
- SY_T 5061-2020 钻井液用石灰石粉.docx VIP
- 深度解析(2026)《SYT 5677-2019钻井液用滤纸》.pptx VIP
- ICU常用药物中英文对照一览表.doc VIP
- 心血管常用名词缩写和心血管常用药物英汉对照.pdf VIP
- ISO9001 质量管理体系全套(质量手册+程序文件+表格记录全套).doc VIP
- 深度解析(2026)SYT 5794-2010《钻井液用沥青类评价方法》:从标准解读到未来油田化学智能化应用的战略前瞻.pptx VIP
- 2025-2030中国化学镀镍行业市场发展趋势与前景展望战略研究报告.docx
- 深度解析(2026)《SYT 7377-2017钻井液设计规范》.pptx VIP
原创力文档

文档评论(0)