VxWorks内存管理机制研究及改进.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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)

文档评论(0)

cai + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档