Object and method for providing efficient multi-user access to shared operating system kernal code using instancing
First Claim
Patent Images
1. In a computer system servicing at least a first user and a second user and including an operating system having a kernal memory space for storing protected code, an apparatus for improving the performance of the system comprising:
- a kernal mode memory region of the kernal memory space reserved for storing instantiations of kernal objects;
a first instantiation of a kernal object stored in a first range of physical memory addresses in the kernal mode memory region and associated with the first user of the system;
a second instantiation of the kernal object stored in a second range of physical memory addresses in the kernal mode memory region and associated with the second user of the system; and
a page table for each user of the system, wherein each page table stores a mapping between a virtual memory address that is common for each instantiation of the kernal object and each range of physical memory addresses in the kernal mode memory region occupied by each instantiation of the kernal object.
0 Assignments
0 Petitions
Accused Products
Abstract
A method for improving the performance of a multi-user operating system includes the steps of providing a kernal mode memory region in which instantiations of kernal objects associated with each user may be stored. Each instantiations of a particular kernal object is accessed via the same virtual address. Storing instantiations of kernal objects reduces code contention for commonly used kernal objects while allowing the instantiation to retain kernal mode protections.
85 Citations
12 Claims
-
1. In a computer system servicing at least a first user and a second user and including an operating system having a kernal memory space for storing protected code, an apparatus for improving the performance of the system comprising:
-
a kernal mode memory region of the kernal memory space reserved for storing instantiations of kernal objects; a first instantiation of a kernal object stored in a first range of physical memory addresses in the kernal mode memory region and associated with the first user of the system; a second instantiation of the kernal object stored in a second range of physical memory addresses in the kernal mode memory region and associated with the second user of the system; and a page table for each user of the system, wherein each page table stores a mapping between a virtual memory address that is common for each instantiation of the kernal object and each range of physical memory addresses in the kernal mode memory region occupied by each instantiation of the kernal object. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for providing a first user and a second user of a computer system concurrent access to shared, writeable operating system kernal code, the method comprising:
-
(a) allocating a first region of kernal mode memory space for the first user and a second region of kernal mode memory space for the second user; (b) forming a first instantiation of a computer kernal object associated with the first user of the computer system; (c) forming a second instantiation of the computer kernal object associated with the second user of the computer system; (d) storing the first kernal object instantiation in the first kernal mode memory region and the second kernal object instantiation in the second kernal mode memory region; and (e) accessing a data structure associated with each user of the computer system for obtaining a mapping between a virtual memory address that is common for each instantiation of the computer kernal object and a physical memory address of the first and second kernal object instantiations in the kernal mode memory space. - View Dependent Claims (10, 11, 12)
-
Specification