国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

嵌入式軟件虛擬內(nèi)存管理平臺的實(shí)現(xiàn)研究

2021-05-07 02:49王曉航許亞星李興智
中國信息化 2021年4期
關(guān)鍵詞:嵌入式軟件嵌入式進(jìn)程

王曉航 許亞星 李興智

虛擬內(nèi)存管理平臺在操作系統(tǒng)功能實(shí)現(xiàn)過程中具有極為重要的價(jià)值,由于嵌入式設(shè)備與應(yīng)用具有的作用特性,在實(shí)際應(yīng)用過程中必須具備一種與其性能需求相對應(yīng)的虛擬內(nèi)存管理機(jī)制,源的有限性及嵌入式應(yīng)用實(shí)施性和可移植性的特點(diǎn),必須具有一種能滿足嵌入式設(shè)備與應(yīng)用的虛擬內(nèi)存管理機(jī)制,因此要從設(shè)計(jì)與思想兩個(gè)角度開展,以便于可實(shí)現(xiàn)。

一、引言

嵌入式軟件環(huán)境下需要加強(qiáng)對操作系統(tǒng)的虛擬內(nèi)存管理,目前被廣泛應(yīng)用的操作系統(tǒng)內(nèi)存管理極為原始,大多數(shù)嵌入式軟件系統(tǒng)都沒有集成對應(yīng)的存儲設(shè)備,伴隨著嵌入式內(nèi)存管理技術(shù)逐步走向成熟,嵌入式軟件技術(shù)被廣泛應(yīng)用多種技術(shù)領(lǐng)域,在應(yīng)用過程中逐步加入內(nèi)存管理技術(shù),不僅整體運(yùn)行環(huán)境能得到優(yōu)化,操作系統(tǒng)的性能也逐步得到提升。在嵌入式操作系統(tǒng)中加入虛擬內(nèi)存管理技術(shù),能很好提升操作系統(tǒng)的管理效能和運(yùn)行可靠性。根據(jù)嵌入式系統(tǒng)的性能特點(diǎn),剖析操作系統(tǒng)的虛擬內(nèi)存機(jī)制,找到一種能滿足嵌入式環(huán)境下開展虛擬內(nèi)存管理的實(shí)施方法。虛擬內(nèi)存管理平臺與計(jì)算機(jī)操作系統(tǒng)相互脫離,并且是獨(dú)立的管理平臺,保障功能的可實(shí)現(xiàn)。

二、設(shè)計(jì)宗旨

虛擬內(nèi)存機(jī)制在嵌入式環(huán)境中對操作系統(tǒng)的運(yùn)行有著極為重要的支持作用,能夠在運(yùn)行過程中保持較大的運(yùn)行空間對系統(tǒng)的運(yùn)行保持支持,可以有效對操作系統(tǒng)的運(yùn)行進(jìn)程以有效的支持,保護(hù)操作系統(tǒng)的運(yùn)行進(jìn)程,保持內(nèi)存映射和共享虛擬內(nèi)存。嵌入式軟件體系在運(yùn)行過程中缺乏必要的存儲設(shè)備,并且操作系統(tǒng)的內(nèi)涵與體積都較小,能夠使內(nèi)存空間長期保持,是否連帶著硬件存儲設(shè)備就顯得不再重要,系統(tǒng)性能和運(yùn)行效率不會有太大的影響。同時(shí),嵌入式軟件系統(tǒng)在運(yùn)行過程中引入虛擬內(nèi)存管理的請求很大程度上會造成操作系統(tǒng)延時(shí),會影響操作系統(tǒng)的運(yùn)行效率,根據(jù)嵌入式系統(tǒng)的特點(diǎn):造成問題的主要原因:頁面因調(diào)度造成系統(tǒng)反應(yīng)延時(shí),系統(tǒng)響應(yīng)的確定性降低;操作系統(tǒng)的運(yùn)行進(jìn)程被頻繁調(diào)用,影響了其他進(jìn)程的調(diào)用,其他進(jìn)程的反應(yīng)時(shí)間被延長。綜合上述造成問題的兩種原因,一般來說嵌入式系統(tǒng)的虛擬內(nèi)存管理都不提供對請求分頁機(jī)制的支持。因此在運(yùn)用嵌入式軟件系統(tǒng)過程要具備三點(diǎn)功能:一是內(nèi)存能被有效映射;二是對嵌入式軟件系統(tǒng)產(chǎn)生的進(jìn)程有效保護(hù);三是對虛擬內(nèi)存資源實(shí)現(xiàn)高效共享。虛擬內(nèi)存管理平臺的實(shí)現(xiàn)還依賴于存儲設(shè)備的支持,不同種類處理器的虛擬內(nèi)存的實(shí)現(xiàn)方式有著不同,為使虛擬內(nèi)存管理平臺的功能得到全面實(shí)現(xiàn),要在設(shè)計(jì)過程中屏蔽不同處理器的差異,要在上層組織層面實(shí)現(xiàn)上設(shè)置統(tǒng)一的標(biāo)準(zhǔn)化接口,操作規(guī)范也要實(shí)現(xiàn)標(biāo)準(zhǔn)化,實(shí)現(xiàn)有效的交互共享。

