本公開涉及計(jì)算機(jī),具體而言,涉及一種依賴信息掛載方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。
背景技術(shù):
1、linux發(fā)行版是指在linux內(nèi)核的基礎(chǔ)上,由不同開發(fā)團(tuán)隊(duì)根據(jù)設(shè)計(jì)需求,通過集成不同軟件包和工具所設(shè)計(jì)出的操作系統(tǒng),通常僅支持運(yùn)行l(wèi)inux應(yīng)用程序,所以各種linux發(fā)行版往往存在支持運(yùn)行的應(yīng)用程序較少,應(yīng)用軟件生態(tài)環(huán)境差的問題。而谷歌操作系統(tǒng)(chrome?os)作為一種基于linux內(nèi)核設(shè)計(jì)出的、且具有兼容安卓應(yīng)用程序和linux應(yīng)用程序的操作系統(tǒng),能夠支持運(yùn)行各種各樣的應(yīng)用程序,具有良好軟件生態(tài)環(huán)境。
2、因此,若能夠?qū)hrome?os中用于創(chuàng)建安卓生態(tài)的虛擬機(jī)模塊移植至linux發(fā)行版,將會(huì)極大地豐富linux發(fā)行版的軟件生態(tài),提高linux發(fā)行版的應(yīng)用兼容性。但是,如何實(shí)現(xiàn)虛擬機(jī)模塊的移植,成為了一個(gè)技術(shù)難點(diǎn)。
技術(shù)實(shí)現(xiàn)思路
1、本公開實(shí)施例至少提供一種依賴信息掛載方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì)。
2、第一方面,本公開實(shí)施例提供了一種依賴信息掛載方法,包括:
3、獲取第一操作系統(tǒng)的虛擬機(jī)程序集依賴的運(yùn)行依賴庫;所述運(yùn)行依賴庫用于加載和運(yùn)行所述虛擬機(jī)程序集中的第一可執(zhí)行程序,所述第一可執(zhí)行程序用于創(chuàng)建虛擬化的目標(biāo)生態(tài)環(huán)境;所述目標(biāo)生態(tài)環(huán)境為基于目標(biāo)操作系統(tǒng)開發(fā)的應(yīng)用的生態(tài)環(huán)境,所述目標(biāo)操作系統(tǒng)與所述第一操作系統(tǒng)不同;
4、從第二操作系統(tǒng)的系統(tǒng)掛載空間包括的程序加載目錄路徑中,選取目標(biāo)路徑,并在第二操作系統(tǒng)中創(chuàng)建目標(biāo)掛載空間;
5、在所述目標(biāo)掛載空間內(nèi),掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑;其中,所述目標(biāo)掛載空間內(nèi)的所述目標(biāo)路徑,用于在所述第二操作系統(tǒng)中提供所述虛擬機(jī)程序集的依賴信息。
6、在一種可能的實(shí)施方式中,所述程序加載目錄路徑中包括用于加載第一加載器的第一加載庫的存儲(chǔ)路徑;所述第一加載器用于加載所述第二操作系統(tǒng)編譯的第二可執(zhí)行程序;所述目標(biāo)掛載空間的目標(biāo)根目錄下包括所述存儲(chǔ)路徑對(duì)應(yīng)的路徑根目錄;所述目標(biāo)根目錄為所述第一加載庫的默認(rèn)搜索目錄;
7、在所述目標(biāo)掛載空間內(nèi),掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑,包括:
8、在所述目標(biāo)掛載空間的所述路徑根目錄下,掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑。
9、在一種可能的實(shí)施方式中,在掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑之后,還包括:
10、獲取待運(yùn)行程序;
11、判斷所述待運(yùn)行程序,是否屬于所述虛擬機(jī)程序集;
12、若是,則從所述目標(biāo)掛載空間的所述目標(biāo)路徑,獲取存儲(chǔ)的所述運(yùn)行依賴庫;
13、利用所述運(yùn)行依賴庫,加載和運(yùn)行所述待運(yùn)行程序,以得到虛擬化的所述目標(biāo)生態(tài)環(huán)境。
14、在一種可能的實(shí)施方式中,所述運(yùn)行依賴庫至少包括用于編譯所述第一可執(zhí)行程序的第二加載器所依賴的第二加載庫和系統(tǒng)基礎(chǔ)庫;所述系統(tǒng)基礎(chǔ)庫用于運(yùn)行所述第一可執(zhí)行程序,所述第二加載庫用于加載所述第一可執(zhí)行程序。
15、在一種可能的實(shí)施方式中,在判斷所述待運(yùn)行程序,是否屬于所述虛擬機(jī)程序集之前,還包括:
16、進(jìn)入所述系統(tǒng)掛載空間;
17、從所述目標(biāo)掛載空間的所述目標(biāo)路徑,獲取存儲(chǔ)的所述運(yùn)行依賴庫,包括:
18、調(diào)用空間轉(zhuǎn)換程序,并利用調(diào)用的所述空間轉(zhuǎn)換程序,從所述系統(tǒng)掛載空間切換至所述目標(biāo)掛載空間;
19、從所述目標(biāo)掛載空間的所述目標(biāo)路徑,獲取存儲(chǔ)的所述運(yùn)行依賴庫。
20、在一種可能的實(shí)施方式中,所述從所述目標(biāo)掛載空間的所述目標(biāo)路徑,獲取存儲(chǔ)的所述運(yùn)行依賴庫,包括:
21、根據(jù)所述待運(yùn)行程序?qū)?yīng)的加載器字段,獲取所述目標(biāo)掛載空間中的路徑根目錄;
22、在所述路徑根目錄下掛載的所述目標(biāo)路徑中,獲取所述運(yùn)行依賴庫。
23、在一種可能的實(shí)施方式中,在掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑之前,還包括:
24、對(duì)所述目標(biāo)掛載空間的所述目標(biāo)根目錄的掛載傳播屬性進(jìn)行修改,以使在所述目標(biāo)掛載空間中執(zhí)行的操作,無法映射到所述系統(tǒng)掛載空間。
25、第二方面,本公開實(shí)施例還提供一種依賴信息掛載裝置,包括:
26、獲取模塊,用于獲取第一操作系統(tǒng)的虛擬機(jī)程序集依賴的運(yùn)行依賴庫;所述運(yùn)行依賴庫用于加載和運(yùn)行所述虛擬機(jī)程序集中的第一可執(zhí)行程序,所述第一可執(zhí)行程序用于創(chuàng)建虛擬化的目標(biāo)生態(tài)環(huán)境;所述目標(biāo)生態(tài)環(huán)境為基于目標(biāo)操作系統(tǒng)開發(fā)的應(yīng)用的生態(tài)環(huán)境,所述目標(biāo)操作系統(tǒng)與所述第一操作系統(tǒng)不同;
27、選取模塊,用于從第二操作系統(tǒng)的系統(tǒng)掛載空間包括的程序加載目錄路徑中,選取目標(biāo)路徑,并在第二操作系統(tǒng)中創(chuàng)建目標(biāo)掛載空間;
28、掛載模塊,用于在所述目標(biāo)掛載空間內(nèi),掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑;其中,所述目標(biāo)掛載空間內(nèi)的所述目標(biāo)路徑,用于在所述第二操作系統(tǒng)中提供所述虛擬機(jī)程序集的依賴信息。
29、第三方面,本公開可選實(shí)現(xiàn)方式還提供一種電子設(shè)備,處理器、存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有所述處理器可執(zhí)行的機(jī)器可讀指令,所述處理器用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的機(jī)器可讀指令,所述機(jī)器可讀指令被所述處理器執(zhí)行時(shí),所述機(jī)器可讀指令被所述處理器執(zhí)行時(shí)執(zhí)行上述第一方面,或第一方面中任一種可能的實(shí)施方式中的步驟。
30、第四方面,本公開可選實(shí)現(xiàn)方式還提供一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被運(yùn)行時(shí)執(zhí)行上述第一方面,或第一方面中任一種可能的實(shí)施方式中的步驟。
31、關(guān)于上述依賴信息掛載裝置、電子設(shè)備、及計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的效果描述參見上述依賴信息掛載方法的說明,這里不再贅述。
32、本公開實(shí)施例提供的依賴信息掛載方法、裝置、電子設(shè)備和存儲(chǔ)介質(zhì),由于目標(biāo)生態(tài)環(huán)境即安卓生態(tài)環(huán)境,且虛擬機(jī)程序集中的第一可執(zhí)行程序,能夠用于創(chuàng)建虛擬化的目標(biāo)生態(tài)環(huán)境,目標(biāo)生態(tài)環(huán)境即安卓生態(tài)環(huán)境,所以虛擬機(jī)程序集依賴的運(yùn)行依賴庫,能夠支持第一操作系統(tǒng)對(duì)應(yīng)的虛擬機(jī)模塊的運(yùn)行。通過創(chuàng)建目標(biāo)掛載空間,并將運(yùn)行依賴庫掛載至目標(biāo)掛載空間中的目標(biāo)路徑下,可以實(shí)現(xiàn)既不影響第二操作系統(tǒng)的系統(tǒng)掛載空間中,存儲(chǔ)的與第二操作系統(tǒng)相關(guān)的各種原始資源的使用,又能夠在目標(biāo)掛載空間中獲取虛擬機(jī)模塊運(yùn)行所需的依賴信息,進(jìn)而實(shí)現(xiàn)支持在第二操作系統(tǒng)中運(yùn)行虛擬機(jī)模塊,以創(chuàng)建出支持各種安卓應(yīng)用程序運(yùn)行的目標(biāo)生態(tài)環(huán)境。如此,利用創(chuàng)建的目標(biāo)掛載空間,可以實(shí)現(xiàn)在同一個(gè)計(jì)算設(shè)備中,隔離兩個(gè)操作系統(tǒng)所需的資源,繼而實(shí)現(xiàn)在部署第二操作系統(tǒng)的一個(gè)計(jì)算設(shè)備中,成功移植第一操作系統(tǒng)的虛擬化模塊,保證第二操作系統(tǒng)和虛擬化模塊能夠正常且獨(dú)立地運(yùn)行,豐富了第二操作系統(tǒng)的軟件生態(tài),增加了第二操作系統(tǒng)可支持運(yùn)行的應(yīng)用程序的種類和數(shù)量,提高第二操作系統(tǒng)的應(yīng)用兼容性。
33、為使本公開的上述目的、特征和優(yōu)點(diǎn)能更明顯易懂,下文特舉較佳實(shí)施例,并配合所附附圖,作詳細(xì)說明如下。
1.一種依賴信息掛載方法,其特征在于,包括:
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述程序加載目錄路徑中包括用于加載第一加載器的第一加載庫的存儲(chǔ)路徑;所述第一加載器用于加載所述第二操作系統(tǒng)編譯的第二可執(zhí)行程序;所述目標(biāo)掛載空間的目標(biāo)根目錄下包括所述存儲(chǔ)路徑對(duì)應(yīng)的路徑根目錄;所述目標(biāo)根目錄為所述第一加載庫的默認(rèn)搜索目錄;
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,在掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑之后,還包括:
4.根據(jù)權(quán)利要求3所述的方法,其特征在于,所述運(yùn)行依賴庫至少包括用于編譯所述第一可執(zhí)行程序的第二加載器所依賴的第二加載庫和系統(tǒng)基礎(chǔ)庫;所述系統(tǒng)基礎(chǔ)庫用于運(yùn)行所述第一可執(zhí)行程序,所述第二加載庫用于加載所述第一可執(zhí)行程序。
5.根據(jù)權(quán)利要求3所述的方法,其特征在于,在判斷所述待運(yùn)行程序,是否屬于所述虛擬機(jī)程序集之前,還包括:
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述從所述目標(biāo)掛載空間的所述目標(biāo)路徑,獲取存儲(chǔ)的所述運(yùn)行依賴庫,包括:
7.根據(jù)權(quán)利要求2所述的方法,其特征在于,在掛載存儲(chǔ)有所述運(yùn)行依賴庫的所述目標(biāo)路徑之前,還包括:
8.一種依賴信息掛載裝置,其特征在于,包括:
9.一種電子設(shè)備,其特征在于,包括:處理器、存儲(chǔ)器,所述存儲(chǔ)器存儲(chǔ)有所述處理器可執(zhí)行的機(jī)器可讀指令,所述處理器用于執(zhí)行所述存儲(chǔ)器中存儲(chǔ)的機(jī)器可讀指令,所述機(jī)器可讀指令被所述處理器執(zhí)行時(shí),所述處理器執(zhí)行如權(quán)利要求1至7任意一項(xiàng)所述的依賴信息掛載方法的步驟。
10.一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其特征在于,所述計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)上存儲(chǔ)有計(jì)算機(jī)程序,所述計(jì)算機(jī)程序被電子設(shè)備運(yùn)行時(shí),所述電子設(shè)備執(zhí)行如權(quán)利要求1至7任意一項(xiàng)所述的依賴信息掛載方法的步驟。