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