      struct zone,  -
   <linux/mmzone .h>   .

struct zone {

spinlock_t               lock;

unsigned long            free_pages;

unsigned long            pages min;

unsigned long            pages low;

unsigned long            pages high;

unsigned long            protection[MAX_NR_ZONES];

spinlock t               lru_lock;

struct list head         active list;

struct list_head         inactive list;

unsigned long            nr_scan_active;

unsigned long            nr scan inactive;

unsigned long            nr_active;

unsigned long            nr inactive;

int                      all_unreclaimable;

unsigned long            pages scanned;

int                      temp_priority;

int                      prev_priority;

struct free_area         free_area[MAX_ORDER] ;

wait queue head t        *wait table;

unsigned long            wait_table_size;

unsigned long            wait table bits;

struct per cpu pageset   pageset[NR CPUS];

struct pglist_data       *zone_pgdat;

struct page              *zone mem map;

unsigned long            zone start pfn;

char                     *name;

unsigned long            spanned_pages;

unsigned long            present pages;

);

  ,          
.      .

 lock  -,     -
 .  ,     ,   ,
  .      , 
     ,     -
 .

 free_pages        .
      pages_min  , 
  (,     ).

 name   ,  ,    -
  (  ).      -
    ,     mm/page_alloc . . 
   "DMA", "Normal"  "HighMem".

                                                           237