Patent ID: 7831796
Filing Date: 2010-11-09
Classification: G06F

Abstract:
1. A method for dynamically allocating main memory among a plurality of virtual operating systems, the method comprising: maintaining at least a first list and a second list, the first list containing pages requested only once since a last removal of a page from the first list and the second list containing pages requested at least twice since a last removal of pages from the second list and each list configured to store a plurality of pages, each list having a T portion and a B portion; maintaining a cache memory module allocated to a virtual operating system and having an allocation of pages; and shrinking the allocation by setting a size of the T portion of the first list to a new allocation, discarding pages from the T portions of the first and second lists until a sum of sizes of the T portions of the first and second lists is less than the new allocation, and if a sum of sizes of the T and B portions of the first list is greater than the new allocation, removing pages from the B portion of the first list until a sum of sizes of the B portions of the first and second lists is less than the new allocation else removing pages from the B portion of the second list until the sum of the sizes of the B portions of the first and second lists is less than the new allocation.