1、虛擬對象系統---vos
它既支持過程性語言也支持面向對象的語言,同時提供一個類型豐富的系統來容納它所支持的各
種語言的特性。對于過程性語言,它描述了值的類型并指定了類型的所有值必須遵守的規則;在
面向對象的語言方面,它統一了不同編程語言的對象模型。每一個對象在vos中都被唯一標識以
與其他對象相區別。
2、元數據
元數據是對vos中類型描述代碼的一種稱呼。在編譯程序將源代碼轉換成為中間代碼時,它將自
動生成,并與編譯后的源代碼共同包含在二進制代碼文件中。元數據攜帶了源代碼中類型信息的
描述,這在一定程度上解決了版本問題;程序使用的類型描述與其自身綁定在一起。
在clr定位與裝載類型時,系統通過讀取并解析元數據來獲得應用程序中的類型信息,jit編譯器
獲得加載的類型信息后,將中間語言代碼翻譯成為本地代碼,在此基礎上根據程序或用戶要求建
立類型的實例。由于整個過程中,clr始終根據元數據建立并管理對應特定應用程序的類型,從
而保證了類型的安全性。
此外,元數據在解決方法的調用,建立運行期上下文界限等方面都有著自己的作用。而關于元數
據的一切都由.net在后臺完成。
3、公共語言規范----cls
cls是clr定義的語言特性集合,主要用來解決互操作問題。如果一個類庫遵守cls,那么同樣遵
守cls規范的其他變成語言將能夠使用它的外部可見項。所有支持cls并僅使用cls中的語言特征
的組件被稱為cls組件。
在cls中是用system.clscompliantattribute類來標識一個集合或者類是否是符合cls規范的;在
system.clscompliantattriute的構造器中有一個boolean型的返回值,代表了與之相關聯的項是
否符合cls規范。
4、虛擬執行系統----ves
ves是vos的實現,它用來驅動運行環境。元數據的生成與使用、公用語言規范的滿足性檢查以及
應用程序執行過程中的內存管理均由它來完成。具體來說,ves主要完成以下功能:
(1)裝入中間代碼。
(2)使用jit將中間代碼轉換為本地碼。
(3)裝入元數據。
(4)代碼管理服務---包括垃圾收集器和異常處理。
(5)定制與調試服務。
(6)線程和環境管理。
新聞熱點
疑難解答
圖片精選