返回
快速导航关闭
当前搜索
网站分类
栏目推荐
实用工具
热门标签
子分类:
创奇学院 >微信 >小程序 >小程序开发 » 正文

制作小程序的平台,从零开发一个RTOS系列-内存管理(MM)篇

小程序开发 更新时间: 发布时间: 小程序开发归档 最新发布 网站地图

MM是任何OS内核的一大主题。因为任何程序需要执行代码、访问数据等都必须由Mem作为一定载体,所以OS内核必须管理好各个模块所占用的Mem,并能尽量提高利用效率。

本文提出了一种内存管理的算法,在一块连续内存的头部存放VarDesc,从连续内存尾部开始分配占用实际内存的Var,这样内存管理就可以从两头向中间增长,相遇则内存分配失败,另外还要考虑内存释放时相邻区域的合并问题。笔者实现的算法目前采用的最先适用原则来匹配欲分配的内存块。算法实现细节笔者不在详述,最后会把所有源码放到GitHub上分享给大家。

有一点读者需要理解,我们平时在OS之上的C库用的malloc函数,默认是把.bss段结束后的地址对其后当做Heap来用,.bss段的结束一般是在*.ld链接脚本中定义的符号地址制定的。这里的内存管理和OS之上的内存管理只有.bss段的结束地址的形式不太一样,剩余Heap的内部管理是任何内存管理算法都通用的。


转载请注明:文章转载自 http://www.320g.com/
本文地址:http://www.320g.com/xcxkf/24603.html
考高分网交流群

扫一扫加入QQ交流群

和更多志同道合朋友一起交流,分享干货资料!
创奇学院客服

扫一扫加客服微信

有疑问请咨询创奇学院微信号,在线为您解答!
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 Copyright 320g.com Rights Reserved. Powered · 创奇学院

ICP备案号:陇ICP备2020003353号