深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 第四章 管理机制 (一)
2009-05-30 18:17
501 查看
第四章 管理机制
好久没有更新这个读书笔记了。不是因为不想看了,而是因为这段时间比较忙,另一方面因为第三章的内容确实晦涩难懂。花了很长时间看第三章的内容,还是收获很少,没法写读书笔记,甚而至于开始怀疑这本书的易读性。如果再坚持下去啃第三章,恐怕要失去信心,彻底放弃了。所以跳过了第三章,开始读第四章。
本章讲述了三种基本的管理机制:注册表、服务和Windows管理规范。
注册表
注册表是配置信息的存储仓库。但也是Windows内核和执行体所维护的内存数据结构的一个窗口。(以前使用Linux操作系统时,它的文件系统中有一个好像是叫proc的目录,这个目录下存放的文件,其内容是Linux内核中运行时变量值的快照。即查看这些文件的内容,即可知道一些特定内核变量的值。修改这些文件的内容,也就实时修改了内核变量的值。由此看来,Windows注册表也实现了类似的特性。)
查看和修改注册表
大部分注册表的设置都有一个对应的用户界面工具来完成。但有些高级设置必须直接修改注册表。Windows XP下修改注册表的工具是Regedit.exe。
注册表用法
注册表的读取,一般为三个时间点:
l 引导过程
l 登录过程
l 应用程序启动过程
当然在其他时间点上也可以读取注册表,典型的情况是应用程序响应注册表修改请求。
注册表的修改:
l 系统安装过程,会创建初始注册表。
l 应用程序安装过程,创建一些默认配置。
l 驱动程序安装过程。
l 用户通过用户界面修改设置。
有些应用程序会使用轮询(poll,书中译为“查询”,不够确切。)的方式不停的查询注册表内容。(这是低效率的做法,)正确的做法是使用RegNotifyChangeKey函数监听注册表变化,该函数会使调用线程进入等待状态。
(然而令我不解的是,很多Windows系统进程,也会轮询注册表。使用Sysinternals的Process Monitor工具,即可看到很多系统进程不停的查询注册表的键值,这包括lsass.exe,explorer.exe等进程。)
(Process Monitor是Regmon.exe和Filemon.exe合并起来的一个工具。这本书中不会提到Process Monitor,因为它是Sysinternals后来发布的。)
注册表数据类型
注册表的键(key):是一个容器,可以包含其他的键(子键)和值。类似于磁盘的目录。
注册表的值(value):存储的是数据。类似于磁盘上的文件。
注册表值的数据类型
其中的REG_LINK类型可以让一个键指向另一个键或值。
注册表的逻辑结构
(HKEY_PERFORMANCE_DATA不能通过regedit.exe访问到,只能通过API访问。)
好久没有更新这个读书笔记了。不是因为不想看了,而是因为这段时间比较忙,另一方面因为第三章的内容确实晦涩难懂。花了很长时间看第三章的内容,还是收获很少,没法写读书笔记,甚而至于开始怀疑这本书的易读性。如果再坚持下去啃第三章,恐怕要失去信心,彻底放弃了。所以跳过了第三章,开始读第四章。
本章讲述了三种基本的管理机制:注册表、服务和Windows管理规范。
注册表
注册表是配置信息的存储仓库。但也是Windows内核和执行体所维护的内存数据结构的一个窗口。(以前使用Linux操作系统时,它的文件系统中有一个好像是叫proc的目录,这个目录下存放的文件,其内容是Linux内核中运行时变量值的快照。即查看这些文件的内容,即可知道一些特定内核变量的值。修改这些文件的内容,也就实时修改了内核变量的值。由此看来,Windows注册表也实现了类似的特性。)
查看和修改注册表
大部分注册表的设置都有一个对应的用户界面工具来完成。但有些高级设置必须直接修改注册表。Windows XP下修改注册表的工具是Regedit.exe。
注册表用法
注册表的读取,一般为三个时间点:
l 引导过程
l 登录过程
l 应用程序启动过程
当然在其他时间点上也可以读取注册表,典型的情况是应用程序响应注册表修改请求。
注册表的修改:
l 系统安装过程,会创建初始注册表。
l 应用程序安装过程,创建一些默认配置。
l 驱动程序安装过程。
l 用户通过用户界面修改设置。
有些应用程序会使用轮询(poll,书中译为“查询”,不够确切。)的方式不停的查询注册表内容。(这是低效率的做法,)正确的做法是使用RegNotifyChangeKey函数监听注册表变化,该函数会使调用线程进入等待状态。
(然而令我不解的是,很多Windows系统进程,也会轮询注册表。使用Sysinternals的Process Monitor工具,即可看到很多系统进程不停的查询注册表的键值,这包括lsass.exe,explorer.exe等进程。)
(Process Monitor是Regmon.exe和Filemon.exe合并起来的一个工具。这本书中不会提到Process Monitor,因为它是Sysinternals后来发布的。)
注册表数据类型
注册表的键(key):是一个容器,可以包含其他的键(子键)和值。类似于磁盘的目录。
注册表的值(value):存储的是数据。类似于磁盘上的文件。
注册表值的数据类型
Value Type | Description |
REG_NONE | No value type. |
REG_SZ | Fixed-length Unicode string. |
REG_EXPAND_SZ | Variable-length Unicode string that can have embedded environment variables. |
REG_BINARY | Arbitrary-length binary data. |
REG_DWORD | 32-bit number. |
REG_DWORD_LITTLE_ENDIAN | 32-bit number, with low byte first. This is equivalent to REG_DWORD. |
REG_DWORD_BIG_ENDIAN | 32-bit number, with high byte first. |
REG_LINK | Unicode symbolic link. |
REG_MULTI_SZ | Array of Unicode NULL-terminated strings. |
REG_RESOURCE_LIST | Hardware resource description. |
REG_FULL_RESOURCE_DESCRIPTOR | Hardware resource description. |
REG_RESOURCE_REQUIREMENTS_LIST | Resource requirements. |
REG_QWORD | 64-bit number. |
REG_QWORD_LITTLE_ENDIAN | 64-bit number, with low byte first. This is equivalent to REG_QWORD. |
REG_QWORD_BIG_ENDIAN | 64-bit number, with high byte first. |
注册表的逻辑结构
根键 | 缩写 | 说明 | 链接 |
HKEY_CURRENT_ USER | HKCU | 指向当前登录用户的轮廓 | HKEY_USERS下对应的子键 |
HKEY_USERS | HKU | 包含了所有已加载用户轮廓的子键 | 不是链接 |
HKEY_CLASSES_ ROOT | HKCR | 包含了文件关联和COM注册信息 | HKLM/SOFTWARE/Classes |
HKEY_LOCAL_ MACHINE | HKLM | 包含与系统有关的信息 | 不是链接 |
HKEY _CURRENT_ CONFIG | HKCC | 当前硬件配置 | HKLM/SYSTEM/CurrentControlSet/Hardware Profiles/ Current |
HKEY_PERFORMANCE_DATA | HKPD | 性能计数器 | 不是链接 |
相关文章推荐
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 第一章 概念和工具(二)
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 序言
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 第二章 系统结构 (三)
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 第一章 概念和工具(三)
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 第二章 系统结构 (一)
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 第二章 系统结构 (二)
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书备忘录
- 深入解析Windows操作系统(Windows Internals) 4th Edition 读书笔记 - 第一章 概念和工具(一)
- 《Fundamentals of Project Management 4th Edition》读书笔记 第一章 项目管理总览
- 《Fundamentals of Project Management 4th Edition》 读书笔记 第四章 为项目开发使命、远景和目标
- 《Fundamentals of Project Management 4th Edition》 读书笔记 第十二章 管理项目组
- 关于《Microsoft Windows Internals》(4th Edition)的翻译体会
- New Words From -- Microsoft Windows Internals 4th Edition
- 关于《Microsoft Windows Internals》(4th Edition)的翻译体会
- 关于《Microsoft Windows Internals》(4th Edition)的翻译体会
- [好书推荐] Microsoft Windows Internals (4th Edition)
- Windows线程管理和调度机制概述
- 全面介绍Windows内存管理机制及C++内存分配实例(四):内存映射文件
- 《C++ Primer 4th Edition》读书笔记 - Part IV: Object-Oriented and Generic Programming
- Microsoft Windows Internals 4th -- Chapter2 System Architecture