Windows XP线程调度策略
Windows 2000/XP基于线程实现优先级驱动的抢先式多任务,并且在单处理器系统和多处理器系统中的线程调度策略是不同的。下面介绍单处理器系统中的线程调度策略。在单处理机系统中,处理机的切换有以下儿种情况。
1.主动切换
一个线程可能因为进入等待状态而主动放弃处理器的使用,此时Windows 2000/XP将选杼一个新线程开始运行。许多WIN32等待函数调用(如WaitForSingkObject或WaitFor-MultipkObjects等)都使线程等待某个对象,等待的对象可能有事件、互斥信号量、资源信号M、I/O操作、进程、线程、窗口消息等。如果进入等待线程的时间配额有剩余,在等待事件出现时,线程的时间配额被减1,相当于1/3个时钟间隔;如果线程的优先级大于等于14,在等待事件出现时,线程的优先级被重置。
2.抢先
当一个高优先级线程的等待完成,即一个线程等待的事件出现,高优先级线程进入就绪状态,或者一个线程的优先级被增加或减少,出现正在处于运行状态的低优先级线程低于就绪队列中的某个线程时,系统都要确定是否让当前线程继续运行或当前线程是否要被一个高优先级线程抢先。在Windows 2000/XP中的用户态下运行的线程也可以抢先内核态下运行的线程。在判断一个线程是否被抢先时,并不考虑线程处于用户态还是内核态,调度器只是依据线程优先级进行判断。
当线程被抢先时,它被放回相应优先级的就绪队列的队首。处于实时优先级的线程在被抢先时,时间配额被重置为一个完整的时间片;而处于动态优先级的线程在被抢先时,时间配额不变,重新得到处理器使用权后将运行到剩余的时间配额用完。
3.时间配额用完
当一个处于运行状态的线程用完它的时间配额时,Windows 2000/XP首先必须确定是否需要降低该线程的优先级,然后确定是否需要调度另一个线程进入运行状态。
如果刚用完时间配额的线程的优先级被降低了,Windows 2000/XP将寻找一个更适合的线程进入运行状态,所谓更适合的线程是指优先级高于刚用完时间配额的线程的新设S值的就绪线程。如果刚用完时间配额的线程的优先级没有降低,并且有其他优先级相同的就绪线程,Windows 2000/XP将选杼相同优先级的就绪队列中的下一个线程进入运行状态,刚用完时间配额的线程被排到就绪队列的队尾(即分配一个新的时间配额并把线程状态从运行状态改为就绪状态如果没有优先级相同的就绪线程可运行,刚用完时间配额的线程将得到一个新的时间配额并继续运行。
4.线程运行结束
当线程完成运行时,它的状态从运行状态转到终止状态。此时系统将处理器调度给另一个线程。线程完成运行的原因可能是通过调用ExhThread而从主函数中返回或被其他线程通过调用TerminateThread来终止。如果处于终止状态的线程对象上没有未关闭的句柄,则该线程将被从进程的线程列表中删除,相关数据结构将被释放。
华为秋季新品发布会定档9月24日:GT5手表来了
华为秋季新品发布会定档9月24日:GT5手表来了(0)人阅读时间:2024-09-19苹果在欧洲再遭集体诉讼(欧盟起诉苹果)
苹果在欧洲再遭集体诉讼 被指赚取不正当利润(0)人阅读时间:2024-09-19冬天是白天长还是晚上长 冬天是白天长还是晚上长?夏天呢?
冬天是晚上长。冬至在太阳到达黄经270°时开始,时于每年公历12月22日左右。据传,冬至在历史上的周代是新年元旦,曾经是个很热闹的日子。冬至这天,太阳直射地面的位置到达一年的最南端,几乎直射南回归线(南纬23°26')。这一天北半球得到的阳光最少,比南半球少了50%。北半球的白昼达到最短,且越往北白昼越短。(0)人阅读时间:2024-09-1980岁老人空调多少度合适 80岁老人空调多少度合适冬天
80岁老人空调多少度合适是不确定的,要根据老人身体的具体情况决定。如果室外气温是三十五度,室内就会比室外稍低三到五度,对于老年人来说,空调开到二十六度是最合适不过,但不能站在空调出风口的前面,这里风最大,也对老年人健康最不利。(0)人阅读时间:2024-09-19冬天是白天长还是晚上长 冬天是白天长还是晚上长?夏天呢?
冬天是晚上长。冬至在太阳到达黄经270°时开始,时于每年公历12月22日左右。据传,冬至在历史上的周代是新年元旦,曾经是个很热闹的日子。冬至这天,太阳直射地面的位置到达一年的最南端,几乎直射南回归线(南纬23°26')。这一天北半球得到的阳光最少,比南半球少了50%。北半球的白昼达到最短,且越往北白昼越短。..2024-09-1980岁老人空调多少度合适 80岁老人空调多少度合适冬天
80岁老人空调多少度合适是不确定的,要根据老人身体的具体情况决定。如果室外气温是三十五度,室内就会比室外稍低三到五度,对于老年人来说,空调开到二十六度是最合适不过,但不能站在空调出风口的前面,这里风最大,也对老年人健康最不利。..2024-09-19主机风扇怎么装 主机风扇怎么装回去
1、安装:带孔的侧板看到了吧装那个4插孔的风向内吹,2个插孔的装后面(就是机箱后面的那块五金板上)向外抽风。2、接线:4个插孔的直接插电源接线,2个插孔的如果也是大的 插头话直接插电源上,小的话接主板,看到插针是对应的可..2024-09-19电脑没声音了怎么设置(电脑没声音了怎么设置耳机)
1、找到任务栏中声音的图标,将耳机和扬声器打开,右键点击图标,打开声音设置。2、选择“疑难解答”,进入问题检测,选择所需设备,点击“下一步”。3、选择“好的,请打开音频增强功能”,点击“确定”,点击“打开音量合成器”,按..2024-09-19