<P> Because an embedded system is often composed of a wide variety of elements, the debugging strategy may vary . For instance, debugging a software - (and microprocessor -) centric embedded system is different from debugging an embedded system where most of the processing is performed by peripherals (DSP, FPGA, and co-processor). An increasing number of embedded systems today use more than one single processor core . A common problem with multi-core development is the proper synchronization of software execution . In such a case, the embedded system design may wish to check the data traffic on the busses between the processor cores, which requires very low - level debugging, at signal / bus level, with a logic analyzer, for instance . </P> <P> Real - time operating systems (RTOS) often supports tracing of operating system events . A graphical view is presented by a host PC tool, based on a recording of the system behavior . The trace recording can be performed in software, by the RTOS, or by special tracing hardware . RTOS tracing allows developers to understand timing and performance issues of the software system and gives a good understanding of the high - level system behaviors . Commercial tools like RTXC Quadros or IAR Systems exists . </P> <P> Embedded systems often reside in machines that are expected to run continuously for years without errors, and in some cases recover by themselves if an error occurs . Therefore, the software is usually developed and tested more carefully than that for personal computers, and unreliable mechanical moving parts such as disk drives, switches or buttons are avoided . </P> <P> Specific reliability issues may include: </P>

Name and explain six unique characteristics and design requirements for embedded operating systems