linux学习

program break

2021-03-06  本文已影响0人  GGBond_8488

1.进程的内存分布布局

每个进程所分配的内存由很多部分组成,通常称之为段(segment)

2.

image.png

3. 在堆上分配内存

进程可以通过增加堆的大小来分配内存,所谓堆时一段长度可变的连续虚拟内存,始于进程的未初始化是数据段末尾,随着内存的分配和释放而增减,通常将堆的当前内存边界称为program break

改变堆的大小(即分配或释放内存),其实就像命令内核改变进程的program break位置一样。最初,program break正好位于未初始化数据段末尾之后,在program break位置抬升以后,程序可以访问新分配区域内的任何内存地址,而此时物理内存页尚未分配。内核会在进程首次试图访问这些虚拟内存地址时自动分配新的物理内存页。

上一篇 下一篇

猜你喜欢

热点阅读