进程同步与互斥

为什么要引入进程同步的概念?
多道程序环境下的进程并发执行,它们相互之间存在着不同的制约关系,为了理解和协调这种制约的关系,引入了进程同步的概念。

1.临界资源

临界资源是一次只能为一个进程使用的资源。
由于临界资源的特性,就决定了 对它的访问必须是互斥的。
在每个进程中,访问临界资源的那段代码称为临界区。为了保证临界资源的正确使用。

可把临界资源的访问分为四个部分:

  1. 进入区:对申请访问的进程进行检查,若能进入临界区,则应设置正在访问临界区的标志,区别其他不能进入的进程。
  2. 临界区:进程中访问临界资源的那段代码,又称临界段。
  3. 退出区。将正在访问临界区的标志清除,以退出对临界资源的访问。
  4. 剩余区。代码中的其余部分。

2.同步

同步亦称直接制约关系,是指为完成某种任务而建立的两个或多个进程,这些进程因为需要在某些位置上协调它们的工作次序而等待,传递信息所产生的制约关系。进程间的直接制约关系源于它们之间的相互合作。

3.互斥

互斥也称直接制约关系。当一个进程进入临界区使用临界资源时,另一个进程必须等待,当占用临界资源的进程退出临界区后,另一进程才允许去访问此临界资源。

个人理解同步和互斥,主要是抓住次序和时间两个关键词。同步是有先后次序的,需要完成特定的任务而解决资源的受限。而互斥存在着竞争关系,它们都有访问临界资源的需求,下一时刻谁会访问并不是确定不变的。

为禁止两个进程同时进入临界区,同步机制应遵循以下准则:

  1. 空闲让进。临界区空闲时,可以允许一个请求进入临界区的进程立即进入临界区。
  2. 忙则等待。当已有进程进入临界区时,其他试图进入临界区的进程必须等待。
  3. 有限等待。对请求访问的进程,应保证能在有限时间内进入临界区。
  4. 让权等待。当进程不能进入临界区时,应立即释放处理器,防止进程忙等待。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值