The process of collecting fragments of available memory space into contiguous blocks by moving programs and data in a computer’s memory or disk.