嵌入式实时系统ARTs-OS的动态内存管理研究
发布时间:2020-07-16 06:37
【摘要】:随着多媒体信息技术和互联网的飞速发展,以及消费类电子产品智能化趋势的加强,嵌入式系统得到越来越广泛和深入的应用。在航空航天、工业控制、医疗等重要领域中,嵌入式系统的安全性和可靠性显得尤为重要。内存管理技术的研究对保证嵌入式实时系统中数据存储的安全性和可靠性具有重要意义。动态内存管理的基本任务就是有效地对动态内存进行分配和回收,并同时保证系统的快速性、可靠性和稳定性。 ARTs-OS是微内核抢占式嵌入式实时操作系统,在对ARTs-OS内核的内存管理模块研究基础上,重点研究动态存储分配算法(DSA),这也是提高嵌入式实时系统性能的关键。ARTs-OS系统中使用的动态内存分配算法有Slab算法,适合对内核堆小块内存的分配和释放;还有伙伴算法,用于对页面的管理,大块内存的分配和释放。通过对常用DSA算法的比较,得出TLSF(Two-Level Segregated Fit)算法是性能最优,且满足嵌入式RTOS的需求,该算法在分配和释放的时间复杂度都是O(1)。通过对TLSF的研究,提出改进的TLSF算法的方案,改进的TLSF算法对TLSF的优化在于结合了先进先出和后进先出两种策略,尽量不切分整块的内存,而选择释放后合并的块进行切分。 在介绍了改进的TLSF算法之后,给出在算法实现过程中所运用到的优化策略。最后编写测试任务对内存管理模块进行性能测试,对TLSF算法,改进TLSF算法以及系统原有的伙伴算法进行比较,给出实验结果,并对各算法分配响应时间、释放响应时间还有内碎片的情况进行分析。实验证明,改进的TLSF算法比TLSF算法有所改进,而且比原系统的伙伴算法性能更优。
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2010
【分类号】:TP333.1
【图文】:
(Simple Segregated Storage)如果取得的内存块比)。这种算法的优点是不用在每个空闲块都加头结点一组同样大小块的头结点。还有一个很重要的优点就快,为 O(1)时间复杂度。egregated Fit)。这个算法使用一组空闲链表,每一当请求分配某一大小的内存块时,在相关大小类中搜块。搜索可以采取最先匹配原则。当取得的块比请求足请求。配方案,合并可能会增加时间。当一个内存块要释放空闲链表。显然地,使用 knuth 的边界标签技术,
2)分界标签。许多分配算法都支持合并,并使用 boundary tags(k空闲的区域。分界标签的结构图如 2-2 所示,每一个内存块都有并都存储内存块的大小和是否空闲信息。当一个内存块被释放时个内存块的尾结点看是否是空闲的,如果是空间的,则可以合并下一个内存块的头结点看是否空闲。如果邻近的内存块是空闲的大的内存块。使用边界标签是为了两个重要功能:一是两个相邻被结合成一个更大的块,方便合并,减少外碎片;二是使所有的知块开始向前或向后的方向被遍历。外,使用分界标签要避免溢出,有一个简单的优化可以避免溢出块被使用,则尾结点不需要。仅仅是标志位 flag 需要,用来标识被合并。当内存块被释放时,仅仅是头结点有用,可以用来合并[1
3 ARTs-OS 的内存管理系统RTs-OS 是实验室自主研发的一个微内核抢占式嵌入式实时操作系统。容是围绕课题组项目——ARTs-OS 操作系统移植展开的,该项目OS 从 S3C2410 开发板到 AT91rm9200 开发板的移植。本文主要在足OS 内核的基础上,主要研究内存管理模块,并针对该模块对内存分配释出性能更优的内存管理方案。ARTs-OS 的系统结构RTs-OS 采用现代微内核设计思想和模块结构,分为四个层次:硬件L)、实时微内核层、系统服务层和用户接口层,支持动态裁剪和系统配置OS 体系结构如图 3-1 所示。
本文编号:2757663
【学位授予单位】:华中科技大学
【学位级别】:硕士
【学位授予年份】:2010
【分类号】:TP333.1
【图文】:
(Simple Segregated Storage)如果取得的内存块比)。这种算法的优点是不用在每个空闲块都加头结点一组同样大小块的头结点。还有一个很重要的优点就快,为 O(1)时间复杂度。egregated Fit)。这个算法使用一组空闲链表,每一当请求分配某一大小的内存块时,在相关大小类中搜块。搜索可以采取最先匹配原则。当取得的块比请求足请求。配方案,合并可能会增加时间。当一个内存块要释放空闲链表。显然地,使用 knuth 的边界标签技术,
2)分界标签。许多分配算法都支持合并,并使用 boundary tags(k空闲的区域。分界标签的结构图如 2-2 所示,每一个内存块都有并都存储内存块的大小和是否空闲信息。当一个内存块被释放时个内存块的尾结点看是否是空闲的,如果是空间的,则可以合并下一个内存块的头结点看是否空闲。如果邻近的内存块是空闲的大的内存块。使用边界标签是为了两个重要功能:一是两个相邻被结合成一个更大的块,方便合并,减少外碎片;二是使所有的知块开始向前或向后的方向被遍历。外,使用分界标签要避免溢出,有一个简单的优化可以避免溢出块被使用,则尾结点不需要。仅仅是标志位 flag 需要,用来标识被合并。当内存块被释放时,仅仅是头结点有用,可以用来合并[1
3 ARTs-OS 的内存管理系统RTs-OS 是实验室自主研发的一个微内核抢占式嵌入式实时操作系统。容是围绕课题组项目——ARTs-OS 操作系统移植展开的,该项目OS 从 S3C2410 开发板到 AT91rm9200 开发板的移植。本文主要在足OS 内核的基础上,主要研究内存管理模块,并针对该模块对内存分配释出性能更优的内存管理方案。ARTs-OS 的系统结构RTs-OS 采用现代微内核设计思想和模块结构,分为四个层次:硬件L)、实时微内核层、系统服务层和用户接口层,支持动态裁剪和系统配置OS 体系结构如图 3-1 所示。
【参考文献】
相关期刊论文 前10条
1 田令平;;嵌入式操作系统内存管理研究[J];电脑知识与技术;2006年11期
2 曾非一 ,桑楠 ,熊光泽;嵌入式系统内存管理方案研究[J];单片机与嵌入式系统应用;2005年01期
3 宋锦华;马传琦;;Linux内存管理-Buddy算法探究[J];福建电脑;2009年01期
4 沈勇,王志平,庞丽萍;对伙伴算法内存管理的讨论[J];计算机与数字工程;2004年03期
5 郑晓曦;张虎;;一种改进的伙伴系统内存管理方法[J];计算机与数字工程;2008年03期
6 孙益辉;陈凯;白英彩;;嵌入式操作系统内存管理机制分析及改进[J];计算机应用与软件;2006年03期
7 何煦岚;何晓岚;;基于多链表结构的嵌入式系统内存管理[J];计算机应用与软件;2008年04期
8 黄贤英,王越,陈媛;嵌入式实时系统内存管理策略[J];计算机工程与设计;2004年10期
9 王豫;谷建华;;两种主流嵌入式实时操作系统的研究[J];微处理机;2009年01期
10 王铮;李志军;;一种适用嵌入式系统的自适应动态内存管理方案[J];计算机技术与发展;2007年03期
相关硕士学位论文 前1条
1 李志军;面向嵌入式实时系统的动态内存管理方法研究[D];重庆大学;2007年
本文编号:2757663
本文链接:https://www.wllwen.com/kejilunwen/jisuanjikexuelunwen/2757663.html