Linux内核的内存管理

  • Post author:
  • Post category:linux


1.什么情况下有内存碎片

2.段式管理和页式管理的区别 ,当内核分配大内存和小内存的区别

3.


https://www.cnblogs.com/vamei/p/9329278.html


https://www.cnblogs.com/ralap7/p/9184773.html


https://blog.csdn.net/h674174380/article/details/75453750


https://blog.51cto.com/12814931/2125707


Slab



图片.png

slab分配器专门用来分配小内存。其中,slab分配器将SLAB分为两大类:专用SLAB和普通SLAB。专用SLAB用于特定的场合(比如TCP有自己专用的SLAB,当TCP模块需要小内存时,会从自己的SLAB中分配),而普通SLAB就是用于常规分配的时候。我们可以通过查看/proc/slabinfo看到slab的状态

对于kmalloc-8这些普通SLAB,都有一个对应的dma-kmalloc-8这种类型的普通SLAB,这种类型是专门使用了ZONE-DMA区域的内存,方便用于DMA模式申请内存。

4. malloc和free的内核代码


https://xz.aliyun.com/t/2307



版权声明:本文为XiAoma123_1原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。