Linux下的栈的实现
Linux下的栈是由glibc这个库,glibc其实是C运行库,它提供了Linux系统最底层的API(应用程序接口),glibc除了封装linux操作系统所提供的系统服务外,它本身也提供了许多其它一些必要功能服务的实现。
例如堆的实现就是由它提供所提供的,那么堆是怎么被它所提供的呢,首先若是你使用malloc这个函数,就会向内核申请一块空间,Linux内存是以页框为单位,一个页框就是4K的大小,这么大的一块空间,若是我只申请malloc(16),内核返回一大片空间(页框),多余的空间由glibc来管理。
① 源头(申请):malloc
② 内核返回一大块空间(以页框为单位)
③ glibc,从一大块的内存挖出程序需要的内存给程序,剩下来的进行管理。
本文标题:Linux下的栈的实现
文章作者:小师
发布时间:2016-05-19
最后更新:2022-05-04
原始链接:chunlife.top/2016/05/19/Linux下的栈的实现/
版权声明:本站所有文章均采用知识共享署名4.0国际许可协议进行许可