Σελιδοποίηση
Κάθε σελίδα συνδέεται με την παρακάτω δομή δεδομένων που περιγράφει
τα χαρακτηριστικά της:
struct vm_page {
        TAILQ_ENTRY(vm_page) pageq;     /* queue info for FIFO queue or free list (P) */
        TAILQ_ENTRY(vm_page) hashq;     /* hash table links (O) */
        TAILQ_ENTRY(vm_page) listq;     /* pages in same object (O) */
        vm_object_t object;             /* which object am I in (O,P) */
        vm_pindex_t pindex;             /* offset into object (O,P) */
        vm_offset_t phys_addr;          /* physical address of page */
        u_short queue;                  /* page queue index */
        u_short flags,                  /* see below */
                pc;                     /* page color */
        u_short wire_count;             /* wired down maps refs (P) */
        short hold_count;               /* page hold count */
        u_char  act_count;              /* page usage count */
        u_char  busy;                   /* page busy count */
        /* NOTE that these must support one bit per DEV_BSIZE in a page!!! */
        /* so, on normal X86 kernels, they must be at least 8 bits wide */
        u_char  valid;                  /* map of valid DEV_BSIZE chunks */
        u_char  dirty;                  /* map of dirty DEV_BSIZE chunks */
};
Αντίστοιχα η σελίδα μπορεί να βρίσκεται σε μια από τις παρακάτω καταστάσεις:
#define PG_BUSY         0x01            /* page is in transit (O) */
#define PG_WANTED       0x02            /* someone is waiting for page (O) */
#define PG_TABLED       0x04            /* page is in VP table (O) */
#define PG_FICTITIOUS   0x08            /* physical page doesn't exist (O) */
#define PG_WRITEABLE    0x10            /* page is mapped writeable */
#define PG_MAPPED       0x20            /* page is mapped */
#define PG_ZERO         0x40            /* page is zeroed */
#define PG_REFERENCED   0x80            /* page has been referenced */
#define PG_CLEANCHK     0x100           /* page has been checked for cleaning */
Όλες οι σελίδες ανοίκουν σε μια από 5 διαφορετικές λίστες ταξινομημένες
σύμφωνα με το κριτήριο LRU (Least Recently Used - Λιγότερο πρόσφατη
χρησιμοποιημένη).
 -       free
 - 
Σελίδες έτοιμες για χρήση.
 
 -       cache
 - 
Σελίδες σχεδόν έτοιμες για χρήση αφού ελευθερωθούν από τη
χρήση βοηθητικής μνήμης.
 
 -       inactive
 - 
Σελίδες που δεν έχουν χρησιμοποιηθεί πρόσφατα και είναι υποψήφιες
για νέα χρήση.
 
 -       active
 - 
Σελίδες που έχουν πρόσφατα χρησιμοποιηθεί.
 
 -       zero
 - 
Ελεύθερες σελίδες που έχουν μηδενιστεί.