- 相關(guān)推薦
Windows NT中的登記項(xiàng)及其完整性
@@12A06700.GIF;圖1@@Windows NT組件以下述方法使用登記項(xiàng)。
硬件數(shù)據(jù)(NTDETECT) 啟動Windows NT時(shí),登記項(xiàng)接收易失硬件配置數(shù)據(jù)——計(jì)算機(jī)中檢測到的硬件信息。在基于X86的計(jì)算機(jī)上,NTDETECT.COM程序做這些事情。在基于RISC的計(jì)算機(jī)上,此信息從固件中抽取。
Windows NT內(nèi)核(NTOSKRNL) 啟動期間,Windows NT內(nèi)核從登記項(xiàng)選取信息,包括要裝入什么設(shè)備驅(qū)動程序,以及用什么次序裝入,內(nèi)核傳送回它自身的信息,例如版權(quán)號等。
設(shè)備驅(qū)動程序 設(shè)備驅(qū)動程序也向登記項(xiàng)傳送數(shù)據(jù),并從登記項(xiàng)接收裝入和配置參數(shù)。性能良好的設(shè)備驅(qū)動程序告訴登記項(xiàng)它在使用什么系統(tǒng)資源,例如,硬件中斷或DMA通道。設(shè)備驅(qū)動程序還報(bào)告所發(fā)現(xiàn)的配置數(shù)據(jù)。
管理/配置工具 Windows NT還提供大量其它接口,允許管理員修改系統(tǒng)配置數(shù)據(jù),例如Control Panel、User Manager和Windows NT Setup。
Setup 程序 為應(yīng)用程序或硬件運(yùn)行Windows NT Setup程序或其它設(shè)置程序時(shí),程序可以對登記項(xiàng)增加新的配置數(shù)據(jù)。
Win16 應(yīng)用程序 Windows NT為了與一些應(yīng)用程序和相關(guān)工具(如setup程序)兼容也支持.INI文件。因?yàn),一些?yīng)用程序(特別是16位Windows應(yīng)用程序)現(xiàn)階段將繼續(xù)使用.INI文件。AUTOEXEC.BAT和CONFIG.SYS文件也將存在,以提供對MS-DOS和Windows 3.1應(yīng)用的兼容。當(dāng)安裝一個基于Windows3.1的應(yīng)用時(shí),應(yīng)用的setup程序像在Windows中一樣創(chuàng)建它自己的.INI文件或在WIN.INI或SYSTEM.INI文件中創(chuàng)建入口。但是,這些入口不能在登記項(xiàng)中升級,因?yàn)檫@些應(yīng)用不知道如何訪問登記項(xiàng)。因此,基本的SYSTEM.INI、WIN.INI和WINFILE.INI文件在Windows NT中放于根目錄下。
2.登記項(xiàng)的層次結(jié)構(gòu)
@@12A06701.GIF;圖2@@
登記項(xiàng)以類似磁盤上的目錄和文件那樣的層次結(jié)構(gòu)進(jìn)行組織。
@@12A06702.GIF;表1@@
登記項(xiàng)與Windows中的.INI文件有許多相似之處。關(guān)鍵字類似于.INI文件中的小節(jié),一個值項(xiàng)對應(yīng)于.INI文件中小節(jié)里的一條設(shè)置項(xiàng)。然而,登記項(xiàng)可以包含次關(guān)鍵字,而.INI文件不支持小節(jié)的嵌套;登記項(xiàng)中的值項(xiàng)還可以包含可執(zhí)行代碼,而在.INI文件中設(shè)置項(xiàng)只是簡單的串。同一臺計(jì)算機(jī)上有多個用戶,登記項(xiàng)可以存儲每個用戶的特性,而.INI文件中卻不可能。
3.登記項(xiàng)子樹
登記項(xiàng)結(jié)構(gòu)化為4個關(guān)鍵字子樹的集合。這些關(guān)鍵字包括每個計(jì)算機(jī)和每個用戶的配置信息。每個計(jì)算機(jī)信息包括安裝的軟硬件信息,以及特定計(jì)算機(jī)上的網(wǎng)絡(luò)設(shè)置。每個用戶信息包括桌面設(shè)置、軟件選擇和打印機(jī)設(shè)置。訪問任何關(guān)鍵字都要通過以下4個子樹。
(1)HKEY-LOCAL-MACHINE
包括有關(guān)本地機(jī)器的所有配置信息。這個子樹不管哪個用戶登錄以及使用什么軟件而保留相同。在這個子樹中的信息由應(yīng)用程序、設(shè)備驅(qū)動程序和Windows NT操作系統(tǒng)使用,以確定本地機(jī)器的配置數(shù)據(jù)。其中部分信息用于引導(dǎo)Windows NT。
HKEY-LOCAL-MACHINE關(guān)鍵字有5個次關(guān)鍵字——Hardware、Security Account Manager (SAM)、Security、Software和System。其中后4個次關(guān)鍵字都看作是配置元,因?yàn),它們在\winnt-root\SYSTEM 32\CONFIG目錄中有相應(yīng)的文件。應(yīng)用程序可以查詢所有5個關(guān)鍵字,但只可以對Software和System關(guān)鍵字增加信息。
(2)KKEY-USERS
容納了當(dāng)前登錄用戶的配置設(shè)置和缺省的用戶配置文件。因此,HKEY-USERS關(guān)鍵字包括DEFAULT次關(guān)鍵字和一個或多個以用戶的SIDs (Windows NT用以識別用戶的安全身份號)為名稱的次關(guān)鍵字。DEFAULT關(guān)鍵字分配信息給本地機(jī)器上的新用戶,它對應(yīng)的文件為\winnt-root\SYSTEM32\CONFIG目錄下的USERDEF文件。登記項(xiàng)中每個用戶的信息分別保存在\winnt-root\SYSTEM32\CONFIG目錄下的USERxxx和USERxxx.LOG文件中。當(dāng)一個用戶登錄時(shí),用戶的配置信息拷貝到HKEY-CURRENT-USER中,直到用戶退出登錄。在這期間,用戶改變的任何設(shè)置都記錄在HKEY-CURRENT-USER和HKEY-USERS的相應(yīng)入口中。
缺省情況下,用戶的配置文件保存在\winnt-root\SYSTEM32\CONFIG目錄中,但對于Windows NT Advanced Server的域管理,它們可以放在本地機(jī)器上或存儲在遠(yuǎn)程主機(jī)上。
(3)HKEY-CURRENT-USER
當(dāng)前登錄到機(jī)器上用戶的有關(guān)信息。這些信息以前是存儲在WIN.INI初始化文件中。這個子樹有一份拷貝作為單個文件或配置元存儲在機(jī)器上。當(dāng)一個用戶登錄時(shí),用戶的安全身份號(SID)與登記項(xiàng)中的已知的SIDs進(jìn)行比較,如果系統(tǒng)識別了用戶登錄的SID,系統(tǒng)就裝載這個用戶的配置設(shè)置;否則,系統(tǒng)使用保存在HKEY-USERS\.DEFAULT中的配置信息。
HKEY-CURRENT-USER關(guān)鍵字由以下次關(guān)鍵字組成:Console、Control Panel、Environment、Keyboard Layout、Network、Printers、Program Groups、Software和Windiws 3.
1 Migration。
(4)HKEY-CLASSES-ROOT
這個子樹提供入口來定義資源的類以及與這些類相關(guān)的特性。包括軟件配置信息,特別是對象鏈接與嵌入(OLE)和Windows外殼應(yīng)用程序使用的信息。每項(xiàng)擴(kuò)展名與能使用這
種類型文件的應(yīng)用相聯(lián)系,例如,HKEY-CLASSES-ROOT關(guān)鍵字中包括.avi、.bmp和.DOC等許多次關(guān)鍵字。這個子樹的目的是提供與Windows 3.1登記數(shù)據(jù)庫的兼容性。
4.登記項(xiàng)的編輯
(1)Registry Editor
Registry Editor程序(REGEDT32.EXE)是一種工具,允許管理員查看和操作登記項(xiàng)的配置,它位于\winnt-root\SYSTEM32目錄中。缺省情況下,在Program Manager的任何程序組中都不出現(xiàn)。管理員可以完全控制登記項(xiàng),并根據(jù)需要進(jìn)行改變,而其他用戶只可以對這個登記項(xiàng)進(jìn)行讀訪問。管理員可以通過Security菜單,在Registry關(guān)鍵字上改變權(quán)限。Registry Editor主要用于幫助查找故障和解決問題?梢源鎯Φ怯涰(xiàng)的段落到磁盤上,并將其傳送到另一臺計(jì)算機(jī)上,以進(jìn)行分析。還可以通過網(wǎng)絡(luò)中的RPC服務(wù),遠(yuǎn)程查看登記項(xiàng)。
(2)WinMSD
Registry Editor還可以從WinMSD程序啟動,從Tools菜單選擇Registry Editor項(xiàng)。WinMSD 是Windows NT的診斷工具,用于查看存放在登記項(xiàng)中的系統(tǒng)配置信息,它位于\winnt-root\SYSTEM32目錄中。
(3)Find Key命令
從Registry Editor的View菜單中選擇Find Key命令,可以查看登記項(xiàng)的特定關(guān)鍵字(但不能查看值項(xiàng))。關(guān)鍵字出現(xiàn)在Registry Editor窗口的左邊格中。查找從當(dāng)前選擇的關(guān)鍵字開始,向下(或向上)開始搜索所有預(yù)定義關(guān)鍵字及其所有的子關(guān)鍵字。查找過程局限在子樹范圍內(nèi),也就是說,在HKEY-LOCAL-MACHINE窗口中查找,則不會查找HKEY-CURRENT-USER下的關(guān)鍵字。
錯誤使用Registry Editor會引起嚴(yán)重的、系統(tǒng)范圍的問題,導(dǎo)致需要重新安裝Windows NT。使用此工具一定要當(dāng)心。一般用戶可以通過Control Panel和Windows NT Setup程序來改變登記項(xiàng)中的內(nèi)容。
5.登記項(xiàng)的完整性
Windows NT通過配置設(shè)置來維護(hù)登記項(xiàng)的完整性。
配置設(shè)置可簡單認(rèn)為是一組系統(tǒng)參數(shù)。Windows NT工作站有兩套配置設(shè)置——CurrentControlSet和LastKnownGood(LKG)。好比有兩個CONFIG.SYS文件。
CurrentControlSet是HKEY-LOCAL-MACHINE子樹中SYSTEM配置元下的一個關(guān)鍵字,鏈接啟動系統(tǒng)的配置設(shè)置。這些設(shè)置反映當(dāng)前控制狀態(tài)。
LastKnownGood是HKEY-LOCAL-MACHINE子樹中SYSTEM配置元下Select關(guān)鍵字中的一個值項(xiàng),反映最后一次成功啟動期間使用的配置設(shè)置。它起備份作用,用于當(dāng)前配置不能啟動系統(tǒng)時(shí)。當(dāng)完成登錄后才認(rèn)為是成功啟動,這時(shí)創(chuàng)建LastKnowGood配置。
有兩種途徑使用LKG——自動轉(zhuǎn)換和手工執(zhí)行。當(dāng)啟動期間,任何服務(wù)遇到問題時(shí),它將自動地告訴系統(tǒng)轉(zhuǎn)換用LKG系統(tǒng)參數(shù)。如果在啟動菜單選擇Windows NT后,迅速按空格鍵,一個新菜單又出現(xiàn),可以從這個菜單中選擇一種啟動數(shù)據(jù),用當(dāng)前配置設(shè)置還是用LKG來啟動系統(tǒng)。
在\winnt-root\SYSTEM32\CONFIG目錄中還有一個文件——SYSTEM.ALT對登記項(xiàng)起維護(hù)作品。SYSTEM.ALT是SYSTEM配置元(SYSTEM文件)的備份文件,以防SYSTEM這個文件存儲在壞扇區(qū)上。如果Windows NT在啟動時(shí)不能順利獲得系統(tǒng)配置元,它將自動轉(zhuǎn)去讀SYSTEM.ALT文件。
【W(wǎng)indows NT中的登記項(xiàng)及其完整性】相關(guān)文章:
windows nt環(huán)境下fddi網(wǎng)卡驅(qū)動程序設(shè)計(jì)08-06
windows nt環(huán)境下fddi網(wǎng)卡驅(qū)動程序設(shè)計(jì) 208-06
高速數(shù)字系統(tǒng)中的信號完整性及實(shí)施方案08-06
在Delphi中巧用Windows 的API函數(shù)08-06
法治中的權(quán)力及其控制08-09
西方教育中的“師德”及其特征08-17