操作系统-3——并发:互斥和同步

一、基本概念

  • 原子操作:一个函数(原语)或动作的指令序列不可分割,要么作为一个整体执行(不可中断),要么都不执行。
  • 临界资源:一次仅允许一个进程独自占有使用的不可剥夺资源。
  • 临界区:进程访问临界资源的那一段代码。
  • 互斥:当一个进程正在临界区中访问临界资源时,其他进程不能进入临界区。
  • 同步:合作的并发进程需要按先后次序执行。例如:一个进程的执行依赖于合作进程的消息或信号。当一个进程没有得到来自合作进程的消息或信号时需阻塞等待,直到消息或信号到达才唤醒。
  • 死锁:多个进程全部阻塞,形成等待资源的循环链
  • 饥饿:一个就绪进程被调度程序长期忽视、不被调度执行。
  • 信号量:用于进程间传递信号的一个整数。在信号两上只可以进行三种操作,即初始化,递增,递减。这三种操作分别都是原子操作。递减作用于阻塞一个进程,递增作用于解除一个进程的阻塞。信号量也称为计数信号量或一般信号量。

二、互斥

1、互斥的要求

  • 强制互斥(忙则等待):一次只允许一个进程进入临界区。有进程正在临界区执行时,其他请求进程等待;等待进程退出后,从多个请求进程中选择一个进入临界区。
  • 有限等待:请求进程应在有限的等待时间内进入临界区,不能造成进程死锁或饥饿。
  • 有空让进:当临界区空闲时,请求进程可立即进入。
  • 让权等待:进程不能进入临界区时,应释放处理器,避免忙等。

?#一个正在访问临界资源的进程由于申请等待I/O操作而被中断时,它可以允许其他进程抢占处理器ÿ

  • 10
    点赞
  • 42
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值