基于Forth虚拟机的嵌入式操作系统内存管理模块的设计与实现
发布时间:2020-03-27 23:11
【摘要】:随着物联网的发展,基于Forth虚拟机的嵌入式操作系统在心率监测器、生物基因工程、人工智能、机器学习等热门领域的应用越来越广泛,对系统的实时性、并发性、稳定性和安全性的要求不断提高,对系统的内存管理也提出了新的需求。可靠、高效的内存管理模块成为该系统不可或缺的部分。然而基于Forth虚拟机的嵌入式操作系统原有的内存管理则沿用了Forth系统一贯的方式和习惯。这类系统通常采用已知调度时机的协同式轮询调度机制,使得系统的内存映像可预知。为了简化系统设计、充分发挥Forth擅长的底层操作能力,在多任务内存空间管理上采用了静态的方式向内存地址增加的方向为任务顺序地分配内存,并且不提供内存回收和空间复用机制,将内存直接交给开发者管理,没有提供完整的内存管理模块。随着基于Forth虚拟机的优先级抢占和分时轮转调度算法研究的兴起,实时、并发多任务的出现使得调度时机和内存映像变得无法预知,现有粗放式的内存管理方式将难以适应当今Forth系统的发展。为了提高系统的内存利用率、增加系统的稳定性和安全性、方便开发者使用,有必要打破Forth原有的内存管理方式,开发一种基于Forth虚拟机的动态内存管理模块,以满足基于Forth虚拟机的嵌入式操作系统在实时性、并发性等方面的需求。本文选题于国家自然科学基金资助项目——Forth虚拟机架构的嵌入式操作系统关键技术研究的子课题,为多任务管理、多任务实时调度等相关子课题的研究提供动态内存管理模块。本文通过对Forth虚拟机、任务调度、多任务管理等关键技术的研究,设计并实现了一种基于Forth虚拟机的嵌入式操作系统的动态分区内存管理算法,并在嵌入式平台上验证了该算法的正确性、可行性和有效性。该算法实现了硬件抽象,屏蔽了系统底层硬件细节,增加了算法的可移植性,不仅提供了内存分配和内存回收机制,还实现了内存信息掉电恢复功能,为选题项目的其它子课题的研究提供了安全、高效的内存管理模块。
【图文】:
Forth虚拟机依托于Forth核心字典,米用穿线编码技术搜索字典结构,以核逡逑心算法DO_NEXT为基础实现Forth虚拟机和宿主机指令之间的映射,使用Forth逡逑虚拟机的核心指令模拟CPU的处理过程[55]。随着芯片技术和编译技术的发展,逡逑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的整体架构逡逑FVMOS的整体架构如图2.2所示。该架构的Forth核心字典和Forth虚拟机逡逑构成了邋Forth基本系统(Forth邋Base邋System,邋FBS),其中Forth虚拟机的核心算法逡逑为DO_NEXT,该算法实现了邋Forth虚拟机指令与宿主机指令的一一对应。Forth逡逑核心字典中包括基本字、汇编字和核心字。Forth基本系统的底层为CODE定义,逡逑上层为高级定义(冒号定义)。为了使得目标系统更简洁,该架构设置了可裁剪的逡逑Forth基本系统,如果应用环境不需要在线交互,则该系统中可以裁去文本解释器逡逑[1]。FVMOS架构运行在Forth核心字典和主控循环QUIT之上,,屏蔽了底层硬件逡逑细节,有效地增加了系统的安全性和可移植性。FVMOS将Forth虚拟机上运行的逡逑可重入的Forth代码全部存储到FLASH中
【学位授予单位】:云南大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP302;TP316;TP333
本文编号:2603528
【图文】:
Forth虚拟机依托于Forth核心字典,米用穿线编码技术搜索字典结构,以核逡逑心算法DO_NEXT为基础实现Forth虚拟机和宿主机指令之间的映射,使用Forth逡逑虚拟机的核心指令模拟CPU的处理过程[55]。随着芯片技术和编译技术的发展,逡逑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的整体架构逡逑FVMOS的整体架构如图2.2所示。该架构的Forth核心字典和Forth虚拟机逡逑构成了邋Forth基本系统(Forth邋Base邋System,邋FBS),其中Forth虚拟机的核心算法逡逑为DO_NEXT,该算法实现了邋Forth虚拟机指令与宿主机指令的一一对应。Forth逡逑核心字典中包括基本字、汇编字和核心字。Forth基本系统的底层为CODE定义,逡逑上层为高级定义(冒号定义)。为了使得目标系统更简洁,该架构设置了可裁剪的逡逑Forth基本系统,如果应用环境不需要在线交互,则该系统中可以裁去文本解释器逡逑[1]。FVMOS架构运行在Forth核心字典和主控循环QUIT之上,,屏蔽了底层硬件逡逑细节,有效地增加了系统的安全性和可移植性。FVMOS将Forth虚拟机上运行的逡逑可重入的Forth代码全部存储到FLASH中
【学位授予单位】:云南大学
【学位级别】:硕士
【学位授予年份】:2019
【分类号】:TP302;TP316;TP333
【参考文献】
相关期刊论文 前3条
1 代红兵;杨为民;王丽清;周永录;;多目标Forth自生成器的研究与实现[J];计算机应用研究;2014年04期
2 王丽清;杨为民;代红兵;周永录;;嵌入式FORTH虚拟计算机的实现[J];电子世界;2013年18期
3 谢银桥;李广军;;基于μC/OS-II的一种嵌入式系统内存管理方案[J];福建电脑;2006年07期
相关硕士学位论文 前2条
1 池元武;嵌入式实时操作系统动态内存管理优化方案的研究[D];上海交通大学;2011年
2 柴继国;嵌入式系统内存管理的研究与实现[D];电子科技大学;2006年
本文编号:2603528
本文链接:https://www.wllwen.com/guanlilunwen/glzh/2603528.html