Sharing memory pages and page tables among computer processes
First Claim
Patent Images
1. A system for sharing computer memory, comprising:
- a first data structure in the memory describing one or more pages of physical memory, said pages of physical memory containing data shared by a plurality of processes; and
a second data structure in the memory describing a set of shared page table pages, said shared page table pages mapping said pages of physical memory to address spaces of said processes;
wherein each of said first and second data structures comprises a respective global section descriptor (GSD) and global section table entry (GSTE), the respective GSD describing a global section and including a handle name for managing the section, a first field containing an index into a global section table and identifying the respective GSTE, and security-related information, the respective GSTE containing a pointer to the respective GSD, and a count of a number of pages in the global section.
6 Assignments
0 Petitions
Accused Products
Abstract
A method of managing computer memory pages. The sharing of a program-accessible page between two processes is managed by a predefined mechanism of a memory manager. The sharing of a page table page between the processes is managed by the same predefined mechanism. The data structures used by the mechanism are equally applicable to sharing program-accessible pages or page table pages.
-
Citations
42 Claims
-
1. A system for sharing computer memory, comprising:
-
a first data structure in the memory describing one or more pages of physical memory, said pages of physical memory containing data shared by a plurality of processes; and a second data structure in the memory describing a set of shared page table pages, said shared page table pages mapping said pages of physical memory to address spaces of said processes; wherein each of said first and second data structures comprises a respective global section descriptor (GSD) and global section table entry (GSTE), the respective GSD describing a global section and including a handle name for managing the section, a first field containing an index into a global section table and identifying the respective GSTE, and security-related information, the respective GSTE containing a pointer to the respective GSD, and a count of a number of pages in the global section. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer memory, comprising:
-
a program-accessible page stored in the memory, being shared among two processes in a computer system; a translation page stored in the memory, describing a virtual-to-physical address mapping for memory references, the translation page being shared among the two processes; and a memory manager for managing the program-accessible page and the translation page, and for managing the sharing among the processes of the program-accessible page and the translation page, the memory manager comprising a global section descriptor (GSD) and a global section table entry (GSTE), the GSD describing a global section and including a handle name for managing the section, a first field containing an index into a global section table and identifying the GSTE, and security-related information, the GSTE containing a pointer to the GSD, and a count of a number of pages in the global section. - View Dependent Claims (10, 11, 12, 13, 14, 15)
-
-
16. A method of managing computer memory pages, comprising the steps of:
-
managing sharing of a program-accessible page between two processes, under control of a single predefined mechanism of a memory manager; and managing sharing of a translation page between the processes also under control of the single predefined mechanism, the translation page describing a virtual-to-physical address mapping; wherein the memory manager uses a global section descriptor (GSD) and a global section table entry (GSTE), the GSD describing a global section and including a handle name for managing the section, a first field containing an index into a global section table and identifying the GSTE, and security-related information, the GSTE containing a pointer to the GSD, and a count of a number of pages in the global section. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27)
-
-
28. A computer, comprising:
-
a first data structure in a memory of the computer for managing the sharing of a leaf page of physical memory among a plurality of processes; and a second data structure in the memory of the computer for managing the sharing of a page table page among said processes, said shared page table page mapping virtual addresses to said leaf page; wherein said first and second data structures comprise a global section descriptor (GSD) and a global section table entry (GSTE), the GSD describing a global section and including a handle name for managing the section, a first field containing an index into a global section table and identifying the GSTE, and security-related information, the GSTE containing a pointer to the GSD, and a count of a number of pages in the global section. - View Dependent Claims (29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
Specification