这是简化的,但Windows O/S的内核模式部分分为三部分:HAL,内核和执行子系统。执行子系统处理一般的操作系统策略和操作。内核处理低级操作(例如自旋锁,线程切换)以及调度的进程体系结构特定细节。 HAL处理在处理器体系结构的特定实现中出现的差异(例如,中断在这个x86实现上的路由方式)。这在Windows内部的书中有更详细的解释。
当您创建新的Win32进程时,内核和执行子系统都要跟踪它。例如,内核想知道进程中线程的优先级和亲和性,因为这将影响调度。执行子系统希望跟踪该过程,因为例如安全执行子系统想要将令牌与过程相关联,以便稍后进行安全检查。
内核用来跟踪进程的结构是KPROCESS。执行子系统用来跟踪它的结构是EPROCESS。作为一个实现细节,KPROCESS是EPROCESS的第一个字段,所以执行子系统分配EPROCESS结构,然后调用Kernel来初始化它的KPROCESS部分。最后,这两个结构都是表示用户进程实例的Process Object的一部分。这也应该都包含在Windows内部的书中。
联系客服