- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
嵌入式系统开发-Chapter8-内存管理
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * INT8U OSMemPut (OS_MEM *pmem, void *pblk) { OS_ENTER_CRITICAL(); if (pmem-OSMemNFree = pmem-OSMemNBlks) { /* Make sure all blocks not already returned */ OS_EXIT_CRITICAL(); return (OS_MEM_FULL); } /* Insert released block into free block list */ *(void **)pblk = pmem-OSMemFreeList; pmem-OSMemFreeList = pblk; pmem-OSMemNFree++; /* One more memory block in this partition */ OS_EXIT_CRITICAL(); return (OS_NO_ERR); /* Notify caller that memory block was released*/ } OSMemPut Partition after OSMemPut pblk ? ? 第三节内存保护 内存保护可通过硬件提供的MMU(memory management unit)来实现。 目前,大多数处理器都集成了MMU: 大幅度降低那些通过在处理器外部添加MMU模块的处理方式所存在的内存访问延迟。 MMU现在大都被设计作为处理器内部指令执行流水线的一部分,使得使用MMU不会降低系统性能,相反,如果系统软件不使用MMU,还会导致处理器的性能降低。 在某些情况下,不使能MMU,跳过处理器的相应流水线,可能导致处理器的性能降低80%左右。 早期的嵌入式操作系统大都没有采用MMU: 一方面是出于对硬件成本的考虑; 另一方面是出于实时性的考虑。 嵌入式系统发展到现在,硬件成本越来越低,MMU所带来的成本因素基本上可以不用考虑 原来的嵌入式CPU的速度较慢,采用MMU通常会造成对时间性能的不满足,而现在CPU的速度也越来越快,并且采用新技术后,已经将MMU所带来的时间代价降低到比较低的程度 嵌入式CPU具有MMU的功能已经是一种必要的趋势。 由于采用MMU后对应用的运行模式甚至开发模式都会有一些影响,大量嵌入式操作系统都没有使用MMU。 对于安全性、可靠性要求高的应用来讲如果不采用MMU,则几乎不可能达到应用的要求。 如果没有MMU的功能,将无法防止程序的无意破坏,无法截获各种非法的访问异常,当然更不可能防止应用程序的蓄意破坏了。 采用MMU后,便于发现更多的潜在问题,并且也便于问题的定位。 未采用MMU时,内存模式一般都是平面模式,应用可以任意访问任何内存区域、任何硬件设备,程序中出现非法访问时,开发人员是无从知晓的,也非常难于定位。 MMU通常具有如下功能: 内存映射; 检查逻辑地址是否在限定的地址范围内,防止页面地址越界; 检查对内存页面的访问是否违背特权信息,防止越权操作内存页面; 在必要的时候(页面地址越界或是页面操作越权)产生异常。 应用 程序 逻辑地址 MMU 物理内存 物理地址 内存映射把应用程序使用的地址集合(逻辑地址)翻译为实际的物理内存地址(物理地址) 大多数处理器的典型页面大小为4K字节,有些处理器也可能使用大于4K字节的页面,但页面大小总是2的幂,以对发生在MMU中的地址映射行为流水线化。 当页放置到物理内存时,页面将放置到页框架(page frame)中。 页框架是物理内存的一部分,具有与页面同样的大小,且开始地址为页面大小的整数倍。 MMU包含着能够把逻辑地址映射为物理地址的表,称为页表。 操作系统能够在需要的时候对这种映射关系进行改变: 应用程序对内存的需求发生变化或是添加或删除应用程序的时候。 在应用程序中的任务发生上下文切换时。 页号 逻辑地址 偏移量 页框架 物理地址 偏移量 页表基址寄存器 特权和其他信息 页框架 页表 基于页表的内存映射过程 例如,一个系统具有32位的地址空间和4K字节的页面,32位的地址空间由20位的页号和12位的页内偏移量构成。MMU将检查20位的页号,并为该页面提供(根据MMU表进行映射)页框架地址。 每
您可能关注的文档
- 内蒙古福瑞中蒙药科技股份.pdf
- 农业畜牧专业职称考试 第三篇 农业法规法规篇.doc
- 农村集体非农建设用地流转创新研究.doc
- 冰箱及空调整的制冷方法.ppt
- 冷拔钢管与特种钢管生产工艺技术及质量检验、最新技术标准规范实用手册.doc
- 准妈妈叶酸不可少.doc
- 凌洁冰:企业员工发展与职业生涯规划培训.ppt
- 创业家的基本特征.pdf
- 创先争优2010总结.doc
- 初一数学阶段测试卷.doc
- 人教版四年级数学下册第6单元第2课时 位数不同的小数加、减法授课课件.pptx
- 人教版新目标八年级英语下册Unit 1 Listening & Speaking.pptx
- 人教版四年级数学下册第3单元第5课时 乘法分配律授课课件.pptx
- 人教版四年级数学下册第7单元第3课时 利用平移求不规则图形的面积授课课件.pptx
- 人教版四年级数学下册第4单元第4课时 小数的大小比较授课课件.pptx
- 人教版四年级数学下册第4单元第6课时 小数与单位换算授课课件.pptx
- 人教版四年级数学下册第5单元第3课时 三角形的分类授课课件.pptx
- 人教版五年级数学下册第4单元 分数的意义和性质第5课时 假分数化成整数或带分数.pptx
- 人教版五年级数学下册第4单元 分数的意义和性质第6课时 分数的基本性质.pptx
- 人教版四年级数学下册第6单元第4课时 整数加法运算定律推广到小数授课课件.pptx
文档评论(0)