文档详情

Windows操作系统体系结构一.ppt

发布:2017-06-15约8.14千字共47页下载文档
文本预览下载声明
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 硬件支持 使得执行体和设备驱动程序同硬件无关 实现手段:一组在多个体系结构上可移植的、同语义的接口 内核也有部分代码不具有移植性 支持虚拟8086模式的代码,用以运行一些古老的16位DOS程序 高速缓存管理 描述表切换 内核 Windows操作系统体系结构 * 执行体 Windows操作系统体系结构 执行体(Executive)是NTOSKRNL.EXE的上层 执行体应该从两种角度来理解: 1.执行体提供了一组函数调用 2.执行体本身由若干组件组成 * 执行体 提供的函数调用 从用户态导出并且可以调用的函数。这些函数的接口在NTDLL.DLL中。通过Win32API或一些其他的环境子系统可以对它们进行访问。 从用户态导出并且可以调用的函数,但当前通过任何文档化的子系统函数都不能使用。 在Windows DDK中已经导出并且文档化的核心态调用的函数。 在核心态组件中调用但没有文档化的函数。例如在执行体内部使用的内部支持例程。 组件内部的函数。 Windows操作系统体系结构 * 包含的功能实体 进程和线程管理器创建及中止进程和线程。对进程和线程的基本支持在Windows 2000内核中实现,而执行体给这些低级对象添加附加语义和功能。 虚拟内存管理器实现“虚拟内存”。内存管理器也为高速缓存管理器提供基本的支持。 安全引用监视器在本地计算机上执行安全策略。它保护了操作系统资源,执行运行时对象的保护和监视。 I/O管理器执行独立于设备的输入/输出,并进一步处理调用适当的设备驱动程序。 高速缓存管理器通过将最近引用的磁盘数据驻留在主内存中来提高文件I/O的性能,并且通过在把更新数据发送到磁盘之前将它们在内存中保持一个短的时间来延缓磁盘的写操作,这样就可以实现快速访问。 Windows 2000/XP操作系统体系结构 执行体 * 对象管理器:创建、管理以及删除Windows的执行体对象和用于代表操作系统资源的抽象数据类型,例如进程、线程和各种同步对象。 本地过程调用(LPC,Local Procedure Call)机制,在同一台计算机上的客户进程和服务进程之间传递信息。LPC是一个灵活的、经过优化的“远程过程调用”(RPC,Remote Procedure Call)版本。 一组广泛的公用运行时函数,例如字符串处理、算术运算、数据类型转换和完全结构处理。 执行体支持例程,例如系统内存分配(页交换区和非页交换区)、互锁内存访问和两种特殊类型的同步对象:资源和快速互斥体。 执行体 包含的功能实体 Windows操作系统体系结构 * NTDLL 子系统动态链接库 功能 提供系统调用入口 为子系统、子系统动态链接库、及其他本机映像提供内部支持函数 NTDLL也包含许多支持函数,例如映像加载程序、堆管理器和Win32子系统进程通信函数以及通用运行库。 用户态异步过程调用(APC)调度器和异常调度器。 Windows操作系统体系结构 * 环境子系统 将基本的执行体系统服务的某些子集以特定的形态展示给应用程序 三种环境子系统:POSIX、OS/2和Win32(OS/2 只能用于x86系统) Win32子系统必须始终处于运行状态,其他两个子系统只是在需要时才被启动,Win32子系统是Windows运行的基本条件之一。 函数调用不能在不同子系统之间混用,因此每一个可执行的映像都受限于唯一的子系统 Windows操作系统体系结构 * Win32子系统 Win32环境子系统进程(CSRSS.EXE): 包括对下列功能的支持:控制台(文本)窗口、创建及删除进程与线程、支持16位DOS虚拟机(VDM)进程的部分。 Win32子系统动态链接库(User32.dll、Kernel32.dll、GDI32.dll),将文档化的Win32 API函数转化为适当的非文档化的核心系统服务(调用NTOSKRNL.EXE和WIN32.SYS) 核心态设备驱动程序(WIN32K.SYS): 窗口管理器(User): 控制窗口显示,管理屏幕输出,实现用户界面 图形设备接口(GDI,Graphics Device Interfaces) 图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打印机驱动程序和视频小型端口驱动程序。 环境子系统 Windows操作系统体系结构 * 环境子系统 Win32子系统 Win32 应用程序 (client) CSRSS (server) Win32子系统DLL 子系统动态链接库(NTDLL) 用户态 核心态 WIN32K.SYS LPC机制 Windows操作系统体系结构 * 环境子系统 当一个应用程序调用子系统
显示全部
相似文档