《基于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 每次地址变换都需要经过两次查询,一次是在页目录中找到正确的页表,另一次是在页表中找到正确的帧号。如果每次对虚拟地址的访问都做两次额外的内存查询,那么将使系统性能严重下降
20、,因此大多数CPU在地址变换时运用了高速缓存技术。,快表TLB,8.5.4 虚存管理,8.5.4 虚存管理,页帧有以下六种状态。 有效(valid):该页帧正在被某个进程使用,有一个有效的页表项指向页帧。 零初始化(zeroed):该页帧处于空闲并已被初始化为零。分配给用户态进程必须是零初始化过的页帧,避免该用户态进程读以前进程的内存内容,达到C2级安全要求。 空闲(free):该页帧空闲,但没有被初始化。 备用(standby):该页帧被一个进程使用,但已被从该进程的工作集中删去。指向它的进程页表项处于无效状态,但有一个“过渡”标记。 更改(modified):这个状态只有一点与备用状态不同
21、,就是处于该状态的页帧已被使用它的进程修改过,而且还没有写到磁盘上。指向它的进程页表项处于无效状态,但有一个“过渡”标记。,页帧有以下六种状态。,坏页(bad):该页帧产生了奇偶校验错或其它硬件错误。 对后五种状态,页帧数据库把所有状态相同的页帧连接在一起,页帧数据库共形成五个链表:零初始化表、空闲表、备用表、更改表和坏页表。 每当发生缺页中断,首先看所需要的页帧是否在备用表或更改表中,若在则将该页帧从备用表或更改表中移出,进入到该进程的工作集中,不必在分配新的页。若不在如果需要的是一个零初始化页,则NT虚存管理程序总是试图在零初始化页表中取出第一页,如果这个表已空,则从空闲页表中取出页帧并对
22、该页帧进行零初始化,如果需要的不是零初始化页,就从空闲表中取出第一页。如果空闲表是空的,就从零初始化表中取页帧。若零初始化表和空闲表均为空,则使用备用表。,坏页(bad):该页帧产生了奇偶校验错或其它硬件错误,2.NT的页分配原则 NT采用请求调页存储管理,并使用预调页策略。当一个线程发生缺页中断时,NT虚存管理把所需页及它附近的一些页一起装入内存,称之为簇式请求调页。根据局部性理论,这种簇式策略可以使一个线程的缺页中断尽量减少到最少。 NT的页分配原则是按照“零初始化空闲状态物理页备用状态物理页更改状态物理页”的顺序分配。,2.NT的页分配原则,MS-DOS系统使用的是文件分配表(简称FAT
23、)文件系统。16位的FAT文件系统有很多缺点,包括内部文件碎片,2GB的大小限制以及缺少文件的访问保护等。32位FAT文件系统已经解决了大小和碎片的问题,但是与现代的文件系统相比较,它的性能和功能还是很弱。NTFS是很好的文件系统,它有很多的功能,包括文件恢复、安全、容错、超大文件和文件系统、多种数据流、稀疏文件、加密、日志记录、卷隐藏拷贝和文件压缩等。 NT支持多种文件系统,包括MS-DOS使用的文件分配表(FAT)、CDROM文件系统(CDFS)、OS/2使用的高性能文件系统(HPFS)以及NT文件系统(NTFS)。随着NT内核版本的更新,NTFS也随之更新。Windows XP/2003
24、仍然继续使用FATl6读取软盘和其它可移动媒介。尽管NTFS有许多优点,FAT32因其与Windows 9X的所用媒介的互操作性而继续起着重要作用。,8.6 NT文件系统,MS-DOS系统使用的是文件分配表(简称FAT)文件,8.6.1 NTFS概述NTFS的技术特点如下: 兼容性和可扩充性 可恢复性、可靠性和安全性 数据冗余、数据容错和RAID数据管理 功能强大,性能优越,支持超大容量外存介质 磁盘配额 总之,NTFS不但满足了其基本设计目标,如可恢复性、安全性和数据冗余与数据容错,而且还具有其它一系列高级特性,如多数据流、基于Unicode的名称、通用索引机制、动态坏簇重新映射、硬链接、文
25、件压缩、日志记录、磁盘配额、带区集、链接跟踪、加密、POSIX支持、碎片整理等。,8.6.1 NTFS概述,8.6.2 NTFS的卷和簇 1.卷 NTFS的基本实体是卷。卷是由Windows的逻辑磁盘管理器应用程序所创建的,它是基于逻辑磁盘分区的。一个磁盘可以有多个卷,一个卷也可以有多个磁盘,每个卷可以有自己独立的文件系统。 2.簇 NTFS与FAT一样,簇(cluster)是作为磁盘分配和回收的基本单元。一个簇的是由一些磁盘扇区组成的,扇区数是2的幂。NTFS在格式化时就设置了簇的大小。,8.6.2 NTFS的卷和簇,8.6.3 NTFS的数据结构,8.6.3 NTFS的数据结构,NTFS中
26、的文件并不是MS-DOS或者是UNIX系统的简单的字节流,它是一个结构化的对象,由多种属性组成。一个文件的每个属性是一个独立的字节流,这种字节流可以新建、删除、读取和写出。有一些属性是标准的,适用于所有的文件,包括文件名、创建时间以及说明访问控制的安全描述子。用户数据保存在数据属性中 。 NTFS的每个文件属性都保存在主文件表中(master file table,MFT)的一个或多个记录中,被称为常驻属性(resident attribute)。 NTFS的名称空间是根据目录层构成的。每个目录使用一个称为B+树的数据结构,用于保存该目录内的所有文件名称的一个索引。,NTFS中的文件并不是MS
27、-DOS或者是UNIX系统,8.6.4 NTFS日志文件 日志文件是在文件系统格式化时,用一个固定的最大尺寸来创建的。它有两个区域: 记录区域(logging area),它是日志记录的一个循环队列。 重启区域(restart area),它包含关联环境信息,如记录区域的位置,恢复期间NTFS启动读取操作的地方。事实上,重启区域有两个相关信息的副本,如果一个副本在崩溃中被损坏,那么恢复还是可能的。,8.6.4 NTFS日志文件,8.6.5 数据安全管理 1.磁盘容错技术 NTFS可支持RAID-0级、RAID-1级和RAID-5级,最常用的是5级,它能有效地提高磁盘系统的利用率,也能提高磁盘系
28、统的可靠性,降低每兆字节的存储费用,但要求有较多的系统内存。 2.高可用性集群系统 3.访问控制 访问控制是当前使用最广泛的系统安全保障技术之一,用于设定使用者的访问权限,为被访问对象设定访问许可权。在NTFS目录服务的每一个对象中,都使用了安全描述子来控制对对象的访问。在安全描述子的访问控制表(ACL)中包含有多个表项,每一表项规定了某一用户(组)对该对象的访问权限。访问权限可分为三类:第一类是作用于对象的全部属性,它允许或拒绝访问该对象的全部属性;第二类和第三类分别是作用于对象的一组属性和单一属性。,8.6.5 数据安全管理,8.7 网络功能 8.7.1网络协议 NT通过驱动程序来实现传输
29、协议。这些驱动程序可动态地装入或卸载,虽然有时需要在改变之后重启系统。NT有多个网络协议。1.服务器消息块SMB2.网络基本I/O系统NetBIOS3.网络BIOS扩展用户接口NetBEUI4.传输控制协议/因特网协议TCP/IP5.点到点隧道协议PPTP6.IPX/SPX协议7.基于Web的创建与版本协议WebDAV 8.AppleTalk协议,8.7 网络功能,8.7.2 域 域是用于对用户和计算机资源进行组织和管理的一个基本单位,域同时也是实现安全管理的基本单位。可利用不同的方式来构造一个域,如基于管理模式时,可为企业中的每个重要部门各建立一个域。又如,可基于地理模式为每个分区各建立一个
30、域。每个域都有自己的域名,可把域分成两类:一类是主域,其中含有用户信息和资源信息;另一类是资源域,它仅含有资源信息。通常的一个主域可包括以下几部分:主域控制器 (PDC)、后备域控制器(BDC)、服务器、网络工作站。,8.7.2 域,1.信任关系 信任关系总是涉及两个方面的域,一方是信任域,另一方是被信任域。信任域能够认识被信任域中的用户和账户,从而使被信任域中的用户能访问信任域中的资源。单向信任关系只允许被信任域中的用户去访问信任域中的资源,而双向信任关系,则允许两个域中的用户去访问对方域中的资源。单向信任(one-way trust)正如其名称所指的,域A被告之它可信任域B。然而,域B并不
31、信任A除非配置了这种信任关系。 2.用户账户 在NT网络中,把用户分为三类,即普通用户、用户组和管理员。凡要到NT网络上登录的用户,都必须有一个用户账户,在账户上存储有用户的许多信息,如用户名、用户口令、用户访问网络资源时的允许权限、账户的有效时间等。,1.信任关系,3.目录服务数据库 为了实现对用户(组)和计算机的管理,须为它们都建立账户,再把每一个账户都作为一个对象,存入主域控制器PDC目录服务数据库的安全账户管理(SAM)文件中。 在引入BDC后,必须保持BDC和PDC之间的同步,使BDC中的目录数据库中的数据,不断地随着PDC目录数据库中的数据做相应地改变。有两种实现同步的方法,一种是
32、实时同步,即只要在PDC目录数据库中的数据有变化,便立即把变化信息传送给BDC,以及时对BDC中的相应数据进行修改;另一种是非实时同步,这是只有在PDC目录数据库中的数据变化达到一定数量时,才把变化信息传送给BDC,对后者中的相应数据进行修改。,3.目录服务数据库,8.7.3 TCP/IP网络的名称解析 名称解析可将计算机名称转换成IP地址,如将转换成125.223.63.3。 WINS使用了动态主机配置协议(dynamic host-configuration protocol,DHCP)。DHCP可自动地更新地址配置WINS数据库,而无需用户或管理员的干预。当DHCP客户机开始时,会广播消
33、息discover。每个收到消息的DHCP服务器会用消息offer加以应答,它包括了客户所需要的IP地址和配置信息。客户选择一个配置,并向所选择的DHCP服务器发送一个请求消息。DHCP服务器用之前所给的IP地址和配置信息及地址租赁,来加以响应。这个租赁允许客户有权在给定时间内使用这个IP地址。当租赁时间用完一半时,客户会试图续租这个地址。如果不能续租,那么客户必须得到一个新地址。,8.7.3 TCP/IP网络的名称解析,8.8 注册表 8.8.1 注册表的作用 注册表是将原来保存到ini文件中的所有配置信息全部转移到其中,这些信息包括计算机系统和应用程序的配置信息,Windows系统与应用程
34、序的初始化信息,计算机硬件设备信息,以及各种状态信息和数据等。注册表中的信息具有特殊的数据形式,用户只有通过特定的注册表编辑器才能对其进行浏览和修改,而不能通过文本编辑器进行修改。这样就大大增强了系统的稳定性和安全性,避免了原来由于ini文件的损坏而造成的系统死机、崩溃等现象。,8.8 注册表,注册表的信息都是以相似性质为依据,按照层次结构来存放的。这样就简化了用户对注册表信息的浏览和管理操作,从而提高了系统查找信息的速度和系统管理员的工作效率。注册表允许系统管理员对硬件设备、硬件设备的驱动程序、系统参数和应用程序进行跟踪配置,通过修改注册表,管理员可以修改许多系统隐藏的参数来提高系统性能或是
35、对计算机进行个性化的配置。,注册表的信息都是以相似性质为依据,按照层次结构来存放,8.8.2注册表的概念 注册表是Windows的一个内部数据库,是一个巨大的树状分层的数据库。它容纳了应用程序和计算机系统的全部配置信息,系统和应用程序的初始化信息,应用程序和文档文件的关联关系,硬件设备的说明、状态和属性以及各种状态信息和数据。注册表中存放着各种参数,直接控制着Windows的启动、硬件驱动程序的装载以及一些Windows应用程序的运行,从而在整个Windows系统中起着核心作用。,8.8.2注册表的概念,8.8.3 注册表的结构,8.8.3 注册表的结构,基于NT内核Windows操作系统,在
36、Windows 2000/XP中,注册表含有5个根键, 这5个根键所存储的信息分别为: HKEY_CLASSES_ROOT 定义了系统中Windows所支持的文件类型标识和基本操作标识,是HKEY_LOCAL_MACHINESoftware的子项。此处存储的信息可以确保当使用Windows 资源管理器打开文件时,将打开正确的程序。即在HKEY_LOCAL_MACHINESoftwareClasses中或者在HKEY_LOCAL_USERSoftwareClasses中出现的值,如果该信息同时在两处出现,那么HKEY_LOCAL_USERSoftwareClasses拥有优先权。 HKEY_CL
37、ASSES_ROOT下的项可分为两类:一类是已经注册的各类文件的扩展名,这类子项都是以“.”加上扩展名命名的;另一类是各种文件类型的有关信息,这类子项是以字母开头的。,在Windows 2000/XP中,注册表含有,HKEY_CURRENT_USER 包含计算机上所有用户的配置文件的根目录。包括环境变量、桌面设置、网络连接、打印机和程序首选子项等信息。包含HKEY_CURRENT_USER是HKEY_USERS的子项。主要由.DEFAULT子项构成,新用户根据默认用户.DEFAULT子项的配置信息来生成自己配置文件。 HKEY_LOCAL_MACHINE 包含与本地计算机系统有关的信息,包括硬
38、件和操作系统数据,针对该计算机(对于任何用户)的配置信息。主要由HARDWARE、SAM、SECURITY、SOFTWARE、SYSTEM等项组成。 HKEY_USERS 定义了所有用户的信息,这些信息包括动态加载的用户配置文件和默认的配置文件。,HKEY_CURRENT_USER,HKEY_CURRENT_CONFIG 包含本地计算机在系统启动时所用的硬件配置文件信息,该信息用于配置某些设置,如要加载的应用程序和显示时要使用的背景颜色等。实际上是从两个注册表项创建而来的,即HKEY_LOCAL_MACHINESystem和HKEY_LOCAL_MACHINESoftware。因为此子树是动态创建的,因此修改它的内容没有什么实际意义。,HKEY_CURRENT_CONFIG,感谢聆听,感谢聆听,