嵌入式系统实验的报考-内存管理系统.pdf

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实用标准文案 嵌入式系统 实验二 扩展的动态内存管理机制 电子工程学院 余彦培 学号: 086504 [ 实验目的 ] 在了解实时嵌入式操作系统内存管理机制的特点以及实时处理对内存管理需求的基础 上,练习并掌握有效处理内存碎片的内存管理机制, 同时理解防止内存泄漏问题的良好设计 方法。 [ 实验环境 ] VxSim [ 实验原理及要点(知识点) ] 实时多任务操作系统(如 VxWorks )为保证其时实性,在内存管理方面往往采用 最简单有效的方式进行(如 malloc/free ),但同时会辅以扩展功能(如内存分区 - Memory Partition 、Cache 安全等)以满足用户对内存操作的基本需求。 但实践者应该认识到, 在使用操作系统所提供的内存管理机制时, 需注意防止其造 成的潜在危险, 需要形成良好的使用习惯, 同时根据应用的特点适当扩展。 其关键点在 于: 1. 实时系统的内存管理的主要目标为:快速、高效、高可靠; 2. 内存碎片(外部碎片)是危害系统稳定的重要原因之一; 3. 预先规划是达到以上目标的一种良好手段。 由于实时系统无法使用复杂的内存管理 机制(如垃圾回收等) ,用户可以根据实时应用使用内存的特点,扩展自己私有的 精彩文档 实用标准文案 内存管理机制; 4. 内存泄漏的防治主要依赖于内存使用上严谨的编程习惯。 [ 实验内容 ] 1. 使用预先规划的思想,构建自己的私有内存管理机制,在系统内存池中申请内存, 并将其纳入私有内存管理机制中,形成静态预分配内存池; 2. 静态预分配内存池支持一种以上固定长度内存池, 如 16 字节内存池和 256 字节内 存池。 固定长度内存池的单块长度应考虑体系结构开销, 并尽量减少内部碎片; 固 定长度内存池数量应可配置; 3. 静态预分配内存池与系统内存池的统一管理机制。 向用户分配内存时应保证长度最 佳匹配原则。 当申请内存的长度超过静态预分配长度或资源不足时, 自动向系统内 存池申请; 4. 管理机制包括: a) 初始化函数; b) 内存申请 / 释放函数。并特别要保证释放安全; c) 告警机制; d) 管理监视机制。 5. 利用可能的互斥机制或代码可重入设计,保证以上管理机制的操作安全性; 6. 创建多 Task 环境测试及演示以上内容。 [ 操作说明及功能描述 ] 运行程序, 在 shell 中输入 progStart 启动程序。 程序将开始申请大小分别为: 44 ,55 , 精彩文档 实用标准文案 54 ,76 , 11 ,5 ,4 ,666 的八块内存地址,在申请完成后又分别释放这八块内存。 在VxSim 中我们看以看到内存的使用状况如图: 在这里, VxSim 中将分别显示出: 1 , 任务申请 / 释放内存大小 2 , 内存池 1 (用于分配申请大小 <=16 时的内存)的剩余可用块个数以及内存池 2 (用于分配申请大小在 16 与 256

文档评论(0)

wanggx999 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档