[發明專利]用于執行進程的遷移的方法、遷移器及計算機可讀介質有效
| 申請號: | 201380078341.4 | 申請日: | 2013-08-08 |
| 公開(公告)號: | CN105531668B | 公開(公告)日: | 2019-04-23 |
| 發明(設計)人: | E·克魯格里克;K·S·范 | 申請(專利權)人: | 英派爾科技開發有限公司 |
| 主分類號: | G06F9/48 | 分類號: | G06F9/48;G06F9/455 |
| 代理公司: | 北京市鑄成律師事務所 11313 | 代理人: | 孟銳 |
| 地址: | 美國特*** | 國省代碼: | 美國;US |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 執行 進程 遷移 | ||
1.一種數據中心中實時遷移的方法,所述方法包括:
在源指令集體系結構上執行進程;
即時編譯同時在源指令集體系結構和目的地指令集體系結構執行的進程;
將來自源指令集體系結構和目的地指令集體系結構的進程的變量和地址堆棧映射成其標記形式;以及
將所述變量和地址堆棧的標記形式映射到目的所述地指令集體系結構上,
其中所述即時編譯包括:
根據所述源指令集體系結構和所述目的地指令集體系結構,存儲與在所述源指令集體系結構上執行的所述進程的編譯細化二元對應的函數的變量和函數堆棧;
其中將所述變量和地址堆棧映射包括:
將在所述源指令集體系結構和所述目的地指令集體系結構上執行的所述細化二元的至少所述進程的函數地址和函數堆棧解引用;以及
將在所述源指令集體系結構和所述目的地指令集體系結構上執行的所述細化二元的至少所述進程的變量地址解引用;以及
其中將所述變量和地址堆棧的標記形式映射包括:
根據所述源指令集體系結構和所述目的地指令集體系結構上所述細化二元的所述進程的執行,將與所述細化二元的進程對應的函數和變量連接到等同的指針和地址。
2.如權利要求1所述的方法,其中將所述變量和地址堆棧映射包括:將變量名稱和函數名稱映射到其在即時編譯器的相應的低層級數據庫中的對象。
3.如權利要求1所述的方法,
其中所述即時編譯包括生成在所述源指令集體系結構和所述目的地指令集體系結構兩者上執行的進程的中間表示;以及
其中將所述變量和地址堆棧映射包括將來自所述源指令集體系結構和所述目的地指令集體系結構兩者的所述進程的中間表示的變量和地址堆棧映射成其標記形式。
4.一種遷移進程的方法,所述方法包括:
在進程在第一指令集體系結構上執行時編譯該進程;
在所述進程在所述第一指令集體系結構上執行時,生成所述進程的至少一些函數的函數映射;
在所述進程在所述第一指令集體系結構上執行時,生成所述進程的至少一些變量的變量映射;
將來自所述函數映射的函數映射到所述進程的函數堆棧;以及
將來自所述變量映射的變量映射到所述進程在第二指令集體系結構上的對應地址。
5.如權利要求4所述的方法,其中所述編譯是由即時編譯器來執行的。
6.如權利要求5所述的方法,其中生成所述函數映射包括:在所述進程在第一指令集體系結構上執行時,將所述進程的函數的函數地址間接解引用。
7.如權利要求6所述的方法,其中所述函數映射包括:在所述進程在所述第二指令集體系結構上執行時所述進程的函數堆棧上的函數地址。
8.如權利要求5所述的方法,其中生成所述變量映射包括:在所述進程在所述第一指令集體系結構上執行時,將所述進程的變量的變量地址間接解引用。
9.如權利要求8所述的方法,其中所述變量映射包括:對應于所述進程的變量的指針列表。
10.一種非暫態計算機可讀介質,其中存儲有可執行指令,所述可執行指令響應于執行使虛擬機管理器執行操作,所述操作包括:
即時編譯可以在第一平臺和第二平臺上執行的細化二元的至少一個進程;
將所述細化二元的至少所述進程的函數地址和函數堆棧解引用;
將所述細化二元的至少所述進程的變量地址解引用;以及
生成函數映射以將對應于該進程的細化二元表示的函數和變量連接到所述第一平臺和第二平臺上的等同指針和地址。
11.如權利要求10所述的非暫態計算機可讀介質,其中所述第一平臺是X86指令集體系結構,所述第二平臺是ARM指令集體系結構。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于英派爾科技開發有限公司,未經英派爾科技開發有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201380078341.4/1.html,轉載請聲明來源鉆瓜專利網。





