一、Windows系统结构概述
1、Windows采用双模式来保护操作系统本身,内核模式和用户模式。在Windows中,用户代码和内核代码有各自的运行环境,而且它们可以访问的内存空间也并不相同。在x86中,内核代码可以访问当前进程的4GB虚拟地址空间,而用户代码只能访问底端2GB虚拟地址(一般情况下)。
2、Windows子系统与系统内核一起构成了用户程序的执行环境。Windows子系统既有内核模式部分,也有用户模式部分。用户模式部分包括一个单独的子系统进程和一组链接到各个应用进程中的系统DLL。
3、Windows还包括一组系统进程和服务进程。
二、Windows内核结构概述
1、Windows操作系统的内核分为三层。HAL层,HAL之上的内核层(微内核 micro-kernel,这层包含操作系统原语和功能,例如线程和进程,线程调度,中断和异常处理,同步对象和各种同步机制),执行体(executive)层(这一层提供一些可供上层应用程序或内核驱动程序直接调用的功能和语义)。Windows内核的执行体包含一个对象管理器,用于一致地管理执行体中的对象。执行体层和内核层位于同一个二进制模块中,即内核基本模块ntoskrnl.exe。
2、在Windows 32位中用户模式代码只能访问2GB一下的虚拟内存地址孔家,而内核模式代码可以访问当前进程整个4GB虚拟地址范围。两者间有一个特殊的64KB地址空间位于0x7FFF0000-