[發明專利]應用程序可重定位加載的方法及地址重定位裝置有效
| 申請號: | 200710080255.3 | 申請日: | 2007-02-15 |
| 公開(公告)號: | CN101246427A | 公開(公告)日: | 2008-08-20 |
| 發明(設計)人: | 陳立勤 | 申請(專利權)人: | 凌陽科技股份有限公司;北京北陽電子技術有限公司 |
| 主分類號: | G06F9/445 | 分類號: | G06F9/445;G06F12/08 |
| 代理公司: | 北京德琦知識產權代理有限公司 | 代理人: | 王一斌;王琦 |
| 地址: | 臺灣省新竹科*** | 國省代碼: | 中國臺灣;71 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 應用程序 定位 加載 方法 地址 裝置 | ||
1、一種應用程序可重定位加載的方法,其特征在于,該方法包括:
將操作系統的內存起始地址和代碼偏移保存到暫存式存儲器一中;
調用應用程序,查詢該應用程序的代碼偏移及應用長度;
根據內存分配情況為該應用程序分配長度大于或等于所述應用長度的空閑內存;
為該應用程序創建進程控制塊,保存所述空閑內存的起始地址、代碼偏移及應用長度;
將該應用程序代碼復制到所述空閑內存;
在進程切換的觸發條件下,將進程控制塊中保存的應用程序內存起始地址和代碼偏移設置到暫存式存儲器二中;
在核心態切換到用戶態執行應用程序時,將保存在暫存式存儲器二中的內容設置到應用寄存器組中;將應用程序的虛擬地址與應用程序內存起始地址相加,減去應用程序的代碼偏移得到應用程序的內存物理地址;
在用戶態切換到核心態執行操作系統指令時,將保存在暫存式存儲器一中的內容設置到應用寄存器組中;將操作系統的虛擬地址與操作系統的內存起始地址相加,減去操作系統的代碼偏移得到操作系統的內存物理地址。
2、如權利要求1所述的方法,其特征在于,所述得到應用程序的內存物理地址之后,該方法進一步包括:
判斷所述物理地址是否在根據所述空閑內存的起始地址、代碼偏移及應用長度得到的應用程序運行的地址范圍,如果在則繼續執行指令;否則執行越界中斷處理。
3、一種地址重定位裝置,其特征在于,該裝置包括中央處理單元CPU核、地址加法器、應用基址寄存器和代碼偏移寄存器,
所述CPU核,用于將虛擬地址輸出到地址加法器;
所述應用基址寄存器,用于保存應用基址,所述應用基址為根據內存的分配情況為應用程序分配的空閑內存的起始地址;將所述應用基址發送并保持到與所述地址加法器相連的總線上;
所述代碼偏移寄存器,用于保存代碼偏移;將所述代碼偏移發送并保持到與所述地址加法器相連的總線上;
所述地址加法器,用于將接收到的CPU核發送的虛擬地址與所述應用基址寄存器發送的應用基址相加,再減去所述代碼偏移寄存器發送的代碼偏移,得到內存的物理地址;
該裝置進一步包括暫存式存儲器一和暫存式存儲器二,
所述暫存式存儲器一,用于在系統初始化的時候,保存操作系統的應用基址與代碼偏移;當由用戶態向核心態切換時,在CPU核發送的觸發信號的控制下,將保存的操作系統應用基址與代碼偏移分別發送到所述應用基址寄存器和代碼偏移寄存器;
所述暫存式存儲器二,用于在進程切換的時候,保存應用程序的進程控制塊中的應用基址與代碼偏移;當由核心態切換到用戶態的時候,在CPU核發送的觸發信號的控制下,將保存的應用程序應用基址與代碼偏移分別發送到所述應用基址寄存器和代碼偏移寄存器;
所述應用基址寄存器,進一步用于接收并保存所述暫存式存儲器一發送的操作系統應用基址;或接收并保存暫存式存儲器二發送的應用程序應用基址;
所述代碼偏移寄存器,進一步用于接收并保存所述暫存式存儲器一發送的操作系統的代碼偏移;或接收并保存暫存式存儲器二發送的應用程序的代碼偏移;
所述CPU核,進一步用于向暫存式存儲器一和暫存式存儲器二發送觸發信號。
4、如權利要求3所述的裝置,其特征在于,該裝置進一步包括應用長度寄存器,用于保存應用程序的應用長度;將該應用長度發送到CPU核;
所述應用基址寄存器,進一步用于將保存的應用程序的應用基址發送到CPU核;
所述代碼偏移寄存器,進一步用于將保存的應用程序的代碼偏移發送到CPU核;
所述地址加法器,進一步用于將得到的應用程序的物理地址發送到CPU核;
所述CPU核,進一步用于根據接收到的應用基址、代碼偏移和應用長度,得到應用程序運行的地址范圍;判斷所述接收到的物理地址是否在所述應用程序運行的地址范圍之內,如果是,繼續執行指令;否則,執行越界中斷處理。
5、如權利要求3所述的裝置,其特征在于,所述應用基址寄存器與所述代碼偏移寄存器為一個寄存器,用于保存應用基址與代碼偏移之差;將該應用基址與代碼偏移之差發送并保持到與所述地址加法器相連的總線上;
所述地址加法器,進一步用于接收所述寄存器發送的應用基址與代碼偏移之差,將該應用基址與代碼偏移之差與CPU核發送的虛擬地址相加,得到內存物理地址。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于凌陽科技股份有限公司;北京北陽電子技術有限公司,未經凌陽科技股份有限公司;北京北陽電子技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710080255.3/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:音頻信號系統
- 下一篇:比伐盧定凍干粉針劑及其制備方法





