基于NT内核Windows操作系统.ppt
《基于NT内核Windows操作系统.ppt》由会员分享,可在线阅读,更多相关《基于NT内核Windows操作系统.ppt(49页珍藏版)》请在三一办公上搜索。
1、基于NT内核Windows操作系统,基于NT内核Windows操作系统,第8章基于NT内核Windows操作系统,8.1 基于NT内核Windows操作系统概述 8.2 基于NT内核Windows操作系统的体系结构 8.3 NT对象、进程和线程 8.4 NT处理机调度 8.5 NT虚拟存储管理 8.6 NT文件系统,8.1 基于NT内核Windows操作系统概述 8.2 基于NT内核Windows操作系统的体系结构 8.3 NT对象、进程和线程 8.4 NT处理机调度 8.5 NT虚拟存储管理 8.6 NT文件系统,第8章基于NT内核Windows操作系统 8.1 基于NT内,8.7 网络功能
2、 8.8 注册表,第8章基于NT内核Windows操作系统,8.7 网络功能 第8章基于NT内核Windows操作系统,8.1 基于NT内核Windows操作系统概述,8.1.1 基于NT内核Windows操作系统的特点,1. 是开放软件标准和兼容性。2. 符合POSIX,提供一个POSIX应用程序的执行环境。3. 可运行在多种硬件平台。4. NT是32位的多任务操作系统,支持对称多CPU, 支持多线程。5. 支持多重文件系统与异步I/O以及采用面向对象 的软件开发技术。6. 内置网络功能,支持分布式计算和互操作性。7. 安全可靠,安全性达到美国政府C2级安全标准。,8.1 基于NT内核Win
3、dows操作系统概述 8.1.1,8.1.2 基于NT内核Windows操作系统性能简介,1. 基于NT内核Windows操作系统的内存模式 。2. 进程、线程和任务管理。3. 抢占式调度方式。4. 基于NT内核WINDOWS操作系统的安全性。5. 支持Internet 。6. NT内核操作的系统结构。 7. 对称多处理模式。,8.1.2 基于NT内核Windows操作系统性能简介1.,8.1.3常用的基于NT内核的服务器操作系统简介,1.WINNT 4.0 优点:操作直观,易于使用,功能实用,安全性能比较好。 缺点:运行速度慢,功能不够完善,当进行超出系统处理能力的多项并发处理时,单个线程的
4、不响应将会系统由于不堪重负产生死机现象,需要对服务器进行重启操作。 2Win2000/Advanced Server 优点:操作直观,易于使用,功能随着时代的发展具有大幅的提升,管理更加全面,相对以前版本,当单个线程不响应时,其它线程的处理仍然可以继续进行,系统无需重启。 缺点:运行速度虽然较以前版本有不小的提升,但仍不能满足用户的需求;由于是在原有完整NT内核的基础上对所有的高端功能应用进行开发的,系统的稳定与安全性有部分的削弱;现在Microsoft已停止对Win2000系列服务器进销售与升级服务支持。 3Win2003/Advanced Server 优点:操作易用性是除了XP以外最人性
5、化的版本,安全性是目前为止Windows全系列服务器产品中最好的,线程处理速度跟随硬件的发展有不小的提升,管理能力也有不小的提升,是目前Windows服务器中的主流产品。 缺点:安全性能仍有待更加完善,由于管理功能的增加,需要处理的线程更加繁杂,如果使用同样的硬件,2000系列比2003系列产品在处理速度上会稍快。,8.1.3常用的基于NT内核的服务器操作系统简介1.WINN,8.2.1 基于NT内核Windows操作系统的体系结构,8.2 基于NT内核Windows操作系统的体系结构,8.2.1 基于NT内核Windows操作系统的体系,8.2.2核心态组件功能简介,1.执行体 从功能上看,
6、执行体包含的基本服务如下:进程和线程管理器、虚拟存储器、对象管理器、设备管理器、文件系统、注册表配置管理器、电源管理器、安全监视器、本地过程调用等。2.内核 内核是执行体的下一个层次,它为执行体提供一些最基本的功能、简单的对象,而执行体就通过在这些简单对象上加上一些安全属性,控制属性等来完成更为复杂的功能。内核提供了一个低层次的系统原语和机制供执行体来调用以实现其功能。内核只是提供了底层的机制,而不做任何策略性的事务。但线程的调度和异常处理是在内核中实现的,内核永远都运行在核心态,8.2.2核心态组件功能简介1.执行体,3.硬件抽象层HAL 硬件抽象层HAL(Hardware Abstract
7、ion Layer)将内核、设备驱动程序、执行体同硬件分隔,HAL隐藏各种与硬件有关的细节,如I/O接口、中断控制器、多处理机通信机制和依赖于硬件平台的函数等。HAL是基于NT内核的WINDOWS操作系统在多种硬件平台可移植性成为可能的关键技术。4.设备驱动程序 设备驱动程序(Device Drivers)是I/O系统与相关硬件之间的接口,将用户的I/O函数调用转换为对特定硬件的I/O请求。设备驱动程序是可加载的核心态模块,Windows XP/Server 2003的设备驱动程序不直接操作硬件,而是调用HAL功能作为与硬件的接口。 5.图形引擎,3.硬件抽象层HAL,8.3 NT对象、进程和
8、线程,8.3.1 NT对象与句柄 1.对象 :对象有两个部分,即对象头和对象体。对象头包含如下信息:对象名、对象目录、安全描述体、配额、打开句柄计数器、打开句柄数据库、内核/用户态、对象类型指针等。对象体的格式和内容随对象类而不同,对象体中列出对象类的属性。 2.句柄:Windows通过句柄识别每个窗体、控件、菜单和菜单项,当程序运行时,它所包含的每个部件都有一个惟一的句柄同其它的部件相区别,句柄在Windows API中具有举足轻重的作用。句柄是一种指向指针的指针。,8.3 NT对象、进程和线程 8.3.1 NT对象与句柄,8.3.2 NT进程,1.NT进程的组成进程是程序的一次动态执行过程
9、。NT进程主要组成如下: 进程标识(PID)。这是进程在系统中的惟一标识符。 一个可执行程序。它定义初始代码和数据,并映射到进程的 虚拟地址空间。 专用的虚拟地址空间。每一个进程都拥有专用的地址空间。 访问令牌(Access Token)。系统通过访问令牌识别运行该进程 的用户、所在的安全组及其特权级。 内核级多线程机制。一个进程可以有许多个线程,至少有一个 线程。没有线程,NT进程就无法运行。 系统资源,例如信号量、通信端口、文件等。它们是程序执行时, 由操作系统分配给该进程的。系统资源体现为对象表,每个进程 有一个对象表。,8.3.2 NT进程1.NT进程的组成,8.3.3 NT线程,线程
10、是进程内的一个执行单元,是进程内的一个可调度实体。 一个进程可以拥有若干个线程,这些线程并发地执行进程地址空间中的代码,与多进程执行相比,多线程具有以下优点: 多个相关线程共享进程的所有资源,如地址空间、打开的文件、对象等。 同一进程中的线程之间的通信可以通过直接读写进程的数据段来进行,而不必借助进程间的通信机制(IPC),当然在通信时仍然需要同步与互斥手段。 在同一进程内,线程的上下文切换比进程的上下文切换快得多。 从用户界面设计角度看,多线程也为交互式应用程序提供了良好的基础。,8.3.3 NT线程线程是进程内的一个执行单元,是进程内的一,8.4 NT处理机调度,8.4.1 NT处理机调度
11、的特点 基于NT内核的WINDOWS操作系统是抢占式线程级调度,其处理机调度具有以下特点: 多任务(多进程),多线程,对称多处理。 由于采用了客户/服务器模型,因此基于NT内核的操作系统体现为多个服务器进程,每个服务器进程使用多个线程来处理同时从多个客户来的请求。 NT进程均被对象实现,并通过对象服务访问,线程亦然。 NT进程中,基本的调度实体是线程而不是进程,采用动态优先级多级调度队列算法,抢占式线程级调度,但核心代码不可被抢占。 进程间共享对象的优越功能及灵活的内部进程通信能力,包括共享内存和优化信息传送工具。进程对象和线程对象都具有内部同步能力。,8.4 NT处理机调度 8.4.1 NT
12、处理机,8.4.2 NT线程状态,8.4.2 NT线程状态,就绪(ready)状态。线程已具备执行的条件,等待CPU调度。调度程序从就绪队列中选中的线程进入备用状态。 备用(standby)状态,处于备用状态的线程已被指定为某一个CPU下的一个执行对象。正进行描述表切换,以进入执行状态。系统中每个处理机上只能有一个处于备用状态的线程。 执行(running)状态,已完成描述表切换,线程进入执行状态。直到出现被抢先、时间片用完、线程终止或进入等待状态的情况为止。 等待(waiting)状态,线程正等待某事件。当等待事件出现时,等待结束,并根据优先级进入执行或就绪状态。以下情况线程进入等待状态:线
13、程等待同步对象,线程等待I/O,环境子系统导致线程将自己挂起。 转换(transition)状态,线程已结束等待状态,但线程的内核堆栈位于外存。当线程等待事件出现而它的内核堆栈处于外存时,线程进入转换状态。当线程内核堆栈被调回内存时,线程进入待调度就绪状态。 终止状态(Terminated):线程执行完毕就进入终止状态。一旦终止,由对象管理器来决定线程对象是否被删除,如果执行体有一指向线程对象的指针,它便可以将线程对象重新初始化,并再次使用它。 初始化状态(Initialized):线程创建过程中的线程状态。,就绪(ready)状态。线程已具备执行的条,基于NT内核的Windows操作系统实现
14、了一个基于优先级的抢先式多处理机调度系统。调度系统总是执行优先级最高的就绪线程。 基于NT内核的Windows操作系统在内核中实现它的线程调度代码,这些代码分布在内核中与调度相关事件出现的位置,并不存在一个单独的线程调度模块。内核中完成线程调度功能的这些函数统称为内核调度器(kernels dispatcher)。,8.4.3 NT线程调度,基于NT内核的Windows操作系统实现了一,基于NT内核的Windows操作系统线程调度算法采用动态优先级多级调度队列算法,每个线程有一个不高于进程基本优先级两级,不低于基本优先级两级范围为内的基本执行优先级,每个线程的动态优先级以线程的基本优先级为初始
15、值,随着进程所做的工作类型的不同而向上浮动。 NT是个抢先多任务方式的操作系统,如果一个较高优先级线程由就绪状态变为执行状态时,内核将中断或抢先其它线程的执行,被抢夺的线程将被给予照顾,放在所在优先级队列的第一个。内核不能被抢先,但内核的大部分是可被高级中断中断的。用来实现NT线程调度算法的中心数据结构是NT内核中的一个称为“调度程序数据库”(dispatcher database)的数据结构。,8.4.4 NT线程调度算法,基于NT内核的Windows操作系统线程调度,8.5.1 内存管理器 内存管理器是NT执行体的一部分,位于Ntoskrnl.exe文件中,内存管理器由以下几个部分组成:
16、一组执行体系统服务程序,用于虚拟内存的分配、回收和管理。这些服务大多数都是以Win32 API或核心态的设备驱动程序接口形式出现。 一个转换无效和访问错误陷阱处理程序,用于解决硬件检测到的内存管理异常,并代表进程将虚拟页面装入内存。,8.5 NT虚拟存储管理,8.5.1 内存管理器8.5 NT虚拟存储管理,运行在不同的核心态系统线程上下文中的几个关键组件: 工作集管理器(working set manager):优先级为16,工作集管理器每秒钟调用它一次,当空闲内存低于某一界限时,便启动所有的内存管理策略。 进程/堆栈交换程序(process/stack swapper):优先级为23,完成进
17、程和内核线程堆栈的换入和换出操作。 已修改页面写入器(modified page writer):优先级为17,将修改链表上的老页写回到适当的页文件。 映射页面写入器(mapped page writer):优先级为17,将映射文件中的老页写回磁盘。 废弃段线程(dereference segment thread):优先级为18,当没有任何一个区域对象、映射窗口指向某一个段,并且该段也没有原型页表项(prototype PTE)处于过渡状态之中时,废弃段线程注销该段。 零页线程(zero page thread):优先级为0,将空闲链表中的页面清零,以便有足够的零页面满足将来的零页需求。,运
18、行在不同的核心态系统线程上下文中的几个关键组件:,8.5.2 虚存空间的布局,8.5.2 虚存空间的布局,系统区按速度要求不同又分为三个部分,从快到慢依次为直接映射区,非页交换区和页交换区。直接映射区寻址由硬件直接变换,且常驻内存,存取数据快,用于NT内核中频繁使用,响应速度快的那些代码。 系统区低端的直接映射地址区(directly mapped addresses)具有三个特性: 该区中的内容永远不会按页交换出内存。 这一区域由硬件直接映射。 该区用于存放核心代码和数据中需要最好的性能的部分。例如在处理器中调度线程的那些代码。,系统区按速度要求不同又分为三个部分,从快到慢,8.5.3 进程
19、页表与地址变换机构,NT页表不同于传统页表,NT进程的页表采用二级页表机制,第一级称为页目录,第二级称为页表,页表的表目就是帧号。每个进程有一个页目录,在系统中有控制寄存器指出进程的页目录地址。每个页目录可包含1024个表目,每个页目录表目指出二级页表所在页表地址。第二级页表包含1024个表目,每个页表表目就是内存的帧号。,8.5.3 进程页表与地址变换机构 NT页表不同于传统页,基于NT内核Windows操作系统,快表TLB 每次地址变换都需要经过两次查询,一次是在页目录中找到正确的页表,另一次是在页表中找到正确的帧号。如果每次对虚拟地址的访问都做两次额外的内存查询,那么将使系统性能严重下降
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 NT 内核 Windows 操作系统
链接地址:https://www.31ppt.com/p-1714977.html