A variety of methods used to store and keep track of data and programs in memory and reclaim the space when no longer needed. Virtual memory is the most common memory management function in every computer (see virtual memory). It Used to Be a Nightmare In the days of the first PCs, memory management was a major consideration. The PC had more confusing memory types than any computer in history as its architecture was pushed, patched and expanded to meet the increasing demand for more capabilities. DOS, the operating system of the 1980s, was designed to address only one megabyte (1MB) of memory. Today, 2,000 times as much is entry level. In the first decade of the PC, technicians had to deal with conventional memory, upper memory, high memory, extended memory and expanded memory in order to support growing applications. Countless books were written on PC memory management. There were even three-day courses on the subject. Eventually, subsequent versions of DOS, and especially Windows, added the necessary memory management functions to eliminate the manual, time-consuming task of figuring out how much memory should be reserved for this and how much for that. See memory allocation, garbage collection, memory protection, EMS, EMM and DOS memory manager.