Main memory refers to the physical memory inside a computer that programs and files are copied to from storage for execution. Programs can be loaded entirely or parts loaded dynamically as needed. Dynamic linking also allows dependent programs to be linked when required rather than loaded all at once. Memory management techniques include swapping processes between memory and disk, contiguous and non-contiguous allocation, protection against unauthorized access, and addressing fragmentation through paging and segmentation.