Enhanced shadow page table algorithms are presented for enhancing typical
page table algorithms. In a virtual machine environment, where an
operating system may be running within a partition, the operating system
maintains it's own guest page tables. These page tables are not the real
page tables that map to the real physical memory. Instead, the memory is
mapped by shadow page tables maintained by a virtualing program, such as
a hypervisor, that virtualizes the partition containing the operating
system. Enhanced shadow page table algorithms provide efficient ways to
harmonize the shadow page tables and the guest page tables. Specifically,
by using tagged translation lookaside buffers, batched shadow page table
population, lazy flags, and cross-processor shoot downs, the algorithms
make sure that changes in the guest pages tables are reflected in the
shadow page tables.