The amount of memory (RAM) software uses when running. The program instructions take up memory, and the program reserves more memory for data, sometimes considerably more. The program may also reserve memory for additional instructions that are called in when needed. Embedded Systems Memory Footprints With the proliferation of handheld devices as well as computer-controlled products, programs with small memory footprints are required. Inexpensive microprocessors are often equipped with memory measured in kilobytes or megabytes compared to desktop computers with gigabytes of RAM. Writing programs that fit into these smaller amounts of memory is often quite challenging. See memory, software bloat and embedded systems. See also footprint and digital footprint.