进程间关系

进程同步:

定义:进程之间这种相互合作、协同工作的关系称为进程的同步。

简单来说就是:多个相关进程在执行次序上的协调。

制约关系:直接制约

 

进程互斥:

临界资源:也称独占资源,是指在一段时间内只允许一个进程访问的资源。例如打印机,磁带机,也可以是进程共享的数据、变量等。

定义:当多个进程因为争夺临界资源而互斥执行称为进程的互斥。

制约关系:间接制约。

 

临界资源处理不当带来的问题

1.执行结果错误

临界区:与临界资源操作相关的程序段。

2.死锁

在并发系统中,程序执行结果的正确性不仅取决于自身的正确性,还与其在执行过程中能否正确的与其他进程实施同步或互斥有关。必须对临界资源的访问进行控制。

 

 

互斥解决方案:

*关中断法(开关中断指令)

也称为硬件锁,是实现互斥最简单的方法

做法:每个进程在进入临界区后先关中断,屏蔽其他请求,在离开之前再开中断。

优点:实现简单

缺点:中断被关闭后,CPU不再响应任何外部事件,此时进程将会独占CPU,直至开启中断,如果中断关闭时间过长,会造成严重后果,因此把开关中断的权利交给用户进程是很不明智地的。

 

*镜变量法(测试和设置指令)

做法:设置一个共享(锁)变量W,初值为0.当一个进程想进入其他临界区时,它首先测试这把锁。如果锁的值为0,则进程将其置为1并进入临界区。若锁已经为1,则进程等待直到变为0.于是,0就表示临界区内没有进程,1表示已经有某个进程进入了临界区。

 

同步机制应遵循下述四条准则

*空闲让进

*忙则等待

*有限等待

*让权等待

 

posted @ 2020-03-10 22:23  ice--cream  阅读(2407)  评论(0编辑  收藏  举报