[發明專利]具有逐模塊驗證的完全遲緩鏈接有效
| 申請號: | 00117670.6 | 申請日: | 2000-05-26 |
| 公開(公告)號: | CN1292525A | 公開(公告)日: | 2001-04-25 |
| 發明(設計)人: | 吉拉德·布拉查;梁勝;蒂蒙西G·林德霍爾姆 | 申請(專利權)人: | 太陽微系統公司 |
| 主分類號: | G06F9/45 | 分類號: | G06F9/45 |
| 代理公司: | 中原信達知識產權代理有限責任公司 | 代理人: | 谷惠敏,李輝 |
| 地址: | 美國加利*** | 國省代碼: | 暫無信息 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 具有 模塊 驗證 完全 遲緩 鏈接 | ||
本申請涉及Yellin和Gosling于1995年12月20日提交的,題為″具有數據類型限制和對象初始化的預驗證的字節代碼程序解釋器裝置和方法″的美國專利申請序號No.575,291(P1000),現在是美國專利No.5,740,441;Bracha和Liang于1998年8月14日提交的,題為″用于類型安全、遲緩、用戶定義的類裝載的方法和裝置″的美國專利申請序號No.09/134,477(P3135);在此作為一個整體引入這些公開作為參考。
本申請還涉及1999年5月27日提交的,題為″完全遲緩鏈接″的美國專利申請序號No.09/321,223[50253-228](P3564);1999年5月27日提交的,題為″逐模塊驗證″的美國專利申請序號No.09/320,574[50253-229](P3565);1999年5月27日提交的,題為″為逐模塊驗證緩存非置信模塊″的美國專利申請序號No.09/320,581[50253-235](P3810);1999年5月27日提交的,題為″用于最低上界類型的符號計算的數據流算法″的美國專利申請序號No.09/321,228[50253-236](P3809)。
本發明涉及計算機編程語言,特別是具有驗證指令的動態鏈接同時支持遲緩裝載的計算機編程語言。
通常,以人們易于理解的高級語言將計算機程序編寫為源代碼語句。在實際執行計算機程序時,計算機響應由直接控制中央處理單元(CPU)操作的二進制信號構成的指令組成的機器碼。使用被稱為編譯程序的專用程序讀取源代碼并將其語句轉換成具體CPU的機器碼指令在本領域中是熟知的。所產生的機器碼指令是依賴于平臺的,就是說,不同的計算機設備具有帶有由不同機器碼表示的不同指令集的不同CPU?。
通過組合幾個比較簡單的程序構成更強大的程序在本領域中也是已知的。可通過在編譯前將幾段源代碼復制在一起,然后編譯組合的源代碼來進行該組合。當頻繁使用一段源代碼語句而沒有改變時,通常最好是由其自身將其編譯一次,以產生一個模塊,并且僅當實際需要該功能塊時將該模塊與其它模塊組合。這種編譯后的模塊組合被稱為鏈接。剛好在執行之前,當依據運行時間狀況決定組合哪些模塊并且模塊組合發生在運行時間時,該鏈接被稱為動態鏈接。
鏈接的優點在于可一次一個模塊地開發程序,并由于不同開發者能夠在不同地點同時開發不同模塊,因此能夠提高生產率。
在運行時間進行的鏈接,即當執行程序時的動態鏈接的優點在于不需要鏈接執行期間不使用的模塊,從而減少了必須執行的工作量,并且很可能減少執行代碼的規模。通常,在鏈接前必須裝載模塊,即識別并將其引入存儲器。將模塊鏈接延緩到直到需要該模塊為止將允許延期裝載這些模塊,并稱其為遲緩裝載。
當匯編幾個已經獨立編寫的模塊時,謹慎的作法是,檢驗在其自己的全部范圍內正確地執行每個模塊,即模塊內檢驗,以及多個模塊一起正確地工作,即模塊間檢驗。從JAVATM編程語言的設計者使用的術語推論,這種后編譯模塊檢驗可被稱為驗證。
得益于動態鏈接的計算機體系結構的一個實例是如SunMicrosystems,Inc的JAVATM虛擬機(JVM)之類的虛擬機(VM),這是一種可用硬件或軟件實現的抽象計算機體系結構。在下面的VM描述中包括了規定的任何一種實現方案。
VM可以以下面的方式提供平臺獨立性。把如JAVATM編程語言之類的高級計算語言中表示的語句編譯成獨立于系統的VM指令。VM指令對VM的關系正如機器碼對中央處理單元(CPU)的關系。然后可將VM指令從一臺機器傳送到另一臺機器。每個不同的處理器需要其自己的VM實現。VM通過一次一條或多條指令地對VM指令進行翻譯或解釋來運行VM指令。在許多實現中,該VM是在特定計算機的CPU上運行的程序,但VM指令也可用作特定處理器或設備的本機指令集。在后一種情況下,VM是一臺″實際″的機器。包括動態鏈接和驗證的VM也可進行其它操作。
使用該VM的編程處理有兩個與其相關聯的時間紀元;″編譯時間″是指將高級語言轉換成VM指令的步驟,″運行時間″是指在JAVATMVM環境中解釋指令以執行該模塊的步驟。在編譯時間與運行時間之間,從語句編譯的指令模塊可在延長的、任意時間周期內駐留待用,或可從一個存儲裝置傳送到另一個存儲裝置,包括跨網絡傳送。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于太陽微系統公司,未經太陽微系統公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/00117670.6/2.html,轉載請聲明來源鉆瓜專利網。





