《操作系统》第7章NT内核Windows操作系统
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
7
图形引擎 图形引擎包括实现图形设备接口(Graphical Device Interface,GDI)的基本函数,包括线条、文本、绘图 和图形操作函数。应用程序调用标准的USER函数在显 示器上创建窗口和按钮,窗口管理器传递这些请求到 GDI,GDI再将这些请求传送给图形设备驱动程序,在 这里将按照显示设备的要求将其规格化。显示驱动程序 与视频小型端口驱动程序相配合来完成对视频显示的支 持。每个视频小型端口驱动程序都对与之相关的显示驱 动程序提供硬件级支持。 GDI提供了一组标准的函数,它使得应用程序可以同图 形设备通信而不必知道关于这些设备的任何事情。GDI 的各种函数在应用程序与图形设备之间起协调作用。 GDI解释应用程序对图形输出的要求,并把它们发送到 图形显示驱动程序。GDI也能够为应用程序提供使用不 同图形输出设备的标准接口,这个接口可以让应用程序 8 代码独立于硬件设备和硬件设备驱动程序。
环境子系统 环境子系统(Environment Subsystems)是一个用户态服务器, 为特定的操作系统提供一个API。如Win32子系统、16位 Windows环境子系统、MS-DOS环境子系统、OS/2环境子系统, POSIX环境子系统。Win32是唯一可见的环境子系统,用户可以 透明地运行Win32、16位Windows、MS-DOS、OS/2和POSIX程 序,给用户的感觉是NT内核WINDOWS操作系统可以运行几乎所 有的应用程序。 Win32子系统主要部件: ①Win32子系统进程CSRSS。 ②一些函数,如Gettempfile、Definedosdevice、ExitWindowsFx 和几种自然语言支持函数。 ③核心态设备驱动程序Win32k.sys。包括窗口管理器控制窗口显 示,管理屏幕输出。 ④子系统动态链接库(如User32.dll、Advapl32.dll、Gdi32.dll和 Kernel32.d11),它调用Ntoskrnl.exe和Win32.sys将文档化的 Win32APl函数转化为适当的非文档化的核心系统服务。 ⑤图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打 9 印机驱动程序和视频小型端口驱动程序。
操作系统原理
Principles of Operating System
7.1.1 NT内核Windows操作系统的特点 ⑴NT内核WINDOWS操作系统成功的关键是开放软件标 准和兼容性。兼容性是指该操作系统执行其他操作系统 环境下编写程序的能力(包括本系统的早期版本)。 NT内核WINDOWS操作系统支持多操作系统运行环境。 包括:MS-DOS、16位Windows、OS/2等。 ⑵NT内核WINDOWS操作系统符合POSIX,提供一个 POSIX应用程序的执行环境。POSIX(Portable Operating System Interface for Computing Systems) 是面向计算环境可移植操作系统接口,POSIX由美国电 气电子工程师学会IEEE和ISO/IEC开发的标准系统。该 标准是基于现有的UNIX实践和经验,描述了操作系统 的调用服务接口,用于保证编制的应用程序可以在源代 码一级上在多种操作系统上移植运行。 ⑶NT内核WINDOWS操作系统可运行在多种硬件平台, 如Intel处理器、MIPS RISC处理器等。NT内核 WINDOWS操作系统采用目前流行的图形用户界面和 Win32应用程序接口子集。 2
6
2.核心态组件 如图7-1所示,核心态组件包括以下内容: ①内核(kernel),它包含最低层操作系统的功能,如 线程调度,中断和异常处理,多处理机同步等。 ②执行体(Executive),它包含基本操作系统服务,如 进程和线程管理器,虚拟存储器、对象管理器、安全监 视器、本地过程调用等。 ③硬件抽象层HAL(Hardware Abstraction Layer), HAL将内核、设备驱动程序、执行体同硬件分隔开来, 以适应多种硬件平台。 ④设备驱动程序(device drivers),它包括文件系统和 硬件设备驱动程序,硬件设备驱动程序将用户的I/O函 数调用转换为对特定硬件的I/O请求。 ⑤图形引擎,它包括实现图形用户接口(Graphical User Interface,GUI)的基本函数。
3
ຫໍສະໝຸດ Baidu
NT内核操作的系统结构 ⑴层次结构。NT内核WINDOWS操作系统具有层次结构,但层次 间的界线并不那么清晰,有许多模块实际上跨越了两个或多个层 次。 ⑵客户/服务器结构。 在NT内核WINDOWS操作系统中采用了两种客户/服务器模式。 ①网络环境下的C/S模式。客户主要是驻留在网络工作站中,而 服务器程序则驻留在网络服务器中。 ②本地机环境下的C/S模式,NT内核可分成两部分,一部分是用 于提供各种服务的一组服务器进程;另一部分是内核,它用于处 理客户和服务器之间的通信。 ⑶微内核结构 NT内核WINDOWS操作系统还引入了微内核结构,即在NT内核 核心程序的下面有一个紧凑的微内核,⑷对象模型 面向对象(Object)技术是基于“抽象”和“隐蔽”原则来控制 大型软件的复杂度的。所谓的对象,是指在现实世界里具有相同 属性、服从相同规则的一系列事物的抽象。“隐蔽”是指利用被 封装的数据结构和一组对它操作的过程(函数),来表示系统中 的某个对象。NT内核WINDOWS操作系统将所有的资源都看成对 象,NT内核的服务大部分是对象服务。
⑷NT是32位的多任务操作系统,克服了DOS的 640KB的瓶颈限制。支持对称多CPU,支持多线 程。 ⑸NT内核WINDOWS操作系统支持多重文件系统 与异步I/O以及采用面向对象的软件开发技术。 多重文件系统包括:MS-DOS的FAT16/32、OS/2 的高性能文件系统HPFS、CDFS、NTFS。NTFS 支持大容量外存。 ⑹ NT内核WINDOWS操作系统内置网络功能, 支持分布式计算和互操作性。NT内核WINDOWS 操作系统采用先进的操作系统结构,客户/服务 器模式、微内核结构、对象模型等。 ⑺安全可靠,安全性达到美国政府C2级安全标准。
4
7.2 NT内核Windows操作系统的体系结构
5
1.用户态进程的类型 如图7-1所示,用户态进程有四种基本类型: ①系统支持进程,如登陆进程Winlogin。 ②服务进程,如事件日志服务。 ③用户应用程序,它们是Win32、16位Windows、MSDOS、OS/2或POSIX五种应用程序之一。 ④环境子系统,负责向应用程序提供运行环境,NT内 核WINDOWS操作系统提供以下几种运行环境:Win32、 OS/2和POSIX、16位Windows、MS-DOS。 服务进程和用户应用程序是不能直接调用操作系统核心 服务,必须通过子系统动态链接库(subsystem DLL) 和系统交互。子系统动态链接库的作用是将文档化函数 转换为Windows XP/Server 2003内部系统调用。
图形引擎 图形引擎包括实现图形设备接口(Graphical Device Interface,GDI)的基本函数,包括线条、文本、绘图 和图形操作函数。应用程序调用标准的USER函数在显 示器上创建窗口和按钮,窗口管理器传递这些请求到 GDI,GDI再将这些请求传送给图形设备驱动程序,在 这里将按照显示设备的要求将其规格化。显示驱动程序 与视频小型端口驱动程序相配合来完成对视频显示的支 持。每个视频小型端口驱动程序都对与之相关的显示驱 动程序提供硬件级支持。 GDI提供了一组标准的函数,它使得应用程序可以同图 形设备通信而不必知道关于这些设备的任何事情。GDI 的各种函数在应用程序与图形设备之间起协调作用。 GDI解释应用程序对图形输出的要求,并把它们发送到 图形显示驱动程序。GDI也能够为应用程序提供使用不 同图形输出设备的标准接口,这个接口可以让应用程序 8 代码独立于硬件设备和硬件设备驱动程序。
环境子系统 环境子系统(Environment Subsystems)是一个用户态服务器, 为特定的操作系统提供一个API。如Win32子系统、16位 Windows环境子系统、MS-DOS环境子系统、OS/2环境子系统, POSIX环境子系统。Win32是唯一可见的环境子系统,用户可以 透明地运行Win32、16位Windows、MS-DOS、OS/2和POSIX程 序,给用户的感觉是NT内核WINDOWS操作系统可以运行几乎所 有的应用程序。 Win32子系统主要部件: ①Win32子系统进程CSRSS。 ②一些函数,如Gettempfile、Definedosdevice、ExitWindowsFx 和几种自然语言支持函数。 ③核心态设备驱动程序Win32k.sys。包括窗口管理器控制窗口显 示,管理屏幕输出。 ④子系统动态链接库(如User32.dll、Advapl32.dll、Gdi32.dll和 Kernel32.d11),它调用Ntoskrnl.exe和Win32.sys将文档化的 Win32APl函数转化为适当的非文档化的核心系统服务。 ⑤图形设备驱动程序,包括依赖于硬件的图形显示驱动程序、打 9 印机驱动程序和视频小型端口驱动程序。
操作系统原理
Principles of Operating System
7.1.1 NT内核Windows操作系统的特点 ⑴NT内核WINDOWS操作系统成功的关键是开放软件标 准和兼容性。兼容性是指该操作系统执行其他操作系统 环境下编写程序的能力(包括本系统的早期版本)。 NT内核WINDOWS操作系统支持多操作系统运行环境。 包括:MS-DOS、16位Windows、OS/2等。 ⑵NT内核WINDOWS操作系统符合POSIX,提供一个 POSIX应用程序的执行环境。POSIX(Portable Operating System Interface for Computing Systems) 是面向计算环境可移植操作系统接口,POSIX由美国电 气电子工程师学会IEEE和ISO/IEC开发的标准系统。该 标准是基于现有的UNIX实践和经验,描述了操作系统 的调用服务接口,用于保证编制的应用程序可以在源代 码一级上在多种操作系统上移植运行。 ⑶NT内核WINDOWS操作系统可运行在多种硬件平台, 如Intel处理器、MIPS RISC处理器等。NT内核 WINDOWS操作系统采用目前流行的图形用户界面和 Win32应用程序接口子集。 2
6
2.核心态组件 如图7-1所示,核心态组件包括以下内容: ①内核(kernel),它包含最低层操作系统的功能,如 线程调度,中断和异常处理,多处理机同步等。 ②执行体(Executive),它包含基本操作系统服务,如 进程和线程管理器,虚拟存储器、对象管理器、安全监 视器、本地过程调用等。 ③硬件抽象层HAL(Hardware Abstraction Layer), HAL将内核、设备驱动程序、执行体同硬件分隔开来, 以适应多种硬件平台。 ④设备驱动程序(device drivers),它包括文件系统和 硬件设备驱动程序,硬件设备驱动程序将用户的I/O函 数调用转换为对特定硬件的I/O请求。 ⑤图形引擎,它包括实现图形用户接口(Graphical User Interface,GUI)的基本函数。
3
ຫໍສະໝຸດ Baidu
NT内核操作的系统结构 ⑴层次结构。NT内核WINDOWS操作系统具有层次结构,但层次 间的界线并不那么清晰,有许多模块实际上跨越了两个或多个层 次。 ⑵客户/服务器结构。 在NT内核WINDOWS操作系统中采用了两种客户/服务器模式。 ①网络环境下的C/S模式。客户主要是驻留在网络工作站中,而 服务器程序则驻留在网络服务器中。 ②本地机环境下的C/S模式,NT内核可分成两部分,一部分是用 于提供各种服务的一组服务器进程;另一部分是内核,它用于处 理客户和服务器之间的通信。 ⑶微内核结构 NT内核WINDOWS操作系统还引入了微内核结构,即在NT内核 核心程序的下面有一个紧凑的微内核,⑷对象模型 面向对象(Object)技术是基于“抽象”和“隐蔽”原则来控制 大型软件的复杂度的。所谓的对象,是指在现实世界里具有相同 属性、服从相同规则的一系列事物的抽象。“隐蔽”是指利用被 封装的数据结构和一组对它操作的过程(函数),来表示系统中 的某个对象。NT内核WINDOWS操作系统将所有的资源都看成对 象,NT内核的服务大部分是对象服务。
⑷NT是32位的多任务操作系统,克服了DOS的 640KB的瓶颈限制。支持对称多CPU,支持多线 程。 ⑸NT内核WINDOWS操作系统支持多重文件系统 与异步I/O以及采用面向对象的软件开发技术。 多重文件系统包括:MS-DOS的FAT16/32、OS/2 的高性能文件系统HPFS、CDFS、NTFS。NTFS 支持大容量外存。 ⑹ NT内核WINDOWS操作系统内置网络功能, 支持分布式计算和互操作性。NT内核WINDOWS 操作系统采用先进的操作系统结构,客户/服务 器模式、微内核结构、对象模型等。 ⑺安全可靠,安全性达到美国政府C2级安全标准。
4
7.2 NT内核Windows操作系统的体系结构
5
1.用户态进程的类型 如图7-1所示,用户态进程有四种基本类型: ①系统支持进程,如登陆进程Winlogin。 ②服务进程,如事件日志服务。 ③用户应用程序,它们是Win32、16位Windows、MSDOS、OS/2或POSIX五种应用程序之一。 ④环境子系统,负责向应用程序提供运行环境,NT内 核WINDOWS操作系统提供以下几种运行环境:Win32、 OS/2和POSIX、16位Windows、MS-DOS。 服务进程和用户应用程序是不能直接调用操作系统核心 服务,必须通过子系统动态链接库(subsystem DLL) 和系统交互。子系统动态链接库的作用是将文档化函数 转换为Windows XP/Server 2003内部系统调用。