Which memory management technique divides a program into variable-sized logical units such as code, data and stack? Options A. Segmentation B. Paging C. Swapping D. Compaction E. None of the above