The main difference between paging and segmentation is that paging is done by the computer, and segmentation requires input from the programmer. Both processes involve allocating data to be stored in a computer's memory.
When the computer stores things in pages, each page is the same size, and is able to hold the same amount of data. When a programmer allocates where the information is to be stored, the segments can be of any size. Segments may be compiled individually, but pages are all compiled at the same time. It is also possible for segments to share information, but pages cannot. When a computer operator downloads, or installs, documents or programs onto the hard drive, the operator indicates where it goes. Paging involves the computer putting unused data or parts of a program into virtual memory areas. This data can be retrieved at any time by a program requiring its use or by the operator. Data may be stored in multiple pages that are not in any special order and not affect the performance of the program. Using multiple segments is not a good idea; it will cause performance issues while the program manager works harder to run the program. Both paging and segmentation require indexing of all data stored for it to be accessible.