Computer memory conservation system
First Claim
1. A method for preserving the availability of a limited region of memory in a computer system for use by a process which requires access to memory within the limited range comprising the steps of:
- identifying a limited memory region for preservation, wherein the memory region is an unused part of memory;
preserving at least a portion of the limited memory region by marking the portion of the limited memory region as used;
detecting attempts to allocate from the limited range of memory;
determining whether a sufficient amount of free memory is available within the limited range to satisfy a detected allocation attempt; and
releasing, in response to a determination that a sufficient amount of free memory within the limited range of memory is not available, a sufficient amount of the preserved portion of memory to satisfy the allocation attempt.
4 Assignments
0 Petitions
Accused Products
Abstract
A method for improving the availability of global DOS memory under Microsoft Windows has two primary aspects. First, upper memory blocks are linked to the global heap to increase the amount of global DOS memory available. Second, a reserved area of global DOS memory is maintained to prevent generic memory requests from being fulfilled therefrom. Valid requests for global DOS memory are intercepted to ensure that they are able to be allocated out of global DOS memory or the reserved area. Taken in conjunction, the two aspects of the invention substantially decrease the probability that unavailability of global DOS memory will result in application or system failure.
43 Citations
33 Claims
-
1. A method for preserving the availability of a limited region of memory in a computer system for use by a process which requires access to memory within the limited range comprising the steps of:
-
identifying a limited memory region for preservation, wherein the memory region is an unused part of memory; preserving at least a portion of the limited memory region by marking the portion of the limited memory region as used; detecting attempts to allocate from the limited range of memory; determining whether a sufficient amount of free memory is available within the limited range to satisfy a detected allocation attempt; and releasing, in response to a determination that a sufficient amount of free memory within the limited range of memory is not available, a sufficient amount of the preserved portion of memory to satisfy the allocation attempt. - View Dependent Claims (2, 3, 4, 28, 30, 31, 32)
-
-
5. A method for increasing the availability of a limited memory area of memory in a computer system for use by a process which requires access to memory within the limited range, comprising the steps of:
-
identifying regions within a limited memory area that normally might remain unused; and allocating at least some of the identified unused regions to form a reserved memory block; and allowing virtual device drivers to claim memory from the limited memory area prior to the allocating step. - View Dependent Claims (6, 7, 8, 9, 12, 33)
-
-
10. A method for increasing the availability of a limited memory area, comprising the steps of:
-
identifying regions within the limited memory area that normally might remain unused; allocating some or all of the regions to form a reserved memory block; and allowing virtual device drivers to claim memory from the limited memory area prior to the allocating step; wherein the limited memory area is the area between 640K and 1M on a PC-compatible computer. - View Dependent Claims (11)
-
-
13. A method for preserving the availability of a global DOS memory region under Microsoft Windows 3.1, comprising the steps of:
-
identifying a portion of the global DOS memory region for preservation; marking a quantity of the identified region as used; detecting attempts to allocate from the region; upon a detection, analyzing one of actual or predicted results of the attempt to allocate; and releasing a portion of the quantity to satisfy the attempt to allocate if the analysis indicates that there is insufficient memory for the allocation. - View Dependent Claims (14, 15, 16, 26, 27)
-
-
17. A method for increasing the availability of global DOS memory under a Microsoft Windows operating system, which has upper memory available to virtual devices but not to Windows programs, comprising the steps of:
-
identifying areas within an upper memory region that normally might remain unused; and allocating some or all of the areas to form a reserved memory block. - View Dependent Claims (18, 19, 20, 21, 22, 29)
-
-
23. A method for increasing the availability of global DOS memory under a Microsoft Windows operating system, which has an upper memory region available to virtual devices but not to Windows programs, comprising the steps of:
-
identifying areas within the upper memory region that normally might remain unused; and allocating some or all of the areas to form a reserved memory block; wherein the upper memory region is the area between 640K and 1M on a PC-compatible computer.
-
-
24. A method for increasing the availability of global DOS memory under a Microsoft Windows operating system, which has an upper memory region available to virtual devices but not to Windows programs, comprising the steps of:
-
identifying areas within the upper memory region that normally might remain unused; allocating some or all of the areas to form a reserved memory block; and linking the reserved memory into the global heap. - View Dependent Claims (25)
-
Specification