Swap Area
The pages swapped out from memory are stored in a swap area
,
which may be implemented either as a disk partition of its own or as
a file included in a larger partition. Several different swap areas
may be defined, up to a maximum number specified by the
MAX_SWAPFILES macro (usually set to 32).
Having multiple swap areas allows a system administrator to spread a lot of swap space among several disks so that the hardware can act on them concurrently; it also lets swap space be increased at runtime without rebooting the system.
Each swap area consists of a sequence of page slots
: 4,096-byte blocks used to contain a
swapped-out page. The first page slot of a swap area is
used to persistently store some information about the swap area; its
format is described by the swap_header union
composed of two structures, info and
magic. The
magic
structure provides a string that
marks part of the disk unambiguously as a swap area; it consists of
just one field, magic.magic, which contains a
10-character “magic” string. The
magic structure essentially allows the kernel to
unambiguously identify a file or a partition as a swap area; the text
of the string depends on the swapping algorithm version:
SWAP-SPACE for Version 1 or
SWAPSPACE2 for Version 2. The field is always
located at the end of the first page slot.
The info
structure includes the following
fields:
-
info.bootbits Not used by the swapping algorithm; this field corresponds to the first 1,024 bytes of the swap area, which ...