进程同步与进程互斥



进程同步:

进程同步:在多道程序环境下,进程是并发执行的,不同进程之间存在着不同的相互制约关系。

进程同步的概念:把异步环境下的一组并发进程因直接制约而互相发送消息、进行互相合作、互相等待,使得各进程按一定的速度执行的过程称为进程间的同步。具有同步关系的一组并发进程称为合作进程,合作进程间互相发送的信号称为消息或事件。

进程间制约关系:

(1)资源共享关系:

1.互斥共享方式

2.同时共享方式

(2)相互合作关系

 

 进程互斥:

1.进程互斥概念:

两个或两个以上的进程,不能同时进入关于同一组共享变量的临界区域,否则可能发生与时间有关的错误,这种现象被称作进程互斥· 也就是说,一个进程正在访问临界资源,另一个要访问该资源的进程必须等待。

 

 临界资源:一个时间段内只允许一个进程使用的资源称为临界资源

2.临界资源的互斥访问的四个部分:

1.进入区

2.临界区

3.退出区

4.剩余区

 

3.为实现进程互斥,所有的同步机制应该遵循四大准则:

 

 

 

 进程互斥的软件实现方法:

1.单标志法:

 该算法可以实现“在同一时刻最多只允许一个进程访问临界区

 

 缺点:该算法先让P0进入访问区,再有P1进入,然后轮流访问。若P0一开始不进行访问,P1只能卡在就绪中,只能等P0访问结束后才能进行访问,若P0一直不访问,则P1只能一直等待(这时候CPU处于空闲阶段)。违背了“空闲让进”的原则。

 2.双标志先检查法:

 该算法先检查各进程的的选择意愿,再进行选择性进入。

 

 缺点:可能两进程同时想进入临界区,违反了“忙则等待”的原则。


3.双标志后检查法:

 

 

 缺点:违背了“空闲让进”“有限等待”的原则。

 4.Peterson算法:

 

 

 

 缺点:未遵循“让权等待”的原则。但相比与前几种算法,是很好的。但依然不够完美。

 

小结:

 

 进程互斥的硬件实现方法:

1.中断屏蔽方法:

 

缺点:不适用于多处理机,只适用于操作系统的内核进程

2.TestAndSet指令:

TS指令,有的地方称为TestAndSetLock指令,也称TSL指令。

 缺点:不满足“让权等待”原则,暂时无法进入临界区的进程会占用CPU并循环执行TSL指令,从而导致“忙等”

 3.Swap指令:

Swap指令是用硬件实现的。 

 

 

小结:

 

 

 

 呼呼呼,文章好长呀,又写了好长时间,不过整理好了就很开心,希望自己可以不断努力,加油,追梦人。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值