Addressing method and system for sharing a large memory address space using a system space global memory section
First Claim
1. In a computer system having a processor coupled to bus, a memory unit coupled to said bus and an operating system, a memory addressing system comprising:
- a physical memory map representing addresses of memory cells contained within said memory unit;
a statically mapped system space buffer memory, said statically mapped system space buffer memory residing within a first portion of system virtual memory space of said operating system that is reserved for but not used by said operating system; and
a table of page table entries that provides address translations from system virtual addresses to physical addresses for memory pages of said statically mapped system space buffer memory, said table used by all processes of said computer system in accessing said statically mapped system space buffer memory and wherein each of said page table entries of said table contain a protection status code set to low privilege such that said all processes have access to said statically mapped system space buffer memory.
2 Assignments
0 Petitions
Accused Products
Abstract
An addressing method and computer system for sharing a large memory address space using address space within an operating system'"'"'s virtual address space. The system provides sharing the SSB over many processes without the disadvantages associated with process based global sections. For instance, the novel system does not require that each process maintain its own dedicated page table entries (PTEs) in order to access the SSB thereby requiring less operating system virtual memory to maintain the PTE data structures. The system uses a process to switch to kernel mode, then identifies those sections of the operating system virtual memory space that are not being used; in some cases the unused address space can be 1.5-1.8 gigabytes in size. The unused address space is linked together to form the SSB. The system alters the privileges of the PTEs corresponding to the SSB so that user mode processes can access this usually protected operating system virtual memory space. The result is a statically mapped large memory address buffer (SSB) that can be immediately shared by all processes within the computer system while consuming only a single statically mapped PTE which all processes can use. In one example, 500 processes mapping to a 2 gigabyte SSB requires only 2 megabytes of memory storage for the corresponding PTEs, assuming conventional memory page sizes. In one example, the SSBs are allocated from a system space virtual memory map which is 2 gigabytes in size in a 32-bit VMS operating system.
-
Citations
26 Claims
-
1. In a computer system having a processor coupled to bus, a memory unit coupled to said bus and an operating system, a memory addressing system comprising:
-
a physical memory map representing addresses of memory cells contained within said memory unit; a statically mapped system space buffer memory, said statically mapped system space buffer memory residing within a first portion of system virtual memory space of said operating system that is reserved for but not used by said operating system; and a table of page table entries that provides address translations from system virtual addresses to physical addresses for memory pages of said statically mapped system space buffer memory, said table used by all processes of said computer system in accessing said statically mapped system space buffer memory and wherein each of said page table entries of said table contain a protection status code set to low privilege such that said all processes have access to said statically mapped system space buffer memory. - View Dependent Claims (2, 3, 4, 5, 6, 7, 17)
-
-
8. A computer system comprising:
-
a processor coupled to a bus; a memory unit coupled to said bus; an operating system; a physical memory map representing addresses of memory cells contained within said memory unit; a statically mapped system space buffer memory, said statically mapped system space buffer memory residing within a first portion of system virtual memory space of said operating system that is reserved for but not used by said operating system; and a table of page table entries that provides address translations from system virtual addresses to physical addresses for memory pages of said statically mapped system space buffer memory, said table used by all processes of said computer system in accessing said statically mapped system space buffer memory and wherein each of said page table entries of said table contain a protection status code set to low privilege such that said all processes have access to said statically mapped system space buffer memory. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A method of providing a buffer of memory that can be shared between a plurality of processes within a computer system having an operating system, said method comprising the steps of:
-
a) switching into kernel mode of said operating system; b) identifying a first portion of system virtual memory space that is reserved by said computer system for said operating system but not used by said operating system; c) mapping said first portion of system virtual memory space into pages of physical memory space of said computer system by constructing respective page table entries within a single table, said respective page table entries corresponding to respective pages of said first portion; d) modifying respective protection status codes of said respective page table entries such that said plurality of processes can access said pages of said first portion; e) switching out of said kernel mode; and f) said plurality of processes accessing said single table to share said first portion of system virtual memory space. - View Dependent Claims (16, 18, 19, 20)
-
-
21. In a computer system having a processor coupled to a bus, a computer readable memory coupled to said bus and storing instructions that when executed by said processor implement a method of providing a buffer of memory that can be shared between a plurality of processes within a computer system having an operating system, said method comprising the steps of:
-
a) switching into kernel mode of said operating system; b) identifying a first portion of system virtual memory space that is reserved by said computer system for said operating system but not used by said operating system; c) mapping said first portion of system virtual memory space into pages of physical memory space of said computer system by constructing respective page table entries within a single table, said respective page table entries corresponding to respective pages of said first portion; d) modifying respective protection status codes of said respective page table entries such that said plurality of processes can access said pages of said first portion; e) switching out of said kernel mode; and f) said plurality of processes accessing said single table to share said first portion of system virtual memory space. - View Dependent Claims (22, 23, 24, 25, 26)
-
Specification