基于Forth虛擬機的嵌入式操作系統(tǒng)內(nèi)存管理模塊的設計與實現(xiàn)
發(fā)布時間:2020-03-27 23:11
【摘要】:隨著物聯(lián)網(wǎng)的發(fā)展,基于Forth虛擬機的嵌入式操作系統(tǒng)在心率監(jiān)測器、生物基因工程、人工智能、機器學習等熱門領域的應用越來越廣泛,對系統(tǒng)的實時性、并發(fā)性、穩(wěn)定性和安全性的要求不斷提高,對系統(tǒng)的內(nèi)存管理也提出了新的需求?煽俊⒏咝У膬(nèi)存管理模塊成為該系統(tǒng)不可或缺的部分。然而基于Forth虛擬機的嵌入式操作系統(tǒng)原有的內(nèi)存管理則沿用了Forth系統(tǒng)一貫的方式和習慣。這類系統(tǒng)通常采用已知調(diào)度時機的協(xié)同式輪詢調(diào)度機制,使得系統(tǒng)的內(nèi)存映像可預知。為了簡化系統(tǒng)設計、充分發(fā)揮Forth擅長的底層操作能力,在多任務內(nèi)存空間管理上采用了靜態(tài)的方式向內(nèi)存地址增加的方向為任務順序地分配內(nèi)存,并且不提供內(nèi)存回收和空間復用機制,將內(nèi)存直接交給開發(fā)者管理,沒有提供完整的內(nèi)存管理模塊。隨著基于Forth虛擬機的優(yōu)先級搶占和分時輪轉(zhuǎn)調(diào)度算法研究的興起,實時、并發(fā)多任務的出現(xiàn)使得調(diào)度時機和內(nèi)存映像變得無法預知,現(xiàn)有粗放式的內(nèi)存管理方式將難以適應當今Forth系統(tǒng)的發(fā)展。為了提高系統(tǒng)的內(nèi)存利用率、增加系統(tǒng)的穩(wěn)定性和安全性、方便開發(fā)者使用,有必要打破Forth原有的內(nèi)存管理方式,開發(fā)一種基于Forth虛擬機的動態(tài)內(nèi)存管理模塊,以滿足基于Forth虛擬機的嵌入式操作系統(tǒng)在實時性、并發(fā)性等方面的需求。本文選題于國家自然科學基金資助項目——Forth虛擬機架構(gòu)的嵌入式操作系統(tǒng)關鍵技術研究的子課題,為多任務管理、多任務實時調(diào)度等相關子課題的研究提供動態(tài)內(nèi)存管理模塊。本文通過對Forth虛擬機、任務調(diào)度、多任務管理等關鍵技術的研究,設計并實現(xiàn)了一種基于Forth虛擬機的嵌入式操作系統(tǒng)的動態(tài)分區(qū)內(nèi)存管理算法,并在嵌入式平臺上驗證了該算法的正確性、可行性和有效性。該算法實現(xiàn)了硬件抽象,屏蔽了系統(tǒng)底層硬件細節(jié),增加了算法的可移植性,不僅提供了內(nèi)存分配和內(nèi)存回收機制,還實現(xiàn)了內(nèi)存信息掉電恢復功能,為選題項目的其它子課題的研究提供了安全、高效的內(nèi)存管理模塊。
【圖文】:
Forth虛擬機依托于Forth核心字典,米用穿線編碼技術搜索字典結(jié)構(gòu),以核逡逑心算法DO_NEXT為基礎實現(xiàn)Forth虛擬機和宿主機指令之間的映射,使用Forth逡逑虛擬機的核心指令模擬CPU的處理過程[55]。隨著芯片技術和編譯技術的發(fā)展,逡逑Forth虛擬機也被不斷改進,增加了一些必要的寄存器到Forth虛擬機中[56]。以逡逑ATmega為例,Forth虛擬機和CPU的部分指令映射關系如表2.1所示。逡逑邐表2.1寄存器映射邐逡逑Forth邋Register邐邐ATmega邋Register邐逡逑W:Working邋Register邐R22:R23逡逑IP:Instruction邋Pointer邐XH:XL(R27:R26)逡逑RSP:Retum邋Stack邋Pointer邐SPH:SPL逡逑PSP:Parameter邋Stack邋Pointer邐YH:YL(R29:R28)逡逑UP:User邋Pointer邐R4:R5逡逑TOS:Top邋of邋Stack邐R24:R25逡逑:emorarReister邐ZH:ZLR31邋:R30
③將返回棧指針RSP的值加2。逡逑2_邋3邋FVM0S的整體架構(gòu)逡逑FVMOS的整體架構(gòu)如圖2.2所示。該架構(gòu)的Forth核心字典和Forth虛擬機逡逑構(gòu)成了邋Forth基本系統(tǒng)(Forth邋Base邋System,邋FBS),其中Forth虛擬機的核心算法逡逑為DO_NEXT,該算法實現(xiàn)了邋Forth虛擬機指令與宿主機指令的一一對應。Forth逡逑核心字典中包括基本字、匯編字和核心字。Forth基本系統(tǒng)的底層為CODE定義,逡逑上層為高級定義(冒號定義)。為了使得目標系統(tǒng)更簡潔,該架構(gòu)設置了可裁剪的逡逑Forth基本系統(tǒng),如果應用環(huán)境不需要在線交互,則該系統(tǒng)中可以裁去文本解釋器逡逑[1]。FVMOS架構(gòu)運行在Forth核心字典和主控循環(huán)QUIT之上,,屏蔽了底層硬件逡逑細節(jié),有效地增加了系統(tǒng)的安全性和可移植性。FVMOS將Forth虛擬機上運行的逡逑可重入的Forth代碼全部存儲到FLASH中
【學位授予單位】:云南大學
【學位級別】:碩士
【學位授予年份】:2019
【分類號】:TP302;TP316;TP333
本文編號:2603528
【圖文】:
Forth虛擬機依托于Forth核心字典,米用穿線編碼技術搜索字典結(jié)構(gòu),以核逡逑心算法DO_NEXT為基礎實現(xiàn)Forth虛擬機和宿主機指令之間的映射,使用Forth逡逑虛擬機的核心指令模擬CPU的處理過程[55]。隨著芯片技術和編譯技術的發(fā)展,逡逑Forth虛擬機也被不斷改進,增加了一些必要的寄存器到Forth虛擬機中[56]。以逡逑ATmega為例,Forth虛擬機和CPU的部分指令映射關系如表2.1所示。逡逑邐表2.1寄存器映射邐逡逑Forth邋Register邐邐ATmega邋Register邐逡逑W:Working邋Register邐R22:R23逡逑IP:Instruction邋Pointer邐XH:XL(R27:R26)逡逑RSP:Retum邋Stack邋Pointer邐SPH:SPL逡逑PSP:Parameter邋Stack邋Pointer邐YH:YL(R29:R28)逡逑UP:User邋Pointer邐R4:R5逡逑TOS:Top邋of邋Stack邐R24:R25逡逑:emorarReister邐ZH:ZLR31邋:R30
③將返回棧指針RSP的值加2。逡逑2_邋3邋FVM0S的整體架構(gòu)逡逑FVMOS的整體架構(gòu)如圖2.2所示。該架構(gòu)的Forth核心字典和Forth虛擬機逡逑構(gòu)成了邋Forth基本系統(tǒng)(Forth邋Base邋System,邋FBS),其中Forth虛擬機的核心算法逡逑為DO_NEXT,該算法實現(xiàn)了邋Forth虛擬機指令與宿主機指令的一一對應。Forth逡逑核心字典中包括基本字、匯編字和核心字。Forth基本系統(tǒng)的底層為CODE定義,逡逑上層為高級定義(冒號定義)。為了使得目標系統(tǒng)更簡潔,該架構(gòu)設置了可裁剪的逡逑Forth基本系統(tǒng),如果應用環(huán)境不需要在線交互,則該系統(tǒng)中可以裁去文本解釋器逡逑[1]。FVMOS架構(gòu)運行在Forth核心字典和主控循環(huán)QUIT之上,,屏蔽了底層硬件逡逑細節(jié),有效地增加了系統(tǒng)的安全性和可移植性。FVMOS將Forth虛擬機上運行的逡逑可重入的Forth代碼全部存儲到FLASH中
【學位授予單位】:云南大學
【學位級別】:碩士
【學位授予年份】:2019
【分類號】:TP302;TP316;TP333
【參考文獻】
相關期刊論文 前3條
1 代紅兵;楊為民;王麗清;周永錄;;多目標Forth自生成器的研究與實現(xiàn)[J];計算機應用研究;2014年04期
2 王麗清;楊為民;代紅兵;周永錄;;嵌入式FORTH虛擬計算機的實現(xiàn)[J];電子世界;2013年18期
3 謝銀橋;李廣軍;;基于μC/OS-II的一種嵌入式系統(tǒng)內(nèi)存管理方案[J];福建電腦;2006年07期
相關碩士學位論文 前2條
1 池元武;嵌入式實時操作系統(tǒng)動態(tài)內(nèi)存管理優(yōu)化方案的研究[D];上海交通大學;2011年
2 柴繼國;嵌入式系統(tǒng)內(nèi)存管理的研究與實現(xiàn)[D];電子科技大學;2006年
本文編號:2603528
本文鏈接:http://sikaile.net/guanlilunwen/glzh/2603528.html