35、进程的阻塞与唤醒,挂起与激活

阻塞与唤醒

阻塞的原因

  • 进程需要请求系统服务的时候;
  • 启动某种操作:如 I/O;
  • 新数据尚未到达
  • 无新工作可做(如定期清理垃圾的进程)

阻塞原语 block()

当出现阻塞事件,进程调用阻塞原语将自己阻塞。状态变为阻塞状态,并进入相应的事件的阻塞队列

唤醒原语 wakeup()

当阻塞进程期待的事件发生,有关进程调用唤醒原语,将等待该事件的进程唤醒。状态变为Ready,插入就绪队列

挂起与激活

挂起原语 suspend()

当出现挂起事件,系统利用挂起原语将指定进程或阻塞状态进程挂起。进程从内存换到外存,状态改变: Ready -> Ready,Suspend; Blocked -> Blocked,Suspend; 插入相应的队列

激活原语 active()

当激活事件发生,系统利用激活原语将指定进程激活。进程从外存换入到内存,状态改变:Ready,Suspend -> Ready; Blocked, Suspend -> Blocked,然后插入相应的队列

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值