gpt4 book ai didi

linux - Linux下的动态内存管理

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:32:11 25 4
gpt4 key购买 nike

我知道在Windows下,有global_alloc()之类的API函数,分配内存,返回一个句柄,然后可以锁定这个句柄,返回一个指针,然后再解锁。解锁后,系统可以在空间不足时移动这 block 内存,从而优化内存使用。

我的问题是Linux下是否有类似的东西,如果没有,Linux如何优化其内存使用?

最佳答案

那些 Windows 函数来自于所有程序都在同一地址空间以实模式运行的时代。 Linux 和现代版本的 Windows 在单独的地址空间中运行程序,因此它们可以通过重新映射特定虚拟地址在 page tables 中解析到的物理地址来在 RAM 中移动它们。 .无需让程序员负担如此低级的细节。

即使在 Windows 上,也不再需要使用此类函数,除非与少量旧 API 交互。如果您对更多细节感兴趣,我相信 Raymond Chen 的博客和书中对此主题有一些讨论。例如这里是 part 4关于 GlobalLock 历史的系列文章。

关于linux - Linux下的动态内存管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2533786/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com