recently ran into some questions regarding what java is doing when its
starting virtual space is 2G, while running a no-op program.
then I dug into what happens when malloc() is called.
it looks malloc() has 2 mem management methods: it has its own cache of
memory blocks, using "buddy" algorithm, then for larger block requests, it
just mmaps() an anonymous block , **** essentially delegating the task to
kernel mem management *****
then my question is , what happens to kernel when it tries to allocate a
block? it seems that it is never a problem when you request large blocks
that are bigger than several pages, right? ---- you don't have a problem
with finding continuous memory blocks, since all the pages are mapped by
page tables. kernel mem management is only concerned with managing requests
for small blocks (smaller than 1 page ) ???
thanks lot