Question
You cannot easily mitigate external fragmentation on the heap (dynamically allocated memory in a process) with compaction. Select the most appropriate answer that explains why!
You cannot easily mitigate external fragmentation on the heap (dynamically allocated memory in a process) with compaction. Select the most appropriate answer that explains why!
Group of answer choices:
a) The heap is a memory area that does not suffer from external fragmentation, so there is no need for compaction.
b) Compaction can only be performed on memory blocks that are freed (moving free blocks such that they become contiguous and can be merged), but external fragmentation occurs because of the placement of allocated blocks, which cannot be fixed with compaction.
c) Compaction requires moving allocated memory blocks to different locations in order to remove fragmentation. Changing the location of data requires updating all references to that data (pointers in memory, CPU registers, etc.) to be updated to reflect the new location, and this is (usually) infeasible, because the memory allocator does not have information about where such references are stored.
d) Compaction is not effective in reducing external fragmentation on the heap because it can cause internal fragmentation, which can lead to further memory allocation failures.
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started