Match the memory management concepts in List I with their most accurate descriptions in List II.
List I (Concept)
A. Paging
B. Segmentation
C. Compaction
D. Thrashing
List II (Description)
1.Memory is divided into variable-sized units that align closely with the programmer's logical view of the program.
2.A severe performance degradation state where the system spends more time swapping pages than executing processes.
3.Divides the logical address space into fixed-size blocks to completely eliminate external fragmentation.
4.A dynamic memory allocation technique used to overcome external fragmentation by shuffling memory contents together.
Select the correct matching code from the options below: