Windows NT的内部结构是基于地址空间、代码权限和职责的区分,分为用户模式和内核模式两个主要部分。用户模式的进程使用32位系统中较低的2GB地址空间(00000000 - 7FFFFFFFh),这部分主要用于用户应用程序,如Win32、Windows 3.1、DOS、POSIX和OS/2程序,以及系统支持进程如Logon进程(\%SystemRoot%\System32\Winlogon.exe)和服务进程如Spooler进程(\%SystemRoot%\System32\spoolsv.exe)。
内核模式则是操作系统的核心部分,使用高位的2GB地址空间(80000000h - 0FFFFFFFFh)。这部分包括运行模块,负责内存管理、进程和线程管理、安全机制等,由\%SystemRoot%\System32\Ntoskrnl.exe执行。内核模块负责线程调度、中断和异常处理等关键任务。设备驱动程序,如硬件设备、文件系统和网络驱动,也运行在内核模式,确保硬件设备的正常运行。硬件抽象层(HAL)位于\%SystemRoot%\System32\Hal.dll,它隔离了内核与硬件的具体实现,使得系统可以跨平台运行。
最后,窗口和图形系统(位于\%SystemRoot%\System32\Win22k.sys)负责图形用户界面(GUI)的处理,如窗口管理、用户界面控制和绘画等操作,是用户界面的重要组成部分。
扩展资料
Windows系统中两种基本驱动程序之一,它的特点是:1、内核模式驱动程序将在执行其他应用程序代码(包括受保护的子系统代码)的非特权处理器模式中运行。除非用户模式驱动程序调用 Win32 API,否则将无法获取对系统数据的访问权。2、内核模式驱动程序将作为操作系统的执行部分(即支持一个或多个受保护的子系统的基础操作系统组件)运行。大多数设备驱动程序将在内核模式中运行。内核模式驱动程序可执行某些受保护的操作,并可访问用户模式驱动程序无法访问的系统结构。但随着访问权的增加,调试难度和系统损害几率也随之增大。