US5485574A
Expired / Lapsed
US
⏱️ 0.0 years remaining
Operating system based performance monitoring of programs
Assignee: Microsoft Technology Licensing LLC
•
Filing: 1993-11-04
•
Granted: 1996-01-16
•
Expires: 2013-11-04
Abstract
Abstract An operating provides a facility within its kernel for monitoring program performance. The facility may monitor user level programs as well as portions of the operating system, such as the kernel. The facility counts instructions and/or function calls to provide a useful performance metric to a user of the system. The count is forwarded to a user level monitoring program. The inclusion of the facility within the kernel enhances the speed of performance monitoring and enables the operating system to be directly monitored by the facility.
Inventors
- 👤 William J. Bolosky
- 👤 Richard F. Rashid
Bibliographic Details
Application Number
—
Jurisdiction
US
Data Source
google_patents
Last Synchronized
2026-10-27 17:05
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/30; G06F11/34; G06F11/3466
Claims Analysis
Total Claims: 27
Claim 1
Independent Claim
132 words
In a data processing system having a processor that runs at a system level or a user level when executing instructions and a storage mechanism for storing an operating system that includes a kernel, a method comprising the steps of: providing a facility in the kernel of the operating system for counting instructions executed by the processor and a user level monitoring program for monitoring the instructions counted by the facility; executing a section of code on the processor without recompiling the section of code to embellish the code for profiling; using the facility in the kernel of the operating system to count the number of instructions executed when the section of code on the processor; and reporting the count of the number of instructions executed to the user level monitoring program.
Claim 2
Dependent Claim
132 words
In a data processing system having a processor that runs at a system level or a user level when executing instructions and a storage mechanism for storing an operating system that includes a kernel, a method comprising the steps of: providing a facility in the kernel of the operating system for counting instructions executed by the processor and a user level monitoring program for monitoring the instructions counted by the facility; executing a section of code on the processor without recompiling the section of code to embellish the code for profiling; using the facility in the kernel of the operating system to count the number of instructions executed when the section of code on the processor; and reporting the count of the number of instructions executed to the user level monitoring program.
Claim 3
Dependent Claim
26 words
The method recited in claim 1 wherein the section of code that is executed on the processor is part of the kernel of the operating system.
Claim 4
Dependent Claim
24 words
The method recited in claim 1 wherein the section of code is executed on the processor by single stepping through instructions in the code.
Claim 5
Dependent Claim
33 words
The method recited in claim 1, further comprising the step of storing the count of the number of instructions executed when executing the section of code on the processor in the storage mechanism.
Claim 6
Dependent Claim
37 words
The method recited in claim 1 wherein the section of code is a function and the step of executing the section of code on the processor further comprises the step of executing the function on the processor.
Claim 7
Dependent Claim
88 words
The method recited in claim 1 wherein the data processing system is a distributed system that also includes a second processor and wherein the method further comprises the steps of: executing a second section of code on the second processor; using the facility in the kernel of the operating system to count the number of instructions executed when executing the second section of code on the second processor; and reporting the count of instructions executed when executing the second section of code to the user level monitoring program.
Claim 8
Dependent Claim
35 words
The method recited in claim 6, further comprising the step of storing the count of the number of instructions executed when executing the second section of code on the second processor in the storage mechanism.
Claim 9
Dependent Claim
158 words
In a data processing system having a processor that runs at a system level or a user level when executing instructions and a storage mechanism for storing an operating system that includes a kernel, a method comprising the steps of: providing a facility in the kernel of the operating system for counting a number of times that a section of code has been called execution of a program and a user level monitoring program for monitoring the instructions counted by the facility; executing at least a portion of a program that includes a first section of code on the processor without recompiling the first section of code to embellish the code for profiling; using the facility in the kernel of the operating system to count a number of times that the first section of code is called during execution of the portion of the program on the processor; and reporting the count to the user level monitoring program.
Claim 10
Dependent Claim
158 words
In a data processing system having a processor that runs at a system level or a user level when executing instructions and a storage mechanism for storing an operating system that includes a kernel, a method comprising the steps of: providing a facility in the kernel of the operating system for counting a number of times that a section of code has been called execution of a program and a user level monitoring program for monitoring the instructions counted by the facility; executing at least a portion of a program that includes a first section of code on the processor without recompiling the first section of code to embellish the code for profiling; using the facility in the kernel of the operating system to count a number of times that the first section of code is called during execution of the portion of the program on the processor; and reporting the count to the user level monitoring program.
Claim 11
Dependent Claim
18 words
The method recited in claim 8 wherein the program is part of the kernel of the operating system.
Claim 12
Dependent Claim
22 words
The method recited in claim 8 wherein the first section of code is executed by single stepping through instructions in the program.
Claim 13
Dependent Claim
39 words
The method recited in claim 8, further comprising the step of storing the count of the number of times that the first section of code is called during execution of the portion of the program in the storage mechanism.
Claim 14
Dependent Claim
85 words
The method recited in claim 8 wherein the first section of code is a function and the step of using the facility in the kernel of the operating system to count the number of times that the first section of code is called during execution of the portion of the program further comprises the step of using the facility in the kernel of the operating system to count the number of times that the function is called during execution of the portion of the program.
Claim 15
Dependent Claim
79 words
The method recited in claim 8 wherein the program includes a second section of code and wherein the method further comprises the step of using the facility in the kernel of the operating system to count a number of times that the second section of code is called during execution of the portion of the program on the processor and reporting the count of times that the second section of code is called to the user level monitoring program.
Claim 16
Dependent Claim
42 words
The method recited in claim 8, further comprising the step of storing the count of the number of items that the second section of code is called during execution of the portion of the program on the processor in the storage mechanism.
Claim 17
Dependent Claim
110 words
The method recited in claim 8 wherein the data processing system is a distributed system that also includes a second processor and wherein the method further comprises the steps of: executing at least a portion of a second program that includes a section of code on the processor; using the facility in the kernel of the operating system to count a number of times that the section of code of the second program is called during execution of the portion of the second program; and reporting the count of the number of times that the section of code of the second program is called to the user level monitoring program.
Claim 18
Dependent Claim
44 words
The method recited in claim 15, further comprising the step of storing the count of the number of times that the section of code of the second program is called during the execution of the portion of the second program in the storage mechanism.
Claim 19
Dependent Claim
130 words
In a data processing system having a processor capable of running at a system and a user level for executing instructions and a storage mechanism for an operating system having a kernel, a method comprising the steps of: providing a facility in the kernel of the operating system for counting instructions executed by the processor; executing a first function that calls other functions in the program on the processor without recompiling the first function to embellish the first function for profiling; using the facility in the kernel of the operating system to provide separate counts categorized by function of instructions executed in the first function and the other functions when the first function is called during execution of the program; and reporting the counts to the user level monitoring program.
Claim 20
Dependent Claim
130 words
In a data processing system having a processor capable of running at a system and a user level for executing instructions and a storage mechanism for an operating system having a kernel, a method comprising the steps of: providing a facility in the kernel of the operating system for counting instructions executed by the processor; executing a first function that calls other functions in the program on the processor without recompiling the first function to embellish the first function for profiling; using the facility in the kernel of the operating system to provide separate counts categorized by function of instructions executed in the first function and the other functions when the first function is called during execution of the program; and reporting the counts to the user level monitoring program.
Claim 21
Dependent Claim
18 words
The method recited in claim 17 wherein the program is part of the kernel of the operating system.
Claim 22
Dependent Claim
21 words
The method recited in claim 17 wherein the first function is executed by single stepping through instructions of the first function.
Claim 23
Dependent Claim
19 words
The method recited in claim 17, further comprising the step of storing the separate counts in the storage mechanism.
Claim 24
Independent Claim
110 words
A system for measuring performance of instructions, comprising: a storage mechanism for storing a user level monitoring program and an operating system that includes a kernel, said kernel comprising a facility for counting instructions that are executed; and a processor comprising: (i) a program execution unit for executing the monitored program and the user level monitoring program without recompiling the monitored program to embellish the code for profiling; (ii) a facility invoker for invoking the facility to count the number of instructions executed by at least a portion of the monitored program; and (iii) a count reporter for reporting the counts gathered by the facility to the user monitoring program.
Claim 25
Independent Claim
110 words
A system for measuring performance of instructions, comprising: a storage mechanism for storing a user level monitoring program and an operating system that includes a kernel, said kernel comprising a facility for counting instructions that are executed; and a processor comprising: (i) a program execution unit for executing the monitored program and the user level monitoring program without recompiling the monitored program to embellish the code for profiling; (ii) a facility invoker for invoking the facility to count the number of instructions executed by at least a portion of the monitored program; and (iii) a count reporter for reporting the counts gathered by the facility to the user monitoring program.
Claim 26
Independent Claim
128 words
A system for measuring performance of a monitored program of instructions, said monitored program including a function, the system comprising; a storage mechanism for storing a user level monitoring program and an operating system that includes a kernel, said kernel comprising a facility for counting a number of times that a function is called; a processor comprising: (i) a program execution unit for executing the monitored program and the user level monitoring program without recompiling the monitored program to embellish the code for profiling; (ii) a facility invoker for invoking the facility to count the number of times that the function in the monitored program is called during execution of the monitored program; and (iii) a count reporter for reporting the count to the user level monitoring program.
Claim 27
Independent Claim
128 words
A system for measuring performance of a monitored program of instructions, said monitored program including a function, the system comprising; a storage mechanism for storing a user level monitoring program and an operating system that includes a kernel, said kernel comprising a facility for counting a number of times that a function is called; a processor comprising: (i) a program execution unit for executing the monitored program and the user level monitoring program without recompiling the monitored program to embellish the code for profiling; (ii) a facility invoker for invoking the facility to count the number of times that the function in the monitored program is called during execution of the monitored program; and (iii) a count reporter for reporting the count to the user level monitoring program.
References Cited (Backward Citations)
US4845615A
Cited
US5103394A
Cited
US5047919A
Cited
US4866665A
Cited
US5355487A
Cited
EP0526055A2
Cited
USPTO Annuity & Maintenance Windows
| Annuity Stage | Window Opens | Payment Deadline | Surcharge Period Until | Estimated Fee | Status |
|---|---|---|---|---|---|
| 3.5 Years (Year 4) | 1999-01-15 | 1999-07-17 | 2000-01-16 | $2000.00 | Window Closed / Lapsed |
| 7.5 Years (Year 8) | 2003-01-15 | 2003-07-17 | 2004-01-16 | $3760.00 | Window Closed / Lapsed |
| 11.5 Years (Year 12) | 2007-01-15 | 2007-07-17 | 2008-01-16 | $7700.00 | Window Closed / Lapsed |