TinyOS

It began as a collaboration between the University of California, Berkeley, Intel Research, and Crossbow Technology, was released as free and open-source software under a BSD license, and has since grown into an international consortium, the TinyOS Alliance.

Associated libraries and tools, such as the nesC compiler and Atmel AVR binutils toolchains, are mostly written in C. TinyOS programs are built of software components, some of which present hardware abstractions.

TinyOS provides interfaces and components for common abstractions such as packet communication, routing, sensing, actuation and storage.

While being non-blocking enables TinyOS to maintain high concurrency with one stack, it forces programmers to write complex logic by stitching together many small event handlers.

To support larger computations, TinyOS provides tasks, which are similar to a Deferred Procedure Call and interrupt handler bottom halves.