1. A method for adaptively managing pages in a memory, comprising: defining a cache memory; defining a cache directory; organizing the cache directory into four disjoint lists of pages: list T 1 , list T 2 , list B 1 , and list B 2 ; and wherein the cache memory contains pages that are members of any of the list T 1 or the list T 2 .