线程等待链表/调度链表
2023-11-13
10
0
线程3种状态:
- 正在运行
- 就绪
- 等待
等待线程链表
阻塞的线程在等待线程链表中。
KTHREAD结构体中:
+0x0d8 WaitListEntry : _LIST_ENTRY
+0x0d8 SwapListEntry : _SINGLE_LIST_ENTRY
当一个线程处于等待状态时,会将WaitListEntry挂入等待线程链表。
等待线程链表位于全局链表:KiWaitListHead
就绪链表
xp共有32个就绪链表。
KiDispatchReadListHead[32]
32个为32个优先级的线程。
Win7有64个就绪链表。
不包括正在运行的线程。
正在运行的线程
正在运行的线程位于KPCR中。