Windows XP的一些系統功能不知道你清楚多少呢,其實有很多重要的功能說不定我們就不認識呢,但是他們確實很重要,下面就為大家介紹Windows XP的革新功能隔離組件(Isolated Components)和並列共享(side-by-side sharing)功能。
Windows XP的一個重要革新就是引入了隔離組件(Isolated Components)和並列共享(side-by-side sharing)功能。作為原來Windows中經常出現的DLL沖突問題的解決方案,Microsoft 強烈建議應用程序使用組件隔離和並列共享技術來解決DLL調用的問題。微軟在ComCtl version 6中使用了並列共享處理,證明隔離組件和並列共享是未來Windows的發展方向。在這一節中,我們來了解一些Windows XP的隔離組件和並列共享的整體技術框架。
在使用隔離組件和並列共享模式下,一個組件的很多個不同版本被同時安裝在系統中。注意,是"同時"安裝在系統中。在原來的Windows中,系統中一個組件或者是DLL只能有一個版本,因此在安裝應用程序的時候,我們經常看到這樣的對話框:"要安裝的xxxx.dll 比系統中原有的要舊,是覆蓋還是保留?"。這個問題的確不好問答,因為安裝舊的DLL吧,那麼原來使用新的DLL的應用程序可能無法正常運行;如果不安裝,那麼新的應用程序也可能無法正常運行。這真是個兩難的問題。
Windows XP使用隔離組件和並列共享較好地解決了這個問題。由於系統中可以有一個DLL或組件的多個版本同時存在,應用程序在運行的時候可以選擇使用自己在設計或開發的時候經過嚴格測試的組件版本。這樣可以避免應用程序被迫調用不同版本的DLL或組件而可能導致的不可預知的錯誤。
在Windows XP中,隔離組件和並列共享主要是通過程序清單(manifest)來實現的。通過程序清單,一個應用程序完整地定義了自己運行時需要調用的DLL或組件的版本。Windows XP根據程序清單,保證系統中一個應用程序的升級或刪除不會影響到其它的程序需要使用的DLL或組件。所以我們看到,隔離組件和並列共享可以保證系統的安全和應用程序的安全。
"程序清單(manifest)"是一個XML 文件,包含了一個程序安裝和裝配的全部信息,例如所有程序捆綁和安裝需要的元數據(元數據指程序需要的基本的DLL調用、組件支持、接口定義等),例如COM 類、接口定義和DLL庫定義等。清單文件有兩類:應用程序清單文件,用來描述應用程序所需要的所有元數據;裝配清單文件,用來描述單個組件的安裝。
一個應用程序可以在程序清單中明確地指出自己包含的所有程序部件如何安裝在系統中。一個應用程序包含很多基本的元素,例如接口定義、幫助文件、不同版本的組件、系統配置信息等。所有的這些元素,可以根據程序清單分成兩類:公有的和私有的。公有元素可以被計算機上安裝的其他應用程序使用,他們被安裝在Windows XP的WinSxS目錄中。私有元素只能被包含他們的應用程序使用,安裝在應用程序獨有的目錄下。
不知道大家對這兩個功能有沒有什麼印象或者說是平常有用過,不過不管怎麼樣這些功能都是值得去關注的東西,雖說很多功能都是我們沒有涉及的東西,但是這些都是認識系統的關鍵。