Windows架构
Windows基本架构:主要分为R0-R3四个层级,其中R0(内核态)包括内存、进程、线程、I/O等管理,核心体,设备驱动程序,硬件抽象层(HAL);R3(用户态)包括NTDLL.DLL主要由服务进程、Win32应用程序以及win32子系统动态链接库构成。
用户模式进程有如下四种基本的模型:
- 固定的系统支持进程,比如登录进程和会话管理器,它们并不是Windows服务;
- 服务进程宿纳的是Windows服务,比如Task Sechedular和Print Spooer服务。Windows服务往往要求独立于用户登录而运行;
- 用户应用程序;
- 环境子系统服务器进程实现了操作系统环境的支持部分。这里所谓的环境是指操作系统展示或给用户或程序员的个性化服务;将基本的Windows执行系统服务的某个子集暴露给应用程序。
- 其中应用程序和环境子系统通过一个或多个子系统动态链接库发起调用。将一个已文档化的函数转化为一些恰当的内部原生系统服务调用。
Windows子系统组件构成:
-
对于每个会话,环境子系统进程(csrss.exe)有一个实例加载三个DLL(Basesrv.dll、Winsrv.dll和csrsrv.dll),它们包含下列支持:
- 创建或删除进程和线程;
- 对16位DOS虚拟机(VDM)进程的部分支持;
- SxS/Fusion和清单文件支持;
- 其他函数,如GetTemplateFile