版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1会计学MOCOR平台内存管理介绍及案例分析平台内存管理介绍及案例分析 . 22021-12-14 . 32021-12-14 . 42021-12-14 . 52021-12-14 . 62021-12-14 . 72021-12-14 . 82021-12-14MOCOR平台也是利用了这一特性,根据不同的需求而创建了多个heap。每一个字节池都有一个相应的字节池控制块,通常是一个全局结构。控制块包括对内存池的定义和状态,比如内存池的名字,可用的字节数等。该结构的定义如下: . 92021-12-14 . 102021-12-14除了上述的分配原则之外,字节池里还定义了一个值BYTE_POO
2、L_SLIP_SIZE。这是在代码里实现指定的一个具体数值,在分配内存时,如果要分配的内存大小大于这一数值,则从字节池的底部开始分配。采用这种分配方式是为了减少内存碎片的产生,尽量把大内存的分配区域和小内存的分配区域分开。目前系统里定义的BYTE_POOL_SLIP_SIZE为80K。 . 112021-12-14 . 122021-12-14 . 132021-12-14 . 142021-12-14 . 152021-12-14于简单的链表操作,分配时不需要搜索整个内存块列表,它总是使用链表头部的内存块来分配。n内存块池的主要缺点是缺乏灵活性。固定尺寸既是它的优点也是它的缺点。如果一个内存
3、块池的尺寸足够大,可以满足用户最极限的内存分配需求,那么,这个内存块池上分配许多不同尺寸的内存会导致严重的内存浪费。一种解决办法是同时创建几个不同的内存块池,每个内存块池分别容纳不同尺寸的内存块。目前MOCOR平台就是这样做的,具体我们后面再讨论。同字节池一样,内存块池也有一个控制块结构,其中有该内存块的相关信息,该结构如下: . 162021-12-14 . 172021-12-14 . 182021-12-14 . 192021-12-14 . 202021-12-14 . 212021-12-14 . 222021-12-14dynamic base heap,static heap和d
4、ynamic app heap。同样,对应着三个heap也有三个不同的接口,分别是:nSCI_ALLOC_BASE,nSCI_ALLOC_CONSTnSCI_ALLOC_APP。 . 232021-12-14 . 242021-12-14MAX_DYNAMIC_BASE_HEAP_SIZE + MAX_DYNAMIC_APP_HEAP_SIZE) . 252021-12-14 . 262021-12-14 . 272021-12-14 . 282021-12-14 . 292021-12-14申请者只要传入欲分配的内存大小即可,无须关心内存究竟是在哪里分配的。 . 302021-12-14 .
5、 312021-12-14n结构成员的意义如下:pre , succ : 两个指向header结构的指针,目的是将所有的header串成一张双向链表。file_name , line: 分配该块内存的文件名和行号size : 内存大小(不包括header)block_num: 系统分配的内存块总计此外,为了能检查内存越界,在每一块分配内存的最后也会额外多分配一个字节做为END FLAG,内存分配时该字节会被写入0 xAA。当该内存被释放时,会检查该标志位,如果不为0 xAA,则说明出现异常,系统ASSERT。 . 322021-12-14 . 332021-12-14 . 342021-12-
6、14 . 352021-12-14 . 362021-12-14 . 372021-12-14 . 382021-12-14uint32 pool_B_addrPOOL_XX_SIZE(POOL_B_BLOCK_SIZE, POOL_B_BLOCK_NUM);uint32 pool_C_addrPOOL_XX_SIZE(POOL_C_BLOCK_SIZE, POOL_C_BLOCK_NUM);uint32 BYTE_HEAP_ADDR byte_head_size 2 ; . 392021-12-14 . 402021-12-14 . 412021-12-14 . 422021-12-14 .
7、 432021-12-14 . 442021-12-14 . 452021-12-14 . 462021-12-14line=11550, param=0 x4650)打出当前所有分配的信息,发现异常,有一条分配信息出现多次: . 472021-12-14 . 482021-12-14从死机信息可以看出,要分配的内存大小为0 x113004(1126404),这么大的内存只可能从heap上分配,查看app heap的信息如下: . 492021-12-14 . 502021-12-14 . 512021-12-14 . 522021-12-14 . 532021-12-14 . 542021-
8、12-14 . 552021-12-14配的。另一块是下面红框部分,主要是由MMS分配,所以这里存在MMS和FMM并发的情况。如果我们在发送彩信之前就先退出FMM的话,可以解决此问题。增大heap。前面我们已经算出当前差了44472字节,修改mem_cfg.c,将app heap的大小增加至少44K。需要注意的是,如果要增大heap,首先要确认一下当然ram是否还有这么多可用的空间,可以通过查看map文件最后的几行信息:Total RO Size(Code + RO Data) 7530419 (7353.92kB) Total RW Size(RW Data + ZI Data) 39443
9、75 (3851.93kB) Total ROM Size(Code + RO Data + RW Data) 7586078 (7408.28kB)红色的RW size就是我们要关注的,可以看到当前RW使用了3851K,而RAM的总数是4096K,所以还有充足的空间,heap增加个几十K没有什么问题。可以看到使用2和3都可以解决问题,通常把增大heap作为最后的手段。 . 562021-12-14 . 572021-12-14 . 582021-12-14 . 592021-12-14 . 602021-12-14 . 612021-12-14 . 622021-12-14 . 632021-12-14 . 642021-12-14 . 652021-12-14 . 662021-12-14 . 682021-12-14 . 692021-12-14 . 702021-12-14 . 712021-12-14于简单的链表操作,分配时不需要搜索整个内存块列表,它总是使用链表头部的内存块来分配。n内存块池的主要缺点是缺乏灵活性。固定尺寸既是它的优点也是它的缺点。如果一个内存块池的尺寸足够大,可以满足用户最极限的内存分配需求,那么,这个内存块池上分配许多不同尺寸的内存会导致严重的内
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026国家管网集团广西公司秋季高校毕业生招聘考试参考题库(浓缩500题)附参考答案详解(基础题)
- 2026秋季国家管网集团湖南公司高校毕业生招聘4人考试备考试题(浓缩500题)带答案详解(综合题)
- 2026秋季国家管网集团油气调控中心高校毕业生招聘14人考试参考试题(浓缩500题)带答案详解(新)
- 2026秋季国家管网集团储运技术发展有限公司高校毕业生校园招聘笔试参考题库(浓缩500题)及答案详解(历年真题)
- 2026国家管网集团高校毕业生招聘考试参考试题(浓缩500题)含答案详解
- 2026国家管网集团甘肃公司秋季高校毕业生招聘25人考试参考题库(浓缩500题)带答案详解(培优a卷)
- 2025国网浙江省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题及参考答案详解一套
- 2026年大兴安岭地区农村信用社联合社秋季校园招聘笔试备考题库(浓缩500题)及答案详解(真题汇编)
- 2026国网四川省高校毕业生提前批招聘(约450人)笔试模拟试题浓缩500题附答案详解(研优卷)
- 2026国网湖北省电力公司高校毕业生提前批招聘笔试模拟试题浓缩500题附答案详解(突破训练)
- BIM在施工成本控制中的作用分析
- 国家开放大学《监督学》形考任务( 1-4)试题和答案解析
- 冲压车间考勤管理制度
- 2025年上海市公务员录用考试《行测》A类真题及答案解析(回忆版)
- 房地产经纪人业务操作考试真题及答案(2025年新版)
- 现场质量问题处理流程培训
- 《局解腹部》课件
- 医院感染管理规范
- 农业技术推广2024年试题及答案
- 血液入库制度与流程
- 《速写基础》全套教学课件
评论
0/150
提交评论