- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VxWorks内存管理机制研究及改进.doc
VxWorks内存管理机制研究及改进
第7卷第6期2007年3月
1671-1819(2007)6-1218-04
科学技术与工程
ScienceTechnologyandEngineering
Vo1.7No.6Mar.2007
⑥2007Sci.Tech.Engng.
VxWorks内存管理机制研究及改进
刘东栋
(西北工业大学软件与微电子学院,西安710065)
摘要对于没有内存管理单元MMU机制的嵌入式系统,采用实存储器管理策略的关键问题是有效,安全,可靠地使用内
存.文中通过研究嵌入式开发对内存管理的基本要求,嵌入式开发内存管理的关键问题和VxWorks内存管理机制,给出了新
的内存分配方案,即把除VxWorks系统保留内存以外的内存分为三种类型进行管理:固定大小的缓冲池,动态可变的堆以及
由各种固定大小的缓冲区组成的队列.这种分配方案有效的满足了不同上层应用使用内存的需求,并且有效地避免了内存
碎片问题.
关键词嵌入式系统内存管理快速内存分配内存碎片VxWorks
中图法分类号TP316.2;文献标识码
目前,对有内存管理单元MMU(MemoryMan-
agementUnit)的处理器设计的一些桌面操作系
统¨J,如Windows,Linux,使用了虚拟存储器的概
念.虚拟内存地址被送到MMU映射为物理地址,
实际存储器被分割为相同大小的页面,采用分页的
方式载人进程.
大多数嵌入式系统对没有MMU的处理器设
计,不能使用处理器的虚拟内存管理技术,采用的
是实存储器管理策略.因而,对于内存的访问是直
接的,它对地址的访问不需要经过MMU,而是直接
送到地址线上输出,所有程序中访问的地址都是实
际的物理地址;而且,大多数嵌入式操作系统对内
存空间没有保护,各个进程实际上共享一个运行空
间.一个进程在执行前,系统必须为它分配足够的
连续地址空间,然后全部载入主存储器的连续空间.
由此可见,嵌入式系统的开发人员不得不参与
系统的内存管理.从编译内核开始,开发人员必须
告诉系统这块开发板到底拥有多少内存;在开发应
用程序时,必须考虑内存的分配情况并关注应用程
序需要运行空间的大小.另外,由于采用实存储器
管理策略J,用户程序同内核以及其他用户程序在
一
个地址空间,程序开发时要保证不侵犯其他程序
的地址空间,以使得程序不至于破坏系统的正常工
作,或导致其他程序的运行异常;因而,嵌入式系统
的开发人员对软件中的一些内存操作要格外小心.
1嵌人式系统中对内存分配的要求
嵌入式系统开发中对内存的分配有很高的要
求,①内存能快速申请和释放,即快速性.嵌入式
系统中对实时陛的保证,要求内存分配过程要尽可
能地快;②内存分配保持原子性,即可靠性.也就
是内存分配的请求必须得到满足,如果分配失败,
可能会带来灾难性的后果;③内存应该各尽其用,
即高效性.内存分配要尽可能地少浪费.不可能
为了保证满足所有的内存分配请求而将内存配置
得无限大.
2VxWorks内存管理机制
2006年l1月15日收到
第一作者简介:刘东栋(1978一),男,甘肃省镇原县人,硕士,研VxWorks采用用户程序,内核处于同一个地址
究方向:领域为软件工程技术及其应用.E-mail:liu?dongdong@空间的内存管理策略,软件开发人员在开发程序时
如?‰必须保证不侵犯其他程序和内核的地址空间,以免
6期刘东栋:VxWorks内存管理机制研究及改进
破坏系统的正常工作,或导致其他程序异常运行.
内核负责为程序分配内存,动态分配内存和回收内
存.VxWorks为用户提供两种内存区域:内存域re—
gion和内存分区partition,region是可变长的内存
区,可以从创建的region中在分配段segment,region
的特点是容易产生碎片,但灵活,不浪费,partition
是定长的内存区,用户可以从创建的partition中分
配内存块,或在某个内存分区中再创建一个内存分
区Opartition的特点是无碎片,效率高,但浪费.通
常,VxWorks内核和应用程序对内存的操作是基于
内存分区进行的.内存池是一块连续的内存区域,
包含一个或多个内存块.内存分区包含分区自身
的描述信息(一个结构体)和一个或多个内存池,描
述信息保存在系统内存分区中,内存池是该分区实
际拥有的内存空间.内存分区刚创建完毕时,只有
一
个内存池,以后用户程序可往该分区中添加内存
池.内存池之间的地址不一定连续,VxWorks在启
动过程中会创建一个包含系统内存池的系统内存
分区J,如图1所示.
USERRI落踟EDM蹦
$y,tlraMem,p∞l
WDBFO0LSIZE
Vxw口|k晚姆矗强
(d矗舡,lext,,bss)
InllialSt.ck
RESE】孵E1)
您可能关注的文档
最近下载
- 2025届安徽省A10联盟高三上学期开学考-英语试题(含答案).docx VIP
- 周围神经损伤的护理.pptx VIP
- 设计院电气专业面试常见问题汇总与标准答案.pdf VIP
- 2021年福建省福州一中自主招生数学试卷.pdf VIP
- 化学-安徽省1号卷A10联盟2025届高三上学期8月开学摸底考试试题和答案.docx VIP
- 安徽省A10联盟2025届高三上学期8月开学摸底考试生物试卷(含答案).docx VIP
- 2025年营养与膳食.pptx VIP
- 安徽省A10联盟2025届高三上学期8月开学摸底考试地理试卷(含答案).pdf VIP
- 中国通史16.ppt VIP
- 车租赁代驾合同.doc VIP
文档评论(0)