A linux kernel
, really) that periodically handles the swapping out of unused memory pages
to your hard disk
. It is sometimes called upon to swap
data out on demand when a running process needs more memory and there are no other ways to get it.
Swapping is distinctly different than paging. Swapping involves stopping a process, and copying the entire contents of it's address space (including code) to disk. Paging (moving infrequently touched memory pages to disk) is always tried first if RAM is short.