关于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。望有了解的大牛澄清一下。