The Open Software Engineering Journal

2008, 2 : 40-44
Published online 2008 December 17. DOI: 10.2174/1874107X00802010040
Publisher ID: TOSEJ-2-40

Tracing Time Operating System State Determination

Jean-Hugues DeschĂȘnes , Mathieu Desnoyers and Michel R. Dagenais
Department of Computer and Software Engineering, Ecole Polytechnique, P.O. Box 6079, Station Downtown, Montreal, Quebec, Canada, H3C 3A7, Canada.

ABSTRACT

In recent years, tracing operating system behavior by recording kernel events has proven to be a particularly effective tool. However, when used to characterize the system's behavior through time, including its state, the list of state transitions that the kernel events represent is not sufficient to characterize the state for the entire data acquisition period. The initial operating system state, when tracing starts, is also required.

The challenge lies in obtaining a complete snapshot of the initial state, while minimizing the impact on the system being traced. This impact may be in terms of CPU or disk I/O consumption, instrumentation memory, or burst activity at trace start time detrimental to the real-time response. Such impact is especially disturbing on small real-time limited resources embedded systems.

In this paper, we will propose an efficient approach to extract such initial state information and discuss the software module we have developed to provide the aforementioned data to the LTTng tracing tool and its accompanying viewer, LTTV. This module not only improves LTTV's accuracy by providing the initial state of all processes in the system, but also provides an inventory of relevant kernel objects at minimal cost, without increasing noticeably the interrupt latency.