内存管理
文章平均质量分 94
^卿^
他日若是凌云志,敢笑黄巢不丈夫
展开
-
malloc和free的实现原理解析
malloc和free的实现原理解析 C语言中使用malloc可以分配一段连续的内存空间。在c/c++开发中,因为malloc属于C标准库函数,经常会使用其分配内存。malloc是在堆中分配一块可用内存给用户。作为一个使用频繁的基础函数,理解清楚其实现原理很有必要,因此本文主要探讨malloc的具体实现原理,以及在linux系统中这该函数的实现方式。进程地址空间 如上图所示在一个32位系统中,可寻址的空间大小是4G,linux系统下0-3G是用户模式,3-4G是内核模式。而在用户模式下又分为转载 2021-08-14 10:51:00 · 1212 阅读 · 0 评论 -
Linux中的内存管理机制
Linux中的内存管理机制 程序在运行时所有的数据结构的分配都是在堆和栈上进行的,而堆和栈都是建立在内存之上。内存作为现代计算机运行的核心,CPU可以直接访问的通用存储只有内存和处理器内置的寄存器,所有的代码都需要装载到内存之后才能让CPU通过指令寄存器找到相应的地址进行访问。地址空间和MMU 内存管理单元(MMU)是硬件提供的最底层的内存管理机制,是CPU的一部分,用来管理内存的控制线路,提供把虚拟地址映射为物理地址的能力。 在x86体系结构下,CPU对内存的寻址都是通过分段方式进行的转载 2021-08-14 10:31:30 · 704 阅读 · 0 评论