6.5.2. Windows 内核

6.5.2.1. 运行模式

Windows支持Intel x86/x64 的两种处理器模式内核模式(Kernel mode,Ring 0)和用户模式(User mode,Ring 3)。

内核模式下的代码可以访问所有的内存空间;可以直接操纵硬件。用户模式下的代码无权访问系统空间的内存页面;无法直接操纵硬件。用户模式向内核模式的切换是受控制的。

6.5.2.2. 基本模块

Windows操作系统内核模式下的基本模块包含Windows执行体、Windows内核体、设备驱动程序、窗口和图形系统、硬件抽象层。

其中Windows执行体是Windows内核体的上层接口,包含了基本的操作系统服务,如进程与线程管理、内存管理、I/O管理、网络连接、进程间通信以及安全服务。

Windows内核体实现与硬件体系结构支持的代码,实现底层的操作系统功能,如线程调度 、中断和异常分发处理、多处理器同步等。

设备驱动程序包括硬件设备驱动程序、文件系统与网络设备驱动程序。

窗口和图形系统即Win32k.sys(Windows子系统的内核模式部分),实现了图形用户界 面(GUI)函数,包括窗口的处理、绘制等。

硬件抽象层即Hal.dll文件,用于屏蔽Windows内核、驱动程序与平台硬件差异性的底层代码。

6.5.2.3. 重要的系统进程

  • Idle
    • 每个CPU一个idle线程做空闲CPU时间统计

  • System
    • 内核模式的系统进程

  • Wininit.exe
    • Session 0 初始化

  • Smss.exe
    • 会话(Session)管理器,系统启动时第一个运行的进程。

  • Csrss.exe
    • Windows子系统进程,即客户端/服务器运行进程。

  • Winlogon.exe
    • 处理交互式登录。

  • Services.exe
    • 服务控制管理器,负责启动和、停止、暂停、恢复服务。

  • Svchost.exe
    • 共享进程服务的宿主进程。

  • Lsass.exe
    • 本地安全授权子系统,负责本地系统安全策略、 用户认证,以及发送安全审计信息到事件日志。