子樹
子樹
dows中的.INI文件,較全面、深入地介紹了Win dowsNT中的配置資料庫——登記項,最後就Win dows3.1的應用時,應用的setup程序像在Win
目錄
摘要:該文結合Windows中的.INI文件,較全面、深入地介紹了WindowsNT中的配置資料庫——登記項,最後就WindowsNT如何維護登記項的完整性加以討論。目前,許多Windows用戶升級到WindowsNT。Windows通過.INI文件來記錄系統運行參數,那麼,對於WindowsNT,它又是如何保證系統協調一致工作的呢?
登記項(registry)是WindowsNT配置資料庫——結構化的記錄集,它類似於Windows中的.INI文件。登記項提供了一個安全而統一的資料庫,在其中以分層格式存儲配置,而不像Windows那樣用大量的.INI文件。這樣,有助於簡化管理,使管理員易於在WindowsNT中使用管理工具提供本地或遠程服務。
1.登記項的使用
@@12A06700.GIF;圖1@@
WindowsNT組件以下述方法使用登記項。
硬體數據(ntdetect)啟動WindowsNT時,登記項接收易失硬體配置數據——計算機中檢測到的硬體信息。在基於X86的計算機上,NTDETECT.COM程序做這些事情。在基於RISC的計算機上,此信息從固件中抽取。
WindowsNT內核(NTOSKRNL)啟動期間,WindowsNT內核從登記項選取信息,包括要裝入什麼設備驅動程序,以及用什麼次序裝入,內核傳送回它自身的信息,例如版權號等。
設備驅動程序設備驅動程序也向登記項傳送數據,並從登記項接收裝入和配置參數。性能良好的設備驅動程序告訴登記項它在使用什麼系統資源,例如,硬體中斷或DMA通道。設備驅動程序還報告所發現的配置數據。
管理/配置工具WindowsNT還提供大量其它介面,允許管理員修改系統配置數據,例如ControlPanel、UserManager和WindowsNTSetup。
Setup程序為應用程序或硬體運行WindowsNTSetup程序或其它設置程序時,程序可以對登記項增加新的配置數據。
Win16應用程序WindowsNT為了與一些應用程序和相關工具(如setup程序)兼容也支持.INI文件。因為,一些應用程序(特別是16位Windows應用程序)現階段將繼續使用.INI文件。AUTOEXEC.BAT和CONFIG.SYS文件也將存在,以提供對MS-DOS和Windows3.1應用的兼容。當安裝一個基於Windows3.1的應用時,應用的setup程序像在Windows中一樣創建它自己的.INI文件或在WIN.INI或SYSTEM.INI文件中創建入口。但是,這些入口不能在登記項中升級,因為這些應用不知道如何訪問登記項。因此,基本的SYSTEM.INI、WIN.INI和WINFILE.INI文件在WindowsNT中放於根目錄下。
2.登記項的層次結構
@@12A06701.GIF;圖2@@
登記項以類似磁碟上的目錄和文件那樣的層次結構進行組織。
@@12A06702.GIF;表1@@
登記項與Windows中的.INI文件有許多相似之處。關鍵字類似於.INI文件中的小節,一個值項對應於.INI文件中小節里的一條設置項。然而,登記項可以包含次關鍵字,而.INI文件不支持小節的嵌套;登記項中的值項還可以包含可執行代碼,而在.INI文件中設置項只是簡單的串。同一台計算機上有多個用戶,登記項可以存儲每個用戶的特性,而.INI文件中卻不可能。
3.登記項子樹
登記項結構化為4個關鍵字子樹的集合。這些關鍵字包括每個計算機和每個用戶的配置信息。每個計算機信息包括安裝的軟硬體信息,以及特定計算機上的網路設置。每個用戶信息包括桌面設置、軟體選擇和印表機設置。訪問任何關鍵字都要通過以下4個子樹。
(1)HKEY-LOCAL-MACHINE
包括有關本地機器的所有配置信息。這個子樹不管哪個用戶登錄以及使用什麼軟體而保留相同。在這個子樹中的信息由應用程序、設備驅動程序和windowsNT操作系統使用,以確定本地機器的配置數據。其中部分信息用於引導WindowsNT。
HKEY-LOCAL-MACHINE關鍵字有5個次關鍵字——Hardware、SecurityAccountManager(SAM)、Security、Software和System。其中后4個次關鍵字都看作是配置元,因為,它們在\winnt-root\SYSTEM32\CONFIG目錄中有相應的文件。應用程序可以查詢所有5個關鍵字,但只可以對Software和System關鍵字增加信息。