能力值:
( LV2,RANK:10 )
|
-
-
2 楼
原来我跟你一样 模模糊糊
看了几本书后就清晰多了
WINDOWS内核情景分析看下吧
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
能帮忙解释下嘛,还没回校,借不到《WINDOWS内核情景分析》~~
|
能力值:
( LV3,RANK:20 )
|
-
-
4 楼
1、首先,windows是以线程为调度单位的,但有时人们叙述不严谨,有时是一种习惯,特别是叙述单线程进程的时候,会使用进程调度的说法。实际上所有的调度是针对线程的。
2、线程被调度时,分为32个优先级数,分别为0~31优先级。线程的优先级不是使用0-31级直接设置的,而是通过进程优先级(分为6级)和线程相对进程优先级(分为7级)来设置的,即需要设置进程优先级和线程相对优先级(通常也称为线程优先级),操作系统会根据这两个优先级确定出线程调度的实际优先级。
3、windows支持6个进程优先级类(进程是不可调度的,进程优先级是Microsoft提出的一个抽象概念,有助于用户理解,所有的线程优先级是相对于进程优先级的),如下:
优先级类 标识符
实时 REALTIME_PRIORITY_CLASS
高 HIGH_PRIORITY_CLASS
高于默认 ABOVE_NORMAL_PRIORITY_CLASS
默认 NROMAL_PRIORITY_CLASS
低于默认 BELOW_NORMAL_PRIORITY_CLASS
空闲 IDLE_PRIORITY_CLASS
4、线程的相对优先级有7级,分别是:
相对优先级 常量标识符
时间关键 THREAD_PRIORITY_TIME_CRITICAL
最高 THREAD_PRIORITY_HIGHEST
高于默认 THREAD_PRIORITY_ABOVE_NORMAL
默认 THREAD_PRIORITY_NORMAL
低于默认 THREAD_PRIORITY_BELOW_NORMAL
最低 THREAD_PRIORITY_LOWEST
空闲 THREAD_PRIORITY_IDLE
5、线程真正优先级与上面进程优先级、线程相对优先级的对应关系:
进程优先级和线程优先级之间的映射表:
[进程优先级 空闲 低于默认 默认 高于默认 高 实时]
相对优先级
时间关键 15 15 5 15 15 31
最高 6 8 10 12 15 26
高于默认 5 7 9 11 14 25
默认 4 6 8 10 13 24
低于默认 3 5 7 9 12 23
最低 2 4 6 8 11 22
空闲 1 1 1 1 1 16
线程优先级值没有为0的。这是因为0优先级保留给页面清零线程了。对于17,18,19,20,21,27,28,29,30.如果编写一个以内核方式运行的设备驱动程序,可以获得这些优先级的等级,而用户方式的应用程序则不能
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
看不懂
|
|
|