进程的阻塞与唤醒
来源:互联网 发布:ps淘宝抠图兼职 编辑:程序博客网 时间:2024/05/21 11:14
引起进程阻塞和唤醒的事件:
1:向系统申请资源时失败。如一个进程(A)申请打印机但是此时打印机被其他进程(B)正在使用,此时A进程则处于阻塞状态。
2:等待某种操作:进程A启动了某I/O设备,如果只有完成了指定的I/o任务后进程A才能执行,则进程A启动了I/O设备后会自动进入阻塞。
3:新数据尚未到达:对于相互合作的进程,如果一个进程需要先获得另一个进程的数据后才能对该数据进行处理,只要数据尚未到达其便会进入阻塞状态。
4:等待新任务的到达:每当这种进程完成自己的任务便把自己阻塞起来,等待新任务到达,才将其唤醒。
进程阻塞的过程:
正在执行的进程,如果遇到上面阻塞的事件后,进程便调用阻塞原语block将自己阻塞,(阻塞是进程自身的一种主动行为)并将正在运行的进程立即停止运行,并把PCB中进程状态信息改为阻塞,并将PCB插入阻塞队列,如果系统设置了不同阻塞原因的队列,则应将其插入到对应原因引起的阻塞队列中。
进程唤醒的过程:
当被阻塞进程所期待的事件发生时则有关的进程会调用唤醒原语(wakeup),将等待的进程唤醒,首先把阻塞的进程从阻塞队列中移除,将其PCB插入就绪队列中
进程的挂起与激活
0 0
- 进程的阻塞与唤醒
- 进程的阻塞、唤醒、挂起、激活
- 进程管理笔记-进程的阻塞、唤醒、挂起、激活
- 进程控制:进程的创建、终止、阻塞、唤醒和切换
- 2多线程的阻塞、唤醒与同步
- 线程阻塞与唤醒
- 线程阻塞与唤醒
- Java线程唤醒与阻塞
- Java线程唤醒与阻塞
- java线程阻塞与唤醒
- Java线程唤醒与阻塞
- Java线程唤醒与阻塞
- Java线程唤醒与阻塞
- Linux进程的唤醒与睡眠
- 0027 Java线程的阻塞与唤醒【基础】
- Android 中的Looper如何实现阻塞与唤醒的
- 进程的挂起与阻塞
- 进程的挂起与阻塞
- linux shell 脚本中创建对话框 (whiptail 工具)
- Mysql:is not allowed to connect to this MySQL server
- [20151020]SCZ训练
- 个人总结ALM
- JS-----元素定位自动居中
- 进程的阻塞与唤醒
- 移动端设计尺寸基础知识
- 数据检索---空间向量模型VSM
- [系统]对EFI分区以及UEFI,GPT,BIOS,MBR启动的理解
- java基础 传递参数
- Android中的Selector的用法
- 典型关联分析
- 成大事必须依靠的五种人和十种手段!
- 阿里云常用压缩和ngnix命令