Windows NT架构相关资料
文章目录
Windows NT架构——Wiki
Windows NT的体系结构是由Microsoft生产和销售的一系列操作系统,是一种分层设计,由两个主要组件组成,即用户模式和内核模式。它是一种抢占式,可重入的操作系统,旨在与基于单处理器和对称多处理器(SMP)的计算机配合使用。为了处理输入/输出(I / O)请求,它们使用数据包驱动的I / O,它利用I / O请求数据包(IRP)和异步I / O.从Windows XP开始,微软开始提供64位版本的Windows;在此之前,这些操作系统仅存在于32位版本中。
用户模式下的程序和子系统在访问哪些系统资源方面受到限制,而内核模式对系统内存和外部设备的访问权限不受限制。 Windows NT中的内核模式可以完全访问计算机的硬件和系统资源。 Windows NT内核称为混合内核。该体系结构包括一个简单的内核,硬件抽象层(HAL),驱动程序和一系列服务(统称为Executive),它们都存在于内核模式中。[1]
Windows NT中的用户模式由能够通过I / O管理器将I / O请求传递到适当的内核模式设备驱动程序的子系统组成。 Windows NT的用户模式层由“环境子系统”组成,它运行为许多不同类型的操作系统编写的应用程序,以及“集成子系统”,它代表环境子系统操作系统特定的功能。内核模式阻止用户模式服务和应用程序访问他们无法访问的操作系统的关键区域。
Executive接口与所有用户模式子系统一起处理I / O,对象管理,安全性和进程管理。内核位于硬件抽象层和执行程序之间,以提供多处理器同步,线程和中断调度和调度,以及陷阱处理和异常调度。内核还负责在启动时初始化设备驱动程序。内核模式驱动程序分为三个级别:最高级驱动程序,中级驱动程序和低级驱动程序。 Windows驱动程序模型(WDM)存在于中间层,主要设计为Windows 98和Windows 2000之间的二进制和源兼容。最低级驱动程序是直接控制设备的旧版Windows NT设备驱动程序,或者可以是插件和播放(PnP)硬件总线。
Windows API——Wiki
Windows操作系统应用程序接口(Windows API),是微软对于Windows操作系统中可用的核心应用程序编程接口的称法。它被设计为各种语言的程序调用,也是应用软件与Windows系统最直接的交互方式。大多数驱动程序需要对Windows系统更底层次访问接口,由所用版本的Windows的 Native API
来提供接口。
Windows有一个软件开发包(SDK, software development kit)提供相应的文档和工具,以使程序员开发使用Windows API的软件和利用Windows技术。
Window API分类
类别 | 说明 | DLL |
---|---|---|
基础服务(Base Services) | Windows系统可用的基础资源的访问接口。 比如:文件系统(file system)、外部设备(device)、,进程(process)、线程(thread)以及访问注册表(Windows registry)和错误处理机制(error handling) |
16位kernel.exe、krnl286.exe或krnl386.exe 32位kernel32.dll和advapi32.dll |
图形设备接口(GDI) | 输出图形内容到显示器、打印机以及其他外部输出设备。 | 16位gdi.exe 32位gdi32.dll |
图形化用户界面(GUI) | 创建和管理屏幕和大多数基本控件(control)。 比如按钮和滚动条。接收鼠标和键盘输入,以及其他与GUI有关的功能 |
16位user.exe 32位user32.dll Windows XP之后分割出comctl32.dll中 |
通用对话框链接库(Common Dialog Box Library) | 为应用程序提供标准对话框。 比如打开/保存文件对话框、颜色对话框和字体对话框等等 |
16位commdlg.dll 32位com |