现在的位置: 首页 > 综合 > 正文

关于brk的系统调用疑问

2017年12月22日 ⁄ 综合 ⁄ 共 270字 ⁄ 字号 评论关闭

brk和sbrk主要的工作是实现虚拟内存到内存的映射.在GNUC中,内存分配是这样的:
      每个进程可访问的虚拟内存空间为3G,但在程序编译时,不可能也没必要为程序分配这么大的空间,只分配并不大的数据段空间,程序中动态分配的空间就是从 这一块分配的。如果这块空间不够,malloc函数族(realloc,calloc等)就调用sbrk函数将数据段的下界移动,sbrk函数在内核的管 理下将虚拟地址空间映射到内存,供malloc函数使用。(参见linux内核情景分析)

 

看到上面:我个人,觉得扩展了虚拟内存空间,到现在应该没有分配真的物理内存

 

抱歉!评论已关闭.