1、在Windows下,用户应用程序并不是直接调用原生的Windows操作系统服务,而是通过一个或者多个子系统动态链接库来发起调用。子系统DLL的作用是:将一个已经文档化的函数转化为一些恰当的内部(通常是未文档化的)原生系统服务调用。这一转化过程可能会--也可能不会--向正在为用户应用程序提供服务的环境子系统进程发送消息。
2、Windows的内核模式组件包含:
1)Windows执行体:包含了基本的操作系统服务、比如内存管理、进程和线程管理、安全性、IO、网络和跨进程通信;
2)Windows内核:由一组低层次的操作系统功能构成的,如线程调度、中断和异常分发,以及多处理器同步,它也提供了一组例程和基本对象,执行体的其余部分利用这些例程和对象实现更高层次的功能;
3)设备驱动程序:既包括硬件设备驱动程序,也包括像文件系统和网络驱动程序之类的非硬件设备驱动程序。其中硬件设备驱动程序将用户的IO函数调用转换成特定的硬件设备IO请求;
4)硬件抽象层HAL:是指一层特殊的代码,它把内核、设备驱动程序和Windows执行体的其余部分跟平台相关的硬件差异隔离开。
5)窗口和图形系统:实现了图形界面GUI功能(包括Windows USER和GDI两部分功能)。
Windows系统核心组件的文件名称如下图:
3、对称多处理器SMP:没有主处理器,操作系统和用户线程可以被调度到任何处理器上运行,而且所有的处理器共享唯一的内存空间。非对称处理器ASMP:系统选择一个处理器来执行操作系统的内核代码,而其他处的处理器只运行用户代码。Windows是一个对称多处理器操作系统。
4、超线程:是Intel引入的一种技术,它可以在每个物理核