US6023749A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Object and method for providing efficient multi-user access to shared operating system kernal code using instancing
Assignee: Citrix Systems Inc
•
Filing: 1999-01-25
•
Granted: 2000-02-08
•
Expires: 2019-01-25
Abstract
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.
Inventors
- 👤 John J. Richardson
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-11-09 22:17
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843
Claims Analysis
Total Claims: 14
Claim 1
Independent Claim
170 words
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.
Claim 2
Dependent Claim
170 words
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.
Claim 3
Dependent Claim
32 words
The apparatus of claim 1 further comprising a page directory that stores a mapping of the page table for the first user and at least one process associated with the first user.
Claim 4
Dependent Claim
39 words
The apparatus of claim 1 wherein the first and second ranges of physical memory addresses in the kernal mode memory region are identical when a plurality of users access but do not attempt to write to that memory location.
Claim 5
Dependent Claim
38 words
The apparatus of claim 1 wherein the first and second ranges of physical memory addresses in the kernal mode memory region differ when a plurality of users attempt to write to the first range of physical memory addresses.
Claim 6
Dependent Claim
39 words
The apparatus of claim 1 comprises a data structure storing data that indicates whether the first range of physical memory addresses in the kernal mode memory region can be shared by a plurality of instantiations of the kernal object.
Claim 7
Dependent Claim
31 words
The apparatus of claim 1 wherein the first and second ranges of physical memory addresses in the kernal mode memory region are dynamically reserved upon the occurrence of a predetermined event.
Claim 8
Dependent Claim
19 words
The apparatus of claim 6 wherein the predetermined event is when the second user logs onto the computer system.
Claim 9
Dependent Claim
18 words
The apparatus of claim 6 wherein the predetermined event corresponds to a start-up sequence of the computer system.
Claim 10
Independent Claim
172 words
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.
Claim 11
Independent Claim
172 words
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.
Claim 12
Dependent Claim
37 words
The method of claim 9 comprising the step of accessing a page directory to obtain a location of the data structure associated with the first user when executing at least one process associated with the first user.
Claim 13
Dependent Claim
38 words
The method of claim 9 further comprising the step of determining from the data structure whether the physical memory address associated with the first kernal object instantiation can be accessed by a plurality of other kernal object instantiations.
Claim 14
Dependent Claim
30 words
The method of claim 9 comprising the step of dynamically allocating the first and second regions of kernal mode memory space in response to the occurrence of a predetermined event.
References Cited (Backward Citations)
US5129084A
Cited
US5774642A
Cited
US5339411A
Cited
US5504814A
Cited
US5519867A
Cited
US5729710A
Cited
US5771383A
Cited
US5752031A
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 2003-02-07 | 2003-08-09 | 2004-02-08 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2007-02-07 | 2007-08-09 | 2008-02-08 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2011-02-07 | 2011-08-09 | 2012-02-08 | $7700.00 | Window Closed / Lapsed |