Nano-RK is a real-time operating system (RTOS) from Carnegie Mellon University designed to run on micro-controllers for use in sensor networks. Nano-RK supports a fixed-priority fully preemptive scheduler with fine-grained timing primitives to support real-time task sets. "Nano" implies that the RTOS is small, consuming 2 KB of RAM and using 18 KB of flash, while "RK" is short for resource kernel. A resource kernel provides reservations on how often system resources can be consumed. For example, a task might only be allowed to execute 10 ms every 150 ms (CPU reservation), or a node might only be allowed to transmit 10 network packets per minute (network reservation). These reservations form a virtual energy budget to ensure a node meets its designed battery lifetime as well as protecting a failed node from generating excessive network traffic. Nano-RK is open source, is written in C and runs on the Atmel-based FireFly sensor networking platform, the MicaZ motes as well as the MSP430 processor.
The following article  discusses some of the tradeoffs associated with using an RTOS in sensor networks.
- Nano-RK Website
- Kernel Documentation
- General Documentation
- Nano-RK Downloads
- FireFly Sensor Node Datasheet