Tools for Monitoring the Behavior of an Operating System
Date: April 14, 1994
Abstract: Tools for monitoring the behavior of an operating system are invaluable in debugging and performance tuning. Monitoring operating systems under realistic workloads, however, is a difficult problem. Existing hardware techniques for monitoring are inflexible, and they cannot monitor on-chip cache behavior. Software techniques on the other hand cause the monitored system to slow down often by an order of magnitude, making them unsuitable for use with realtime workloads and network activities.
This talk will describe the design of a new tool that can collect long execution traces with very little perturbation to the monitored system. The implementation takes place entirely in software and relies on instruction counters that are becoming available in an increasing number of modern processors. The tool can be applied for debugging while an operating system is in beta-testing, and it can be used to analyze the causes of Heizenbugs in a systematic manner. The tool can also be applied to generate long address traces with storage overhead that is orders of magnitude less than is common with existing tools. Such traces can be used for performance debugging and tuning.