(一)內(nèi)存映射

在嵌入式環(huán)境中,操作系統(tǒng)的內(nèi)存映射是虛擬空間到物理空間形成完善的過程,內(nèi)存映射的存在是虛擬內(nèi)存管理平臺構(gòu)建的基礎(chǔ),虛擬內(nèi)存機(jī)制諸多功能的實(shí)現(xiàn)都需要內(nèi)存映射的支持,內(nèi)存映射的實(shí)現(xiàn)也和操作系統(tǒng)的內(nèi)置存儲設(shè)備有關(guān)。從功能實(shí)現(xiàn)角度來看,內(nèi)存映射實(shí)現(xiàn)的過程就是虛擬地址到物理地址轉(zhuǎn)換的過程,虛擬地址與物理地址也要一一對應(yīng),內(nèi)存映射的最終獲得也要與虛擬地址相對應(yīng)。由于計(jì)算機(jī)操作系統(tǒng)的存儲地址以頁變換為主,內(nèi)存映射產(chǎn)生的最小的變換單位也是頁,虛擬空間與物理空間開始的地址也以頁的方式完成,形成的映射關(guān)系也是映射關(guān)系。

(二)頁訪問屬性

在嵌入式軟件環(huán)境中,操作系統(tǒng)的存儲設(shè)備提供了多種類的訪問屬性組合。每一種頁的訪問屬性組合要實(shí)現(xiàn)的功能與訪問目標(biāo)都有著差異。為了保持系統(tǒng)頁屬性組合的合理性,要對每種頁的屬性組合合理規(guī)劃,是否可寫、是否可讀、是否存在、是否達(dá)到功能目標(biāo)等。如果頁的屬性組合可Cache,在可Cache的情況下進(jìn)行操作要區(qū)分頁的屬性組合是否具有全局屬性,能否覆蓋到全局代碼和程序,是否是透寫、是否是回寫等。在實(shí)踐過程中,根據(jù)頁的屬性訪問組合也可以有效完成一些系統(tǒng)設(shè)置,可以快速啟動內(nèi)存保護(hù)功能,實(shí)現(xiàn)對閃存的保護(hù)等。同時(shí),頁的屬性組合也能有效提升操作系統(tǒng)的安全性、可靠性,與內(nèi)存映射具有相同的作用,能夠根據(jù)虛擬地址快速查找物理地址,根據(jù)地址轉(zhuǎn)換表的類目設(shè)置確定詳細(xì)的無理地址,幫助系統(tǒng)進(jìn)程快速寫入。

(三)進(jìn)程保護(hù)和共享虛擬內(nèi)存

虛擬內(nèi)存上下文與任務(wù)上下文在結(jié)構(gòu)和性能上有著本質(zhì)的差異,二者在實(shí)現(xiàn)和功能目標(biāo)上都有著不同,在實(shí)際執(zhí)行過程中,為了對操作系統(tǒng)各程序的運(yùn)行進(jìn)程實(shí)現(xiàn)高效管理,需要對各個(gè)程序的進(jìn)程實(shí)現(xiàn)統(tǒng)籌,因?yàn)槊總€(gè)程序會存儲在大小適中的虛擬空間中,對于虛擬內(nèi)存的有效管理是虛擬內(nèi)存上下文要做好的重要任務(wù)。讓虛擬內(nèi)存管理更加便捷,對虛擬內(nèi)存空間要合理劃分,要劃分為全局虛擬內(nèi)存存儲區(qū)域和私有內(nèi)存區(qū)域,對于一些代碼、訪問對象和信號量要進(jìn)行全局的虛擬內(nèi)存管理,系統(tǒng)的運(yùn)行程序也要置放在全局虛擬內(nèi)存管理體系中,既要合理區(qū)分虛擬內(nèi)存管理對象,也要將不同對象存儲在合適的虛擬內(nèi)存區(qū)域,保障虛擬內(nèi)存資源的有效共享。

三、虛擬內(nèi)存管理功能的實(shí)現(xiàn)

(一)層次結(jié)構(gòu)

虛擬內(nèi)存管理平臺應(yīng)具有一定的層次結(jié)構(gòu),要考慮到操作系統(tǒng)的特點(diǎn),設(shè)置不同的功能層,要考慮到運(yùn)行環(huán)境的特點(diǎn),設(shè)置處理器無關(guān)層和處理器有關(guān)層,通過兩個(gè)功能層的實(shí)現(xiàn)虛擬內(nèi)存管理,處理器無關(guān)層需要單獨(dú)設(shè)置,與處理器無關(guān)層互相區(qū)分開。處理器有關(guān)層和處理器無關(guān)層之間要設(shè)置接口函數(shù)列表、屬性掩碼轉(zhuǎn)換表用以數(shù)據(jù)交互。處理器有關(guān)層要有ARM、PPC、X86。處理器有關(guān)層和處理器無關(guān)層之間的接口函數(shù)列表、屬性掩碼轉(zhuǎn)換表用以兩個(gè)結(jié)構(gòu)層之間的通信,接口函數(shù)列表完成MMU基本功能的函數(shù)集合,由相關(guān)層填寫并傳遞給無關(guān)層。屬性轉(zhuǎn)換表將無關(guān)層屬性轉(zhuǎn)換成相關(guān)層屬性完成轉(zhuǎn)換頁的屬性設(shè)置。相關(guān)層與無關(guān)層的掩碼值轉(zhuǎn)換由掩碼轉(zhuǎn)換表完成。

(二)屬性掩碼轉(zhuǎn)換表的功能實(shí)現(xiàn)

在虛擬內(nèi)存管理過程中,無關(guān)層與上層在對一些程序進(jìn)程進(jìn)行處理的時(shí)候,要有頁碼屬性和掩碼組合的支持,頁屬性只有經(jīng)過掩碼轉(zhuǎn)換表的處理才能轉(zhuǎn)換為可供處理器識讀和判別的頁屬性和掩碼。頁屬性掩碼轉(zhuǎn)換表需要在頁屬性的基礎(chǔ)上進(jìn)行構(gòu)建,也需要掩碼映射表的配合,處理器相關(guān)層需要定義頁屬性和掩碼轉(zhuǎn)換表,頁屬性結(jié)構(gòu)和掩碼轉(zhuǎn)換表的表項(xiàng)結(jié)構(gòu)要符合處理器相關(guān)層的結(jié)構(gòu)。

(三)虛擬內(nèi)存上下文的實(shí)現(xiàn)

通常情況下,嵌入式處理器會通過多級地址完成,輔助處理器轉(zhuǎn)換就需要地址轉(zhuǎn)換表配合,先通過系統(tǒng)寄存器獲得第一級地址,根據(jù)第一級地址和虛擬地址快速查詢其他幾級地址,進(jìn)而快速獲得下幾級地址的物理地址。通過多級的地址轉(zhuǎn)換,虛擬空間轉(zhuǎn)換表對應(yīng)所有虛擬地址的虛擬頁,地址轉(zhuǎn)換表中涵蓋的所有類目就包括所有虛擬頁總和。因此,在程序運(yùn)行進(jìn)程的交互切換中,程序進(jìn)程具有的虛擬內(nèi)存上下文在換出與換入過程中要保持一致性,要形成線性特點(diǎn),通過對活躍的程序進(jìn)程虛擬內(nèi)存上下文的調(diào)用設(shè)置標(biāo)準(zhǔn)的函數(shù)接口,使程序進(jìn)程在切換過程中,其虛擬內(nèi)存上下文與任務(wù)上下文保持一直。

四、結(jié)語

本文探究了一種新型嵌入式軟件虛擬內(nèi)存管理平臺,針對嵌入式環(huán)境及軟件體系的特點(diǎn)對虛擬內(nèi)存管理問題進(jìn)行剖析,并提出了新的解決方案,通過虛擬內(nèi)存管理平臺的搭建使相關(guān)層屏蔽不同處理器的實(shí)現(xiàn)差異,借助頁屬性組合和多種標(biāo)準(zhǔn)化的函數(shù)接口實(shí)現(xiàn)高效地虛擬內(nèi)存管理,達(dá)到既定的虛擬內(nèi)存管理優(yōu)化目標(biāo)。

作者單位:中國航空工業(yè)集團(tuán)公司西安航空計(jì)算技術(shù)研究所

猜你喜歡
嵌入式軟件嵌入式進(jìn)程
基于ARM7TDMI架構(gòu)的嵌入式軟件逆向工程分析方法
Dalvik虛擬機(jī)進(jìn)程模型研究
淺析嵌入式軟件技術(shù)的現(xiàn)狀與發(fā)展動向
快速殺掉頑固進(jìn)程
不留死角 全方位監(jiān)控系統(tǒng)
基于模型檢查的嵌入式軟件構(gòu)件化分析與驗(yàn)證
嵌入式軟件在計(jì)算機(jī)軟件開發(fā)過程中的運(yùn)用
中外民主法制進(jìn)程專題復(fù)習(xí)
嵌入式LINUX操作系統(tǒng)的研究
嵌入式組件技術(shù)的研究及應(yīng)用