Operating system event tracker having separate storage for interrupt and non-interrupt events and flushing the third memory when timeout and memory full occur
First Claim
1. A system for logging operating system events, comprising:
- a first memory for storing first data associated with an interrupt event;
a second memory for storing second data associated with a non-interrupt event;
one or more components for storing data in the first memory and the second memory;
one or more components for moving the first data from the first memory to a third memory and the second data from the second memory to the third memory; and
a first flushing component for flushing data from the third memory upon at least one of the third memory becoming substantially full and a timeout condition occurring.
2 Assignments
0 Petitions
Accused Products
Abstract
A system and method for logging events processed by an operating system is provided. The events logged can include interrupt and non-interrupt events, and can include user-defined events. Information concerning the interrupt events is initially written, during event handling time, into a first buffer while information concerning non-interrupt events is initially written, during event handling time, into a second buffer. Information from the two buffers is then written to a third buffer not during event handling time. Separating the interrupt event buffer from the non-interrupt event buffer rather than having one buffer, and writing relatively small amounts of data during event handling time to memory, rather than transporting data to slower non-memory mapped devices allows the event logger to be less intrusive and facilitates greater accuracy in event logging. Data stored in the third buffer can be accessed by a viewing component, which facilitates displaying data in a manner useful to diagnose operating systems.
-
Citations
51 Claims
-
1. A system for logging operating system events, comprising:
-
a first memory for storing first data associated with an interrupt event;
a second memory for storing second data associated with a non-interrupt event;
one or more components for storing data in the first memory and the second memory;
one or more components for moving the first data from the first memory to a third memory and the second data from the second memory to the third memory; and
a first flushing component for flushing data from the third memory upon at least one of the third memory becoming substantially full and a timeout condition occurring. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method for logging operating system kernel events, comprising:
-
storing interrupt data associated with interrupt events in an interrupt buffer;
storing non-interrupt data associated with non-interrupt events in a non-interrupt buffer;
flushing the interrupt data to a secondary buffer; and
flushing the non-interrupt data to the secondary buffer, wherein the non-interrupt data is flushed to the secondary buffer upon at least one of the non-interrupt buffer becoming substantially full and event handling associated with the non-interrupt event completing, the flushing not occurring during interrupt handling time. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37, 38, 40, 41, 42, 43, 44)
-
-
39. The method of 38, further comprising generating an interrupt when the secondary buffer is substantially full.
-
45. A computer readable medium storing computer executable components of a system for triple buffering information associated with events handled by an operating system kernel, comprising:
-
one or more computer executable components for storing first data associated with interrupt events in a first memory;
one or more computer executable components for storing second data associated with non-interrupt events in a second memory;
one or more components for moving the first data from the first memory to the third memory and the second data from the second memory to a third memory; and
a flushing component for flushing data from the third memory upon at least one of the third memory becoming substantially full and a timeout condition occurring, the flushing not occurring during interrupt handling time.
-
-
46. A computer readable medium storing computer executable instructions operable to execute a method for logging operating system kernel events, the method comprising:
-
storing interrupt data associated with interrupt events in an interrupt buffer;
storing non-interrupt data associated with non-interrupt events in a non-interrupt buffer;
flushing the interrupt data to a secondary buffer, the flushing not occurring during interrupt handling time; and
flushing the non-interrupt data to the secondary buffer, the flushing not occurring during interrupt handling time, and transporting data in the secondary buffer to facilitate display thereof, upon at least one of the secondary buffer becoming full and/or a process timeout occuring.
-
-
47. A data packet for logging operating system events adapted to be transmitted from a first system to a second system comprising:
-
at least one of interrupt data associated with interrupt events, the interrupt data being stored in a first memory; and
at least one of non-interrupt data associated with non-interrupt events, the non-interrupt data being stored in a second memory, and a component for transporting data in the first memory and the second memory to facilitate display thereof, upon at least one of the first memory and the second memory becoming full and/or a process timeout occurring.
-
-
48. A system for logging operating system kernel events, comprising:
-
means for logging interrupt events to an interrupt buffer;
means for logging non-interrupt events to a non-interrupt buffer;
means for copying data in the interrupt buffer to a secondary buffer; and
means for copying data in the non-interrupt buffer to the secondary buffer, and a means for transporting data in the first memory and the second memory to facilitate display thereof, upon at least one of the first memory and the second memory becoming full and/or a process timeout occurring. - View Dependent Claims (49, 50, 51)
-
Specification