并发环境中多进程之间的关系

进程并发运行的环境中,多个进程之间存在如下竞争和合作的关系:

-          进程中的资源争用(间接作用)

当并发进程竞争使用同一个资源时,它们之间就会发生冲突。为了避免冲突,当一个进程获得资源时,另一个进程必须等待。这种情况需要通过互斥机制来解决。

-          进程间通过共享的合作(间接作用)

一个进程等待另一个进程的执行,并以另一个进程的执行结果作为本进程的执行条件,就形成了同步机制

-          进程间通过通信的合作(直接作用)

进程间还可以通过通信进行合作,同性提供了同步和协调各种活动的方法。如操作系统提供的通信功能。

 

进程间通过共享的竞争:

特点:

1.       每个进程不知道其他进程的存在

2.       两个或者和更多的进程在各自的执行过程中需要访问相同的资源(IO设备、存储器、CPU)

3.       进程之间没有信息交互

相互间产生的影响:

       执行结果不会受影响

       执行时间会受影响

竞争引发的控制问题:

       互斥、死锁、饥饿

 

与并发相关的术语:

临界资源:一次只能允许一个进程访问的资源

临界区:访问和操作临界资源的代码段

互斥:多个进程需要访问一个临界资源时,任何时刻只能有一个进程正在访问;通俗点,资

源需要排它使用,防止出现竞争冲突(不同时使用,但无先后次序)

同步:指两个事件的发生存在着某种时序上的先后关系。

死锁:一组进程中,每个进程都无限等待改组进程中另一进程所占有的临界资源

饥饿:一组进程中,某个或者某些进程无限等待改组中其他进程所占有的临界资源

 

 

进程间通过共享的合作:

特点:

       没有意识到其他进程的存在,但直到要维护数据的完整性

       共享变量、文件或者数据库等

相互间产生的影响:

       执行结果和执行时间都会受影响

共享引发的控制问题

       互斥、死锁、饥饿、数据一致性

 

进程间通过通信的合作:

特点:

       进程直到自己的合作伙伴

       采用消息传递的方式

相互间产生的影响:

       执行结果和执行时间都会受影响

引发的控制问题:

       互斥、死锁

 

同步机制应遵循的准则:

      空闲让进

       忙则等待

       有限等待

       让权等待 当进程不能进入临界区,应该立即释放处理器

 

http://wenku.baidu.com/view/830470573c1ec5da50e2700a.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值