加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux堆分配

发布时间:2020-12-13 23:20:48 所属栏目:Linux 来源:网络整理
导读:在FreeRTOS中,堆只是一个全局数组,其大小(允许调用是heapSize)在H文件中定义,用户可以更改.这个数组是一个非初始化的全局数组,它使它成为图像BSS部分的一部分,因为它在加载时填充零,然后,每个内存分配都取自该数组,并且分配的内存的每个地址都是这个数组的偏
在FreeRTOS中,堆只是一个全局数组,其大小(允许调用是heapSize)在H文件中定义,用户可以更改.这个数组是一个非初始化的全局数组,它使它成为图像BSS部分的一部分,因为它在加载时填充零,然后,每个内存分配都取自该数组,并且分配的内存的每个地址都是这个数组的偏移量.

因此,为了最大限度地利用内存大小,我们可以估算整个程序的数据,文本和BSS区域的大小,并将堆大小定义为heapSize = RAM_size – Text_size – Data_size – BSS_size.

我想知道什么是Linux操作系统的等效实现. Linux可以扫描给定的RAM并在运行时确定其大小吗? linux有一个等效的数据结构来管理堆吗?如果是这样,它如何首先为这个数据结构分配内存?

解决方法

I would like to know what is the equivalent implementation is Linux OS.

请阅读Linux Device Drivers,Third Edition中的“第8章:分配内存”.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读