2009.12清华大学出版社计算机操作系统基础与应用第1篇操作系统原理第2篇WindowsXP基础与实训第3篇Linux基础与实训第4章WindowsXP入门第5章WindowsXP的管理工具与系统结构第6章WindowsXP的资源管理功能第7章WindowsVista入门第5章WindowsXP的管理工具与系统结构本章重点介绍WindowsXP的系统结构。Windows内部的许多细节可以利用各种实用工具来查看和证实。在WindowsXP中有一套现成的工具,在第4章中已经介绍了其中与用户界面紧密相关的一部分工具,本章再介绍4个有用的工具:注册表编辑器、任务管理器、事件查看器和性能监视器。学会使用这些工具,将有助于对WindowsXP内部结构的理解和日常更好地发挥WindowsXP的作用。5.1注册表机制注册表包含了引导和配置系统所需的信息、控制Windows操作的系统范围软件设置、安全数据库,以及各个用户的配置设定。同时,注册表是反映内存中易失数据的窗口,从中可以观察硬件当前状态和性能计数器信息。对注册表的改动必须十分小心,这里介绍注册表,只是为了后面通过查看注册表来加深对Windows系统结构的理解。5.1.1注册表逻辑结构键是注册表的主要成分,每个键对应一个键值,还可以包含若干下一级键(也称为子键)。一个键值包含若干项,每个项有名称、类型和数据。键组成了注册表的层次结构,顶级的键称为根键。键在键名和路径的表示方面类似于文件。注册表有5个根键,分别存储一个方面的各种信息(见表5-1)。其中的HKCC、HKCR和HKCU是链接根键,链接到别的键。表5-1注册表的根键根键名缩写存储的信息HKEY_CLASSES_ROOTHKCR文件关联和组件对象模型的对象注册信息HKEY_CURRENT_USERHKCU与当前登录用户有关的信息HKEY_LOCAL_MACHINEHKLM与系统有关的信息HKEY_USERHKU本台机器上所有账号的信息HKEY_CURRENT_CONFIGHKCC与当前硬件配置有关的信息HKLM包含系统范围内的配置子键(见表5-2)。而子键下还有键值和下一层子键,如此逐层下去,构成一棵HKLM树。其他根键也类似。这些树统称为注册表树。HKU包含了系统上加载的各个用户配置文件和用户类注册数据库的子键,还包含了名为HKU\.DEFAULT的子键,链接到默认工作站配置文件。表5-2HKLM的子键子键名包含信息\HARDWARE系统范围的硬件描述和所有硬件设备-驱动器的映射\SAM本地账号和组信息\SECURITY系统范围内的安全策略和用户权限分配\SOFTWARE系统初启时不需要的系统范围的配置信息,第三方应用程序的系统范围设置\SYSTEM系统初启时需要的系统范围的配置信息HKCU包含了当前本地登录用户的参数和软件配置数据,HKCU链接到HKU中的与当前登录用户对应的子键。HKCR包含的各个用户类注册信息来自HKCU\SOFTWARE\Classes,系统范围的类注册信息来自HKLM\SOFTWARE\Classes。HKCC中包含的当前硬件配置信息则来自HKLM\SYSTEM\CurrentControlSet\HardwareProfiles\Current。5.1.2注册表数据类型键值可采用的数据类型如表5-3所示,其中常用的有REG_DWORD、REG_BINARY、REG_SZ和REG_LINK。REG_DWORD类型的键值可以存储数字和布尔值;REG_BINARY类型的键值可以存储大于32位的数字或原始数据,如加密口令;REG_SZ键值存储文件名、路径和类型等字符串;REG_LINK十分有用,它允许一个键值透明地指向另一个键或键值,这就使得一个键值可以有多条检索路径。表5-3注册表的键值类型键值类型说明REG_NONE无键值类型REG_SZ以null结束的定长unicode字符串REG_EXPAND_SZ以null结束的可变长unicode字符串REG_BINARY任意长二进制数据REG_DWORD32位数REG_DWORD_LITTLE_ENDIAN32位数,低位字节在前。等价于REG_DWORDREG_DWORD_BIG_ENDIAN32位数,高位字节在前REG_LINKunicode符号链接REG_MULTI_SZ以null结束的unicode字符串数组REG_RESOURCE_LISAT硬件资源列表REG_FULL_RESOURCE_DESCRIPTOR硬件资源描述REG_RESOURCE_REQUIREMENTS_LIST资源需求列表5.1.3注册表编辑器利用WindowsXP提供的注册表编辑器regedit,可以操作注册表。在WindowsXP中也可用regedt32,但它实际上直接调用了regedit。注册表编辑器的窗口的菜单栏和状态栏之间的区域分两个部分,左面是键导航树,右面是键值显示框(见图5-1)。图5-1注册表编辑器的窗口下面举例说明注册表编辑器的使用方法。【例5.1】启动注册表编辑器单击“开始”菜单中的“运行”项,在“打开(O):”左边的编辑框中输入“regedit”,然后单击“确定”按钮就启动了注册表编辑器。【例5.2】查看环境变量环境变量是WindowsXP的重要参数,控制着程序的多种行为。例如,Path指定了系统文件夹,TEMP指定临时文件存放位置,Windir则给出了WindowsXP的系统安装文件夹。要查看环境变量,可以如下操作:①启动注册表编辑器。②在左面的键导航树中依次展开HKLM、SYSTEM、CurrentControlSet、Control和SessionManager各层键,单击Enviroment。③在右面的键值显示框中就能看到全部环境变量的值。例如,系统目前实际配置的处理器数就记录在NUMBER_OF_PROCESSORS项上(见图5-2)。图5-2在regedit中看到的的HKLM树(未完全展开)【例5.3】查看显卡的信息显卡的信息包括显卡名、显卡驱动程序和显卡配置参数等。要查看这些信息,可按如下步骤进行:①启动注册表编辑器。②在左面的键导航树中依次展开HKLM、HARDWARE和DEVICEMAP,然后单击VIDEO,右面键值显示框中(见图5-3)的\Device\Video0项的值就是显卡信息存放的位置。值\REGISTRY\Machine\System\ControlSet001\Services\ialm\Device0中的REGISTRY是指注册表,Machine指HKLM。图5-3在注册表编辑器中看到的VIDEO键值③再进行类似②那样操作,查看HKLM\System\ControlSet001\Services\ialm\Device0子键内容,右面键值显示框中DeviceDescription项的值就是显卡名(见图5-4)。图5-4在注册表编辑器中看到的显卡名④在HKLM\System\ControlSet001\Services\ialm的键值中,ImagePath项的值就是显卡驱动程序(见图5-5)。图5-5在注册表编辑器中看到的显卡驱动程序名⑤沿着路径HKLM\System\CurrentControlSet\HardwareProfiles\Current\System\CurrentControlSet\SERVICES逐层展开,可以看到②中得到的\Device\Video0项值对应的子键ialm\Device0,单击这个子键,就可在键值显示框中看到显卡配置参数。如水平分辨率(DefaultSettings.XResolution)和每像素位数(DefaultSettings.BitsPerPel)等(见图5-6)。图5-6在注册表编辑器中看到的显卡配置参数【例5.4】设置注册表安全属性利用注册表编辑器可以对注册表进行安全设置,限制某些用户对注册表的访问权限,提高注册表的安全性。步骤如下:①单击要在其上进行安全设置的键,再单击“编辑”菜单中的“权限…”,则弹出设置权限对话框;②可在里面添加、删除或修改用户对指定键的权限。【例5.5】远程管理注册表注册表编辑器还提供了远程管理注册表功能。当有足够的权限时,可如下操作:①单击“文件”菜单中的“连接网络注册表”,则弹出“选择计算机”对话框;②在其中选择想要对其进行操作的计算机,然后单击“确定”。5.1.4注册表内部结构1.储箱和储箱文件在WindowsXP内部,注册表对应多个文件,每个文件对应一个储箱(hive),每个储箱包含一个注册表树,但这里的注册表树并不与注册表编辑器显示的根键一一对应。通过注册表编辑器可以看到储箱及其对应文件(称为储箱文件)的列表,这只要单击HKLM\SYSTEM\CurrentControlSet\Control\hivelist子键即行。图5-7从注册表编辑器可以看到储箱对应的文件在图5-7显示的注册表编辑器界面上,键值显示框里列出了系统当前装载的各储箱的信息,名称列给出储箱(注册表子键),数据列给出储箱文件名(包括路径)。可以看到,其中有的储箱(例如HKLM\HARDWARE)没有对应的文件,这是“易失性储箱”,系统在内存中创建和管理它。常见的注册表键和储箱文件的对应关系见表5-4。表5-4注册表键与对应文件的路径注册表键的路径储箱文件的路径HKEY_LOCAL_MACHINE\SYSTEM\WINDOWS\System32\Config\SystemHKEY_LOCAL_MACHINE\SAM\WINDOWS\System32\Config\SamHKEY_LOCAL_MACHINE\SECURITY\WINDOWS\System32\Config\SecurityHKEY_LOCAL_MACHINE\SOFTWARE\WINDOWS\System32\Config\SoftwareHKEY_LOCAL_MACHINE\HARDWARE(易失性储箱)HKEY_LOCAL_MACHINE\SYSTEM\Clone(易失性储箱)HKEY_USERS\用户的安全ID\DocumentsandSettings\用户名\Ntuser.datHKEY_USERS\用户的安全ID_Classes\DocumentsandSettings\用户名\LocalSettings\ApplicationData\Microsoft\Windows\Usrclass.datHKEY_USERS\.DEFAULT\WINDOWS\System32\Config\Default2.配置管理器配置管理器是WindowsXP内部的一个实现注册表的子系统。它负责组织储箱文件,管理注册表,并且确保注册表始终处于可恢复状态。除开用户储箱文件(见表5-4中的第7、8行)外,其他所有储箱文件的路径都被编码在配置管理器中。配置管理器装载储箱时,就在HKLM\CurrentControlSet\Control\hivelist子键的键值中记下这每个储箱文件的路径,同时创建与这些储箱链接的根键,建立注册表编辑器显示的注册表结构。当卸下储箱时,配置管理器就删除其路径。为了有效地管理注册表,配置管理器采取了一系列措施,包括引入块(block)、单元(cell)和盒(bin)等管理单位,以及单元映射、名字空间稳态存贮等技术,并且进行了性能优化。5.2任务管理器任务管理器以图形和数据形式提供程序的运行状态、计算机性能的关键指示器、运行进程的活动、CPU和内存的使用情况。使用任务管理器,除了可以查看上述状态,还可以结束进程、结束正在运行或已停止响应的程序、启动新的程序、关闭计算机。此外,若正与网络连接,则可以查看网络状态,查看网络上其他用户及其活动,给其他用户发送消息。5.2.1任务管理器界面1.任务管理器界面组成要进入任务管理器主界面,可以按Ctrl+Alt+Del组合键,也可以右击任务栏空白处并在弹出的快捷菜单中单击“任务管理器”。任务管理器主界面由选项卡和菜单栏组成,选项卡