Swapping is a procedure in which process may be swapped temporarily out of main memory to a backup store, and then fetched back into memory for continued execution. Memory swapping is a memory retrieval process in which memory contents not currently in use are swapped to a disk to make the memory available for other applications or processes. Backup store is usually a hard drive or other secondary storage that fast in access and huge enough to accommodate copies of all memory images for all users. it must be able to provide direct access to these memory images. An important part of the permutation time is the transfer time.
The total transfer time is directly proportional to the amount of permuted memory. Suppose the user process is 100KB in size and the storage store is a standard hard disk with a transfer rate of 1 MB per second. The real 100K process transfer to or from the memory will take
100KB / 1000KB per second = 1/10 second = 100 milliseconds
An optional of this swapping policy is used for priority based scheduling algorithm. In the situation when a high priority process arrives and wats to service then the memory manger can swap out the lower priority process and load the higher priority process for execution. when the higher priority process finalizes its execution then the lower priority process can be swap back in and Swapping is reserved by other factors as well. If process has to swap a process, then it must be completely idle for specific concern is any pending I/O.
A process can be waiting for I/O operation when process needs to swap that process to make the memory space available. At this time standard swapping is used in few systems, however modified swapping is available in many systems for example many versions of UNIX.