计算机技术教研室进程互斥计算机技术教研室 选自教材第三章第五节,主要包括进程互斥的概念和准则;用加锁法实现进程互斥;信号量和 P、V原语;用P、V原语实现进程互斥教学内容进程互斥的概念和准则、进程互斥的实现教学重点、难点教学对象机电系 2007 级计算机应用专业本科计算机技术教研室教学过程 1 导入新课 2 进程互斥的概念/准则 3 加锁法实现进程互斥 4 信号量和 P、V原语 6 小结和作业 5 用P、V原语实现进程互斥计算机技术教研室一、进程互斥的概念和准则临界区系统区进程工作区数据区计算机技术教研室功能描述: 1、P A和P B要求空数据块时,从栈顶取出空数据块的地址( POP ); 2、P A和P B释放数据块时,则将所释放的数据块地址放入栈顶( PUSH) ; 3、 PUSH 操作; 4、 POP 操作。计算机技术教研室 PUSH ( FreeAd) { top=top+1; stack[top]= FreeAd; } Address POP( ) { Address temp=stack[top]; top=top-1; return temp; } 算法描述: 计算机技术教研室 P A和P B运行案例: —— P A释放一个内存块, P B请求一个内存块 top=top+1; (第一步) ( PA ) stack[top]= FreeAd; (第二步)( PA ) Address temp=stack[top]; (第三步)( PB ) top=top-1; (第四步)( PB ) return temp; (第五步)( PB ) 希望的结果计算机技术教研室不希望的结果 top=top+1; (第一步) ( PA ) Address temp=stack[top]; (第二步)( PB ) top=top-1; (第三步)( PB ) return temp; (第四步)( PB ) stack[top ]= FreeAd; (第五步)( PA ) 计算机技术教研室出现上述结果的客观原因: 1、进程是并发执行的 2、并发执行的进程共享共用数据解决办法: PUSH 和 POP 不允许交叉执行计算机技术教研室临界资源( critical resource) 一次只允许一个进程使用的资源临界区( critical region) 把并发进程中访问某个临界资源的所有代码段称为临界区(集合的并集)
进程互斥 - 进程互斥 来自淘豆网m.daumloan.com转载请标明出处.