进程线程模型 操作系统高级 技术方案.ppt

进程线程模型 操作系统高级 技术方案.ppt

(2)抢占 当一个高优先级线程进入就绪状态时,正在处于运行状态的低优先级线程被抢占 用户态下运行的线程可以抢占内核态下运行的线程 在判断一个线程是否被抢占时,并不考虑线程处于用户态还是内核态,调度器只是依据线程优先级进行判断 当线程被抢占时,它被放回相应优先级的就绪队列的队首 处于实时优先级的线程在被抢占时,时间配额被重置为一个完整的时间配额 处于动态优先级的线程在被抢占时,时间配额不变,重新得到处理机使用权后将运行到剩余的时间配额用完 (2)抢占 (3)时间配额用完 如果刚用完时间配额的线程优先级降低了,Windows 将寻找一个优先级高于刚用完时间配额线程的新设置值的就绪线程 如果刚用完时间配额的线程的优先级没有降低,并且有其他优先级相同的就绪线程,Windows 将选择相同优先级的就绪队列中的下一个线程进入运行状态,刚用完时间配额的线程被排到就绪队列的队尾(即分配一个新的时间配额并把线程状态从运行状态改为就绪状态) 如果没有优先级相同的就绪线程可运行,刚用完时间配额的线程将得到一个新的时间配额并继续运行 时间配额用完 (4)线程结束 当线程完成运行时,它的状态从运行状态转到终止状态 线程完成运行的原因可能是 通过调用ExitThread而从主函数中返回 通过被其他线程通过调用TerminateThread来终止 如果处于终止状态的线程对象上没有未关闭的句柄,则该线程

文档评论(0)

1亿VIP精品文档

相关文档