Patent US6023749A successfully refreshed from Google Patents.
← Back to Patent Explorer
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
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

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:28
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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag