本申請(qǐng)涉及容器,尤其涉及一種微控制器的微容器化方法及具有微容器的微控制器。
背景技術(shù):
1、容器技術(shù)是近年來(lái)在軟件開發(fā)領(lǐng)域迅速崛起的一項(xiàng)重要技術(shù)。容器技術(shù)是一種高效的應(yīng)用程序部署方法,允許開發(fā)人員在隔離環(huán)境中打包和運(yùn)行應(yīng)用程序。容器化是一種將應(yīng)用程序機(jī)器依賴項(xiàng)打包到一個(gè)獨(dú)立、可移植的容器中的技術(shù),這個(gè)容器包含了應(yīng)用程序的所有運(yùn)行時(shí)所需的組件,例如代碼、運(yùn)行時(shí)的環(huán)境、庫(kù)和系統(tǒng)工具。
2、與傳統(tǒng)的部署方法不同,容器的關(guān)鍵思想是在不同的環(huán)境中實(shí)現(xiàn)一致性,無(wú)論是在開發(fā)人員的本地工作站還是在生產(chǎn)服務(wù)器上部署,都無(wú)需擔(dān)心操作系統(tǒng)配置和底層基礎(chǔ)設(shè)施的差異。容器引擎是提供容器運(yùn)行環(huán)境的核心軟件。它負(fù)責(zé)創(chuàng)建、運(yùn)行和管理容器的生命周期。容器引擎通過(guò)將容器映射加載到主機(jī)系統(tǒng)中并運(yùn)行容器進(jìn)程,實(shí)現(xiàn)了應(yīng)用程序的隔離和獨(dú)立運(yùn)行。容器化帶來(lái)的好處:輕量級(jí)、開銷小、可快速擴(kuò)展、統(tǒng)一環(huán)境、進(jìn)程隔離、高安全性、資源可配置、平臺(tái)獨(dú)立性等。
3、在實(shí)現(xiàn)本申請(qǐng)的過(guò)程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問(wèn)題:
4、linux操作系統(tǒng)一般是運(yùn)行在帶有存儲(chǔ)管理器mmu的cpu上,存儲(chǔ)管理器mmu可以實(shí)現(xiàn)虛擬地址到物理地址的映射,還提供內(nèi)存保護(hù)機(jī)制,并且,linux操作系統(tǒng)還可以通過(guò)存儲(chǔ)管理器mmu設(shè)置物理地址資源的訪問(wèn)權(quán)限。但是在微控制器mcu上,因?yàn)閙cu不帶存儲(chǔ)管理器(mmu),無(wú)法運(yùn)行真正意義上的linux系統(tǒng)以及相關(guān)的容器。
技術(shù)實(shí)現(xiàn)思路
1、本申請(qǐng)的目的在于提供一種微控制器的微容器化方法及具有微容器的微控制器,以解決現(xiàn)有技術(shù)中存在操作系統(tǒng)需要存儲(chǔ)管理器才能運(yùn)行真正意義的容器的技術(shù)問(wèn)題。
2、本申請(qǐng)?zhí)峁┑闹T多技術(shù)方案中的可選技術(shù)方案所能產(chǎn)生的諸多技術(shù)效果詳見下文闡述。
3、為實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)峁┝艘韵录夹g(shù)方案:
4、第一方面,本申請(qǐng)?zhí)峁┑囊环N微控制器的微容器化方法,所述方法包括:
5、對(duì)待啟動(dòng)的微容器進(jìn)行合法性驗(yàn)證及授權(quán)認(rèn)證;
6、如果所述待啟動(dòng)的微容器的合法性和授權(quán)認(rèn)證通過(guò),則對(duì)所述待啟動(dòng)的微容器在用戶空間及內(nèi)核空間的訪問(wèn)進(jìn)行權(quán)限設(shè)置,以確定所述待啟動(dòng)的微容器在所述用戶空間及內(nèi)核空間的訪問(wèn)邊界;
7、根據(jù)所述待啟動(dòng)的微容器的授權(quán)文件及所述訪問(wèn)邊界,完成對(duì)所述待啟動(dòng)的微容器的參數(shù)配置;
8、將配置的參數(shù)傳遞給所述待啟動(dòng)的微容器,完成對(duì)所述待啟動(dòng)的微容器的調(diào)用函數(shù)的初始化,對(duì)授權(quán)訪問(wèn)資源的驅(qū)動(dòng)函數(shù)及回調(diào)函數(shù)的初始化,以使所述微容器對(duì)初始化后的資源具有訪問(wèn)權(quán)限。
9、在一些實(shí)施例中,所述對(duì)待啟動(dòng)的微容器進(jìn)行合法性驗(yàn)證及授權(quán)認(rèn)證,包括:
10、讀取所述待啟動(dòng)的微容器的頭文件和授權(quán)文件;
11、對(duì)所述頭文件的信息進(jìn)行合法性驗(yàn)證,且對(duì)所述授權(quán)文件進(jìn)行授權(quán)認(rèn)證。
12、在一些實(shí)施例中,所述對(duì)所述頭文件的信息進(jìn)行合法性驗(yàn)證,且對(duì)所述授權(quán)文件進(jìn)行授權(quán)認(rèn)證,包括:
13、通過(guò)格式對(duì)比和校驗(yàn)對(duì)所述頭文件的信息進(jìn)行合法性驗(yàn)證,通過(guò)公鑰算法對(duì)所述授權(quán)文件進(jìn)行簽名認(rèn)證。
14、在一些實(shí)施例中,所述對(duì)所述待啟動(dòng)的微容器在用戶空間及內(nèi)核空間的訪問(wèn)進(jìn)行權(quán)限設(shè)置,包括:
15、根據(jù)所述頭文件,在操作系統(tǒng)堆上申請(qǐng)滿足所述待啟動(dòng)的微容器所需求的內(nèi)存空間;
16、如果所述內(nèi)核空間的調(diào)度器支持存儲(chǔ)保護(hù)單元配置參數(shù)的加載,則根據(jù)所述授權(quán)文件,配置待啟動(dòng)的微容器對(duì)應(yīng)的存儲(chǔ)保護(hù)單元mpu參數(shù),以限制所述待啟動(dòng)的微容器在用戶空間及內(nèi)核空間的訪問(wèn)邊界;
17、其中,所述待啟動(dòng)的微容器在所述用戶空間的存儲(chǔ)空間地址的偏移值和所述存儲(chǔ)空間的大小與所述存儲(chǔ)保護(hù)單元的區(qū)域偏移值和區(qū)域大小的限制保持一致。
18、在一些實(shí)施例中,所述方法還包括:
19、如果所述內(nèi)核空間的調(diào)度器不支持存儲(chǔ)保護(hù)單元配置參數(shù)的加載,則需要修改調(diào)度器代碼,添加任務(wù)切換時(shí)所述存儲(chǔ)保護(hù)單元配置參數(shù)的加載。
20、在一些實(shí)施例中,所述方法還包括:
21、調(diào)用所述微容器的啟動(dòng)函數(shù),以啟動(dòng)所述微容器,以使所述微容器根據(jù)所述啟動(dòng)函數(shù)調(diào)用系統(tǒng)函數(shù),進(jìn)行微容器的調(diào)度和運(yùn)行。
22、在一些實(shí)施例中,所述方法還包括:
23、如果需要卸載所述的微容器,則調(diào)用所述微容器的停止函數(shù),刪除并停止所述微容器創(chuàng)建的線程和資源,釋放所述微容器在所述系統(tǒng)堆上申請(qǐng)的內(nèi)存空間。
24、第二方面,本申請(qǐng)還提供一種具有微容器的微控制器,所述具有微容器的微控制器包括:內(nèi)核空間、中間空間、用戶空間;
25、所述內(nèi)核空間,用于收集管理所有系統(tǒng)資源;
26、所述中間空間,用于運(yùn)行微容器管理器;
27、所述用戶空間,包括若干個(gè)微容器;
28、所述微容器管理器,用于在啟動(dòng)所述微容器時(shí),對(duì)所述微容器的合法性的驗(yàn)證,對(duì)所述微容器的訪問(wèn)權(quán)限的設(shè)置,以控制各個(gè)所述微容器之間的地址隔離,所述微容器之間的通信,統(tǒng)一所述微容器的訪問(wèn)接口函數(shù),以及所述用戶空間與所述內(nèi)核空間之間的地址隔離。
29、在一些實(shí)施例中,所述微容器包括頭文件、授權(quán)文件和微容器程序;
30、所述頭文件,用于定義所述微容器,包括頭文件長(zhǎng)度、id編碼、版本號(hào)、rom空間大小、ram空間、運(yùn)行環(huán)境配置函數(shù)入口、啟動(dòng)函數(shù)入口、停止函數(shù)入口、微容器優(yōu)先級(jí)屬性、微容器初始任務(wù)棧大小、回調(diào)線程入口、回調(diào)線程棧大小、代碼空間大小、編譯器類型、是否支持共享內(nèi)存、是否支持mpu、是否支持特權(quán)級(jí)運(yùn)行的信息;
31、所述授權(quán)文件,包括給所述微容器提供訪問(wèn)權(quán)限的資源列表;
32、所述微容器程序,放置在所述頭文件及所述授權(quán)文件的后面,用于給用戶提供微容器的運(yùn)行程序。
33、在一些實(shí)施例中,所述微容器之間通過(guò)進(jìn)程間通信方式進(jìn)行通信。
34、實(shí)施本申請(qǐng)上述技術(shù)方案中的一個(gè)技術(shù)方案,具有如下優(yōu)點(diǎn)或有益效果:
35、本申請(qǐng)的一種微控制器的微容器化方法及具有微容器的微控制器。在需要對(duì)微容器進(jìn)行加載啟動(dòng)的時(shí)候,對(duì)待啟動(dòng)的微容器進(jìn)行合法性驗(yàn)證及授權(quán)認(rèn)證,如果合法性驗(yàn)證及授權(quán)認(rèn)證通過(guò),從而可以對(duì)該待啟動(dòng)的微容器進(jìn)行權(quán)限設(shè)置,以實(shí)現(xiàn)該微容器與其他微容器之間的隔離,以及該微容器所在的用戶空間與內(nèi)核空間之間的隔離,在微容器對(duì)初始化后的資源具有訪問(wèn)權(quán)限時(shí),實(shí)現(xiàn)微容器的獨(dú)立編譯部署和可移植性。
1.一種微控制器的微容器化方法,其特征在于,所述方法包括:
2.根據(jù)權(quán)利要求1所述的微控制器的微容器化方法,其特征在于,所述對(duì)待啟動(dòng)的微容器進(jìn)行合法性驗(yàn)證及授權(quán)認(rèn)證,包括:
3.根據(jù)權(quán)利要求2所述的微控制器的微容器化方法,其特征在于,所述對(duì)所述頭文件的信息進(jìn)行合法性驗(yàn)證,且對(duì)所述授權(quán)文件進(jìn)行授權(quán)認(rèn)證,包括:
4.根據(jù)權(quán)利要求2所述的微控制器的微容器化方法,其特征在于,所述對(duì)所述待啟動(dòng)的微容器在用戶空間及內(nèi)核空間的訪問(wèn)進(jìn)行權(quán)限設(shè)置,包括:
5.根據(jù)權(quán)利要求1所述的微控制器的微容器化方法,其特征在于,所述方法還包括:
6.根據(jù)權(quán)利要求1所述的微控制器的微容器化方法,其特征在于,所述方法還包括:
7.根據(jù)權(quán)利要求1所述的微控制器的微容器化方法,其特征在于,所述方法還包括:
8.一種具有微容器的微控制器,其特征在于,所述具有微容器的微控制器包括:內(nèi)核空間、中間空間、用戶空間;
9.根據(jù)權(quán)利要求8所述的具有微容器的微控制器,其特征在于,所述微容器包括頭文件、授權(quán)文件和微容器程序;
10.根據(jù)權(quán)利要求8所述的具有微容器的微控制器,其特征在于,所述微容器之間通過(guò)進(jìn)程間通信方式進(jìn)行通信。