title: Difference between "memory cache" and "memory pool"
body: <p>By reading "understanding linux network internals" and "understanding linux kernel" the two books as well as other references, I am quite confused and need some clarifications about the "memory cache" and <a href="http://en.wikipedia.org/wiki/Memory_pool" rel="nofollow">"memory pool"</a> techniques. </p>
  
  <p>1) Are they the same or different techniques? </p>
  
  <p>2) If not the same, what makes the difference, or the distinct goals? </p>
  
  <p>3) Also, how does the <a href="http://en.wikipedia.org/wiki/Slab_allocation" rel="nofollow">Slab Allocator</a> come in?</p>