Unix Virtual Memory Management Memory Allocation Handed out by kernel Easy to enforce global resource limits Low Level Management Completely inside the kernel Used by nearly all subsystems Uses many subsystems Boundaries are often unclear; no formal protocols Paging Policy Does not consult user-space applications Applies a global policy, typically an approximation of LRU, least recently used Very inefficient for many classes of applications Databases Garbage collectors Media applications Paging Kernel sends pages to the appropriate backing store No trust issues: all functionality and decisions in the kernel