Lightweight POSIX tracing
In embedded systems, the typical host/target development scheme normally requires a tracing mechanism to be available in the target system in order to collect run-time information of the application. This information is then used in the host system to debug, monitor, fine tune, etc., the application. Related to this, POSIX has recently incorporated the definition of standard tracing services into the complete POSIX 1003.1-2001 standard. It is obvious that standard interfaces present several advantages for applications, specially regarding portability. However, the observed trend in real-time operating systems (RTOSs) of progressively incorporating the POSIX interfaces have not reached the POSIX tracing services., As far as we know, this tracing interface has not been incorporated yet into any commercial RTOS, probably because it is quite recent and its tracing model is too complex and demanding for small, embedded real-time systems. After carefully analyzing and then implementing and using the POSIX Trace standard in both RT-Linux and MarteOS, this paper presents the redefinition of the POSIX tracing standard from the perspective of small real-time systems and, in particular, systems conforming to the POSIX Minimal Realtime System Profile (MRSP). The new tracing model is called Lightweight POSIX tracing. The model has been carefully designed to maintain all the syntax, and almost all the semantics, of the original standard, but it allows for the definition of useful subsets of the original standard that can be implemented very efficiently. The experimental results show that a minimal tracing system which is appropriate for MRSP systems exhibits a significantly smaller memory footprint and lower overhead, compared to the implementation of the complete standard. Copyright (C) 2007 John Wiley & Sons, Ltd.
tracing real-time operating systems posix standard