It is an extension of the main memory that uses some part of the hard disk as temporary storage for data and code that the CPU is currently accessing. It allows larger programs to run by swapping parts of code and data in and out of the main memory as needed.