Windows内核原理与实现之系统线程和系统进程

本文详细介绍了Windows内核中系统线程和系统进程的概念,强调了System进程和其线程的作用。系统线程主要通过工作项目在System进程中执行,用于设备驱动程序和内核组件的后台任务。系统进程包括System、Idle、Session Manager、Winlogon、CSRSS、LSASS和Shell等,各自承担着关键的系统功能,如用户登录、安全管理、服务管理等。
摘要由CSDN通过智能技术生成

在Windows中,每个线程代表一个指令执行序列,同时也是一个调度单元;进程定义了一个执行环境,由自己独立的地址空间。每个线程都必定依附于一个进程。Windows内核除了接受来自应用程序的系统服务调用,它自己也有一些线程用户各种用途。这些线程运行在一个特殊的进程环境中,称为System进程。为区分该进程与本节下文即将介绍的操作系统关键进程,本书将前者称为System进程,而将后者称为系统进程。System进程的线程被称为系统线程,其中有一组系统辅助线程,它们代表操作系统或其他的应用进程来完成一些特殊的工作。

设备驱动程序或执行体即可以在调用者进程中创建线程,也可以在System进程中创建线程。或者,也可以不创建任何一个线程,而且调用执行体函数ExQueueWorkItem或I/O管理器函数IoQueueWorkItem,向系统辅助线程请求得到它们的服务。这两个函数负责把一个工作项目(WorkItem)放到一个队列中,而系统辅助线程将从此队列提取工作项目,并执行工作项目中指定的一个例程。因此,工作项目中的例程是在System进程的环境中执行的,它不能访问其他进程空间中的数据。

系统辅助线程实际上是一个线程池,Windows在系统初始化时创建了一定数量的辅助线程,而且,随着辅助线程的负载的变化,执行体也会动态地创建一些辅助线程,以满足系统负载的变化需求。

除了系统辅助线程,内核中的许多组件也会创建系统线程来完成一些必要的工作,例如,内存管理器需要后台系统线程来监视和管理页面的换入和换出。另外,设备驱动程序也可以通过调用PsCre

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值