Segmentation is splitting a large program into a number of smaller programs or segments. Each segment is a complete program that is executed separately. Segmentation allows a large program to be executed on a computer with insufficient memory to store the whole program. The segments of several programs can be interleaved, so that several large programs can be run simultaneously, in parts, to make best use of resources. These techniques are not widely used now due to the relatively large memory of modern computers.