Real-time kernels of signal processing systems as Digital Signal Processors or FPGAs "soft processor" cores always provide a counting semaphore facility but often lack a condition variable primitive. This work presents an efficient solution to the problem of implementing condition variables on top of counting semaphores. OSI is an application of the result, a user-level partial implementation of the Pthreads standard.
Sundance™ and other companies provide embedded multicomputers (see Figure 1) for high demanding real-time signal processing. These machines fit in the category of high performance embedded computing (HPEC) environments. Its modularity and scalability attracted our attention years ago. A multicomputer can be built by combining one of more carrier boards. Each board provides four sites where a TIM module is inserted. TIM (for Texas Instruments Module) is just a physical connection specification. A TIM conformant module can be plugged in a TIM conformant board. Sundance provides I/O, DSP and FPGA TIM modules.