第299页 进程,线程和作业
- 章节名:进程,线程和作业
- 页码:第299页
进程的内部机理 数据结构
每个windows进程都是由一个执行体进程(EPROCESS)块来表示的。EPROCESS块中除了包含许多与进程相关的属性以外,还包括和指向了许多其他的相关数据结构。EPROCESS块和相关数据结构位于内核地址空间中,不过,进程环境块(PEB)在进程私有空间中。 除了EPROCESS块以外,windows子系统进程(CSRSS)为每个windows进程维护了一个类似的数据结构。而且,windows子系统的内核模式部分(win32k.sys)有一个针对每个进程的数据结构,当一个县城第一次调用windows的USER或GDI函数,此数据结构就被创建了。 引自 进程,线程和作业 (dt _eprocess显示SPROCESS块的格式,第一个域是一个子结构:内核进程块(LPROCESS)。与调度有关的信息存储在此结构中,查看请输入 dt _kprocess)
kprocess块是EPROCESS块的一个组成部分,而进程环境块(PEB)则是EProcess块中指向的一个数据结构。KPROCESS块也称(PCB,进程控制块)。 PEB位于用户地址空间中,包含了映像加载器,堆管理器和其他windows系统DLL所需要的信息,因为它们需要在用户模式下修改PEB中的信息。 引自 进程,线程和作业 (检查PEB:在windbg上执行 !peb命令将PEB结构dump出来,为了得到PEB的地址,使用!process命令) 内核变量
下面是与进程相关的内核全局变量 变量 类型 说明 PsActiveProcessHead 队列头 进程块的列表头 PsIdleProcess EPROCESS 空闲进程块 PsInitialSystemProcess EPROCESS * 指向初始系统的进程块指针,该进程包 . 含了系统线程 PspCreateProcess- 指针数组 包含了一些例程的指针数组,当进程 NotifyRoutine 创建和删除时这些例程被调用 PspCreateProcess- DWORD 已登记的进程通知例程的计数值 NotifyRoutineCount PspLoadImageNotify- 指针数组 包含一些例程指针的数组,当映像加载 Routine 时调用这些例程 PspLoadImage- DWORD 已登记的映像-加载通知例程的计数值 NotifyRoutineCount PspCidTable HANDLE_TABLE* 进程和线程客户ID的句柄表 引自 进程,线程和作业 (!process命令显示EPROCESS块中的一部分信息)
58人阅读
hao对本书的所有笔记 · · · · · ·
-
第249页 管理机制
windows管理规范 windowsNT 一直以来总是集成性能监视工具盒系统事件监视工具。应用程序和系...
-
第288页 启动和停机
x86和x64的引导准备 windows的引导过程并不是从你打开计算机的电源或者按下reset按钮开始,而...
-
第299页 进程,线程和作业
-
第313页 进程,线程和作业
CreateProcess的流程 1.打开将要被执行的映像 不能直接创建一个非windows进程的进程,如果win...
-
第323页 进程,线程和作业
线程的内部机理 数据结构 windows线程是由一个执行体线程(ETHREAD)块来表示的。ETHREAD块和...
> 查看全部51篇
说明 · · · · · ·
表示其中内容是对原文的摘抄