A linux kernel process (thread, 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.