Linux堆分配

Linux堆分配,第1张

概述在FreeRTOS中,堆只是一个全局数组,其大小(允许调用是heapSize)在H文件中定义,用户可以更改.这个数组是一个非初始化的全局数组,它使它成为图像BSS部分的一部分,因为它在加载时填充零,然后,每个内存分配都取自该数组,并且分配的内存的每个地址都是这个数组的偏移量. 因此,为了最大限度地利用内存大小,我们可以估算整个程序的数据,文本和BSS区域的大小,并将堆大小定义为heapSize = 在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章:分配内存”.

总结

以上是内存溢出为你收集整理的Linux堆分配全部内容,希望文章能够帮你解决Linux堆分配所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/yw/1019447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存