Linux cache

Hi all
I am trying to understand the kernel memory management and require assistance in this regard. Kernel first creates the cache memory to perform any subsequent allocation to processes. I could not figure out how it is accomplished. Do kernel directly allocates any hardware cache or allocates a portion of ram and then try to use it again and again..?

i also read that for efficient memory management in large processes the process has to create its own cache..How can we allocate this large chunk of generic memory..

Thanks for any feedbacks