         -
,        .
     ,   
   ,      .

 ,    Linux    -
     ,      
.       
 System V (SVR 4)       .
,       SVR 4
   ,   struct vnode.
   Linux      -
,    ,      
  .

        -
 Linux   address_space ( ), 
   ,   .  
   <linux/fs.h>  .

struct address_space (
struct inode           *host;            /*  , 

 */
struct radix_tree_root page_tree;        /*     */
spinlock__t             tree_lock;        /*   

 page_tree */
unsigned int           i mmap_writable; /*   

  VM_SHARED */
struct prio_tree_root i_mmap;           /*    */
struct list_head       i_mmap_nonlinear; /*   

  VM_NONLINEAR */
spinlock_t             i_mmap_lock;      /*   i_minap */
atomic_t               truncate_count;   /*   truncate */
unsigned long          nrpages;          /*    */
pgoff t               writeback index; /*    */
struct address_space_operations *a_ops; /*  */
unsigned long          flags;            /*  gfp_mask    */
struct backing_dev_info *backing dev_info; /*    */
spinlock t            private lock;     /*   */
struct list_head   private_list;        /*    */
struct address space   *assoc mapping;'   /*   */
};

 i_mmap          -
   .        
     3.

    nrpages  .

3         ,   
Edward M. McCreight,    SIAM Journal of Computing, May 1985, vol. 14.
 2, . 257-276.

                                             333