- 10
- 0
- 约5.48千字
- 约 5页
- 2020-02-07 发布于湖北
- 举报
LKD中的讲解
休眠(被阻塞)的进程处于一个特殊的不可执行状态。
这点非常重要,否则,没有这种特殊状态的话,调度程序就可能选出一个本不愿意被执行的进程,更糟糕的是,休眠就必须以轮询的方式实现了。进程休眠有各种原
因,但肯定都是为了等待一些事件。事件可能是一段时间、从文件I/O读更多数据,或者是某个硬件事件。一个进程还有可能在尝试获得一个已经占用的内核信号
量时被迫进入休眠。休眠的一个常见原因就是文件I/O --
如进程对一个文件执行了read()操作,而这需要从磁盘里读取。还有,进程在获取键盘输入的时候也需要等待。无论哪种情况,内核的操作都相同:进程把它
自己标记成休眠状态,把自己从可执行队列移出,放入等待队列,然后调用schedule()选择和执行一个其他进程。唤醒的进程刚好相反:进程被设置为可
执行状态,然后再从等待队列中移到可执行队列。
? ? 休眠有两种相关的进程状态:TASK_INTERRUPTIBLE and
TASK_UNINTERRUPTIBLE。它们的惟一区别是处于TASK_UNINTERRUPTIBLE状态的进程会忽略信号,而处于
TASK_INTERRUPTIBLE状态的进程如果收到信号会被唤醒并处理信号(然后再次进入等待睡眠状态)。两种状态的进程位于同一个等待队列上,等
待某些事件,不能够运行。
? ?? ?? ?
? ?
休眠通过等待队列进行处理。等待队列
您可能关注的文档
- 3号机油净化装置换型可研.doc
- IDSA医院感染预防指南.docx
- IPO被否全程指引(终总结版).docx
- IPO企业内部调研提纲(尚普).docx
- IPO审核必问反馈问题操作实务.docx
- IP城域网引入虚拟交换机技术的研究.docx
- IQC来料检验指导书V1..docx
- ISO0:标准换版考试试题(一).doc
- ISO0-标准换版考试试题及答案-1套.doc
- ISO90注册审核员专业划分小类.doc
- 4.4 控制系统的设计与实施(教学设计)高中通用技术苏教版2019必修2.docx
- 2026届衡水市第十三中学高三第一次质量调研(一模)数学试题.doc
- 3.1.1关系数据结构及关系代数教学设计-浙教版高中信息技术选修三.docx
- 高考化学二轮复习 阿伏伽德罗常数.docx
- 运筹学期末复习完全手册(直接使用版).docx
- 人工肝治疗中的家属支持与护理.pptx
- 人工肝治疗后的康复护理.pptx
- 4 自由落体运动(表格式教学设计)高中物理人教版2019必修第一册.docx
- 第05讲 充分条件、必要条件、充要条件(八大题型)新高一数学(苏教版2019必修第一册).docx
- 29 古代诗歌文本比较鉴赏题(比较形象、语言、表达技巧、情感态度)高考语文二轮复习专题.docx
原创力文档

文档评论(0)