《(1.3)--什么是互斥和同步.ppt》由会员分享,可在线阅读,更多相关《(1.3)--什么是互斥和同步.ppt(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1 临界资源:临界资源:critical resource 我们把一次仅允许一个进程使用的资源称为临界资源我们把一次仅允许一个进程使用的资源称为临界资源。对临界资源的访问是互斥的对临界资源的访问是互斥的。许多物理设备,如输入机、打印机、磁带机等都具有这种性质。许多物理设备,如输入机、打印机、磁带机等都具有这种性质。软件资源,如公用变量、表格、队列等也都具有这一特点。软件资源,如公用变量、表格、队列等也都具有这一特点。临界区:临界区:critical section 对临界资源进行访问的对临界资源进行访问的程序代码程序代码称为临界区。称为临界区。进程必须进程必须互斥的进入临界区。互斥的进入临界区
2、。2为什么访问临界资源时必须要互斥?为什么访问临界资源时必须要互斥?3为什么访问临界资源时必须要互斥?为什么访问临界资源时必须要互斥?0123插入位置插入位置ininbuffer(in)=Pi;in=(in+1);就是就是临界界区区void pi()/i=0,1,2 while(1)buffer(in)=Pi;in=(in+1);4为什么访问临界资源时必须要互斥?为什么访问临界资源时必须要互斥?0123插入位置插入位置ininvoid p1()while(1)buffer(in)=P1;in=(in+1);void p2()while(1)buffer(in)=P2;in=(in+1);p1p
3、1插入位置插入位置inin5为什么访问临界资源时必须要互斥?为什么访问临界资源时必须要互斥?0123插入位置插入位置ininvoid p1()while(1)buffer(in)=P1;in=(in+1);void p2()while(1)buffer(in)=P2;in=(in+1);p1p1插入位置插入位置ininp2p26机场售票机场售票设:设:x代表某航班机座位数,代表某航班机座位数,p1和和p2两个售票进程两个售票进程(两个窗口),售票工作是对变量(两个窗口),售票工作是对变量x减减1。void p1()while(1)x=x-1;/临界区临界区 void p2()while(1)x
4、=x-1;/临界区临界区 这两个进程在一个处理机这两个进程在一个处理机C上并发执行,分别使用内部寄存上并发执行,分别使用内部寄存器器r1和和r2。7 两个进程共享一个变量两个进程共享一个变量x x时,时,两种可能的执行次序:两种可能的执行次序:r1=x;r1=r1-1;x=r1;r2=x;r2=r2-1;x=r2;r1=x;r2=x;r2=r2-1;x=r2;r1=r1-1;x=r1;设设x x的初值为的初值为1010,两种情况下的执两种情况下的执行结果:行结果:情况情况A A为为 x=10-2 x=10-2 情况情况B B为为 x=10-1x=10-1情况情况A A情况情况B B8无关关系无
5、关关系:这些进程间彼此毫无关系,互不影响:这些进程间彼此毫无关系,互不影响 相关关系相关关系:这些进程间彼此往往相关,互相影响,要进:这些进程间彼此往往相关,互相影响,要进行合理的控制和协调才能正确执行行合理的控制和协调才能正确执行 共享临界资源关系共享临界资源关系 相互合作关系相互合作关系 并发进程之间的关系并发进程之间的关系9共享临界资源关系共享临界资源关系:多个进程之间的执行顺序没有先后,但是不能同时多个进程之间的执行顺序没有先后,但是不能同时访问临界资源访问临界资源(间接制约关系间接制约关系)。例如,多个进程共)。例如,多个进程共同使用一台打印机。(互斥)同使用一台打印机。(互斥)相互合作关系相互合作关系:一组进程之间的执行顺序有先后一组进程之间的执行顺序有先后(直接制约关系直接制约关系)。)。例如,一个计算进程和一个打印进程共同完成一个任例如,一个计算进程和一个打印进程共同完成一个任务。(同步)务。(同步)相关的并发进程之间有什么关系相关的并发进程之间有什么关系?10多个进程因为使用临界资源会有多个进程因为使用临界资源会有互斥关系。互斥关系。多个进程合作完成一个任务,执行顺序有先后关系,多个进程合作完成一个任务,执行顺序有先后关系,这就是同步关系。这就是同步关系。总结总结
限制150内