关于memory pool的疑惑

河马虚拟化 2018-01-30 03:34:00
最近在研究Linux内核中内存管理相关的东西。
在《深入理解Linux内核》这本书中,看到关于memory pool的解释,说这个功能是内核先预留一小部分内存,作为在内存极为稀少的情况下缓解内核无法获取到可用的动态内存。
这个跟平常理解的memory pool有点出入,平常理解的memory pool应该是C库或者其他用户空间的程序为了提高内存分配的性能,先allocate一块比较大的内存,然后将其分为N多个小块的内存,然后自己管理这些小块的内存。这个memory pool应该是一只都会用到的,而不仅仅是在内存很少的情况才会用到。

看样子这两个memory pool指的东西好像是完全不同的东西,一个是在内核空间,一个是在用户空间。不知道为啥都叫memory pool。望有了解的大牛澄清一下。
...全文
564 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
河马虚拟化 2018-02-01
  • 打赏
  • 举报
回复
看来这确实是两个完全不一样的东西。 多谢多谢!
Wenxy1 2018-01-31
  • 打赏
  • 举报
回复
你的理解基本上是对的,只是内核空间,内存的使用更复杂一些。 随着你深入内核的学习,会慢慢明白。

4,441

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