Restricting access to memory in a multithreaded environment
First Claim
1. A method in a computer system of restricting access to memory, the method comprising:
- setting a memory location to indicate a trap should occur when the memory location is accessed;
under control of a restricted portion of a computer program, setting a pointer to point to the memory location that indicates that traps to the pointed to memory location are enabled; and
accessing the memory location using the set pointer so that a trap occurs and access to the restricted memory location is detected; and
under control of an unrestricted portion of a computer program, setting a pointer to point to the memory location that indicates that traps to the pointed to memory location are disabled; and
accessing the memory location using the set pointer so that a trap does not occur and access to the restricted memory location is allowed.
0 Assignments
0 Petitions
Accused Products
Abstract
Various techniques for manipulating data using access states of memory, access control fields of pointers and operations, and exception raising and exception trapping in a multithreaded computer system. In particular, the techniques include synchronization support for a thread blocked in a word, demand evaluation of values, parallel access of multiple threads to a list, synchronized and unsynchronized access to a data buffer, use of forwarding to avoid checking for an end of a buffer, use of sentinel word to detect access past a data structure, concurrent access to a word of memory using different synchronization access modes, and use of trapping to detect access to restricted memory.
76 Citations
19 Claims
-
1. A method in a computer system of restricting access to memory, the method comprising:
-
setting a memory location to indicate a trap should occur when the memory location is accessed;
under control of a restricted portion of a computer program, setting a pointer to point to the memory location that indicates that traps to the pointed to memory location are enabled; and
accessing the memory location using the set pointer so that a trap occurs and access to the restricted memory location is detected; and
under control of an unrestricted portion of a computer program, setting a pointer to point to the memory location that indicates that traps to the pointed to memory location are disabled; and
accessing the memory location using the set pointer so that a trap does not occur and access to the restricted memory location is allowed. - View Dependent Claims (2, 3, 4)
-
-
5. A system for restricting access to memory, the system comprising:
-
means for, under control of a computer program, indicating that a trap should occur when a memory location is accessed;
means for, under control of a restricted portion of the computer program, setting a pointer to a memory location wherein the pointer has an indication of trap handling;
means for accessing the memory location; and
means for handling a trap wherein propriety of the access is detected. - View Dependent Claims (6, 7, 8, 9)
-
-
10. A computer-readable medium for restricting access to memory, comprising:
-
a data structure with a plurality of elements;
a pointer to an element in the data structure, the pointer having an indication of whether a trap is enabled depending on whether a restricted or unrestricted portion of a computer program is accessing the data structure;
for each element, an indication of whether a trap is enabled; and
a handler including instructions for handling the enabled trap. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. A system for restricting access to memory comprising:
-
a component that sets a memory location to indicate a trap should occur when the memory location is accessed;
a component that, under control of a restricted portion of a computer program, sets a pointer to point to the memory location that indicates that traps to the pointed to memory location are enabled; and
accesses the memory location using the set pointer so that a trap occurs and access to the restricted memory location is detected; and
a component that, under control of an unrestricted portion of a computer program, sets a pointer to point to the memory location that indicates that traps to the pointed to memory location are disabled; and
accesses the memory location using the set pointer so that a trap does not occur and access to the restricted memory location is allowed. - View Dependent Claims (17, 18, 19)
-
Specification