• / 56
  • 下载费用:10 金币  

操作系统4-2.ppt

关 键 词:
操作系统4-2.ppt
资源描述:
1,第八讲 同步与互斥实现方法,目的与要求:理解互斥问题的硬件实现方法;掌握信号量机制及使用它解决进程同步互斥问题的方法。 重点与难点:信号量实现及使用。,2,1. 互斥与同步的基本概念,进程同步的主要任务是使并发执行的进程之间能有效地共享资源和相互合作,从而使程序的执行具有可再现性。 互斥:当一个进程正在访问某共享资源时,就不允许其他进程对其访问,这种相互制约关系称为互斥。 临界资源:一段时间内仅允许一个进程使用的资源称为临界资源。 应互斥使用的资源有:打印机、输入机、磁带机;共享变量、共享数据结构等。,3,共享变量例,P1: P2: R1=C; R2=C; R1=R1+1; R2=R2+1; C=R1; C=R2; 如果先执行P1再执行P2,则C值增加2。 若按顺序R1=C;R2=C;R1=R1+1;C=R1;R2=R2+1;C=R2;则C值增加1。这种错误称为“与时间有关的错误”,产生的原因是没有互斥使用共享变量。,4,临界区,临界区:进程中访问临界资源的那段代码称为临界区,又称临界段。 同类临界区:所有与同一临界资源相关联的临界区。,5,同步,同步:多个相关进程在执行次序上的协调。 同步例:计算进程与打印进程共享一个单缓冲区。,C,P,,,缓冲区,6,4.2 解互斥问题的算法,互斥问题的软件解法就是让多个进程互斥地进入各自的同类临界区。,7,解互斥问题应遵循的原则,空闲让进:若无进程处于临界区时,应允许一个进程进入临界区。 忙则等待:当已有进程进入临界区,其他进程必须等待。 有限等待:应保证要求进入临界区的进程在有限时间内进入临界区。 让权等待:当进程不能进入自己的临界区时,应释放处理机。 驻留有限:进程驻留在临界区中的时间有限。,8,用软件方法实现互斥,假设互斥在两个进程间进行,两进程的并发执行表示如下: void main(){ 公共变量说明; cobegin p0();p1();coend },9,访问临界资源的进程描述,void p(int i) {while(true){ 进入代码;临界区;退出代码;非临界区;} },10,算法1的思想,设置一个公用整型变量turn,用来指示允许进入临界区的进程标识。 若turn为0,则允许进程p0进入临界区;否则循环检查该变量,直到turn变为本进程标识;在退出区,修改允许进入进程的标识为1。 进程p1的算法与此类似。两个进程的程序结构如下:,11,算法1的描述,int turn=0;p0: while (true) {while (turn!=0);进程p0的临界区代码cs0 ;turn=1 ;进程p0的其他代码;},12,算法1的描述(续),p1: while (true){while (turn!=1);进程p1的临界区代码cs1;turn=0 ;进程p1的其他代码;},13,算法1存在的问题,此算法可以保证互斥访问临界资源,但两个进程必须以交替次序进入临界区。 此算法不能保证实现空闲让进准则。,14,算法2的思想,设置标志数组flag[ ]表示进程是否在临界区中执行,初值均为假。 在每个进程访问临界资源之前,先检查另一个进程是否在临界区中,若不在则修改本进程的临界区标志为真并进入临界区,在退出临界区时修改本进程临界区标志为假。,15,算法2的描述,enum boolean {false,true}; boolean flag[2]={false,false};p0: while (true){while (flag[1]);flag[0]=true;进程p0的临界区代码cs0 ;flag[0]=false ;进程p0的其他代码;},16,算法2的描述(续),p1: while (true){while (flag[0]);flag[1]=true;进程p1的临界区代码cs1 ;flag[1]=false ;进程p1的其他代码;},17,算法2存在的问题,此算法解决了空闲让进的问题,但有可能两个进程同时进入临界区。 当两个进程都未进入临界区时,它们各自的访问标志值都为false,若此时刚好两个进程同时都想进入临界区,并且都发现对方标志值为false,于是两个进程同时进入了各自的临界区,这就违背了临界区的访问原则“忙则等待”。,18,算法3的思想,本算法仍然设置标志数组flag[ ],但标志用来表示进程是否希望进入临界区。 在每个进程访问临界资源之前,先将自己的标志设置为真,表示进程希望进入临界区,然后再检查另一个进程的标志。若另一个进程的标志为真,则进程等待;否则进入临界区。,19,算法3的描述,enum boolean {false,true}; boolean flag[2]={false,fa
展开阅读全文
  微传网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
0条评论

还可以输入200字符

暂无评论,赶快抢占沙发吧。

关于本文
本文标题:操作系统4-2.ppt
链接地址:https://www.weizhuannet.com/p-9819044.html
微传网是一个办公文档、学习资料下载的在线文档分享平台!

微传网博客

网站资源均来自网络,如有侵权,请联系客服删除!

 网站客服QQ:80879498  会员QQ群:727456886

copyright@ 2018-2028 微传网络工作室版权所有

     经营许可证编号:冀ICP备18006529号-1 ,公安局备案号:13028102000124

收起
展开