I'm currently studying memory management in Operating Systems.

Allocation Unit is the smallest unit of memory the OS will give to any process.

I've read in this page, in the 'Memory allocation inside kernel' section, that a page is the smallest unit an OS will give to a process.

But in this page, in the 'Allocated memory' section, it says the OS can divide it into much smaller chunks (6 bytes for example) and give it to the application when requested.

I'm not sure if both links are talking about the same thing, but my question is: What is the usual Allocation Unit in an Operating System with Virtual Memory and Paging?


In your second reference, where it says

The memory allocator gets a big chunk of memory (say, 4 pages, or 4 * 4 KiB) and divides this into much smaller chunks

"the memory allocator" is not the kernel but the libc routines like malloc.

The kernel allocates memory to the process in page-sized chunks. malloc keeps track of used and unused portions of those pages as the application requests them and frees them.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.