Version 68 (Anthony Rowe, 07/13/2007 02:35 pm) → Version 69/125 (Anthony Rowe, 08/24/2007 06:56 pm)

<table border="0">
<tr><td valign="top" style="height:500px;">
<div class="menu_active">Overview</div>
<div class="menu"><a href="/nano-RK/wiki/FAQ" class="menu">FAQ</a></div>
<div class="menu"><a href="/nano-RK/wiki/Quick-Start" class="menu">Quick-Start</a></div>
<div class="menu"><a href="/nano-RK/wiki/Downloads" class="menu">Downloads</a></div>
<div class="menu"><a href="/nano-RK/wiki/Documentation" class="menu">Documentation</a></div>
<div class="menu"><a href="/nano-RK/wiki/People" class="menu">People</a></div>
<div class="menu"><a href="/nano-RK/wiki/Links" class="menu">Links</a></div>
<div class="menu"><a href="/nano-RK/wiki/Pubs" class="menu">Publications</a></div>
<div class="menu"><a href="/nano-RK/wiki/Projects" class="menu">Projects</a></div>

<td valign="top" style="widtwiki/h:100%;padding-left:50px">
= Nano-RK: A Preemptive Real-Time Resource Centric Kernel for Sensor Networks =
Nano-RK is a reservation-based real-time operating system (RTOS) from [ Carnegie Mellon University] with multi-hop networking support for use in wireless sensor networks. Nano-RK currently runs on the FireFly Sensor Networking Platform as well as the [wiki:MicaZ] motes. It includes a light-weight embedded resource kernel (RK) with rich functionality and timing support using less than 2KB of RAM and 16KB of ROM. Nano-RK supports fixed-priority preemptive multitasking for ensuring that task deadlines are met, along with support for CPU, network, as well as, sensor and actuator reservations. Tasks can specify their resource demands and the operating system provides
timely, guaranteed and controlled access to CPU cycles and network packets. Together these resources form virtual energy reservations that allows the OS to enforce system and task level energy budgets.

Nano-RK has the following features:
* C GNU tool-chain
* Classical Preemptive Operating System Multitasking Abstractions
* Real-Time Priority Based Scheduling
* Built-in Fault Handling
* Task Timing Violations
* Stack Integrity
* Unexpected Node Restarts
* Resource Over-Use
* Low Voltage Detection
* Watchdog Timer
* Energy Efficient Scheduling based on ''a-prior'' task-set knowledge
* Small Footprint (<2K RAM, 16K ROM, including link layer)
* [wiki:SLIPstream] (a simple gateway to IP network protocol and utility)
* [wiki:TimeScope] (a code execution time measurement utility)

Nano-RK supports various wireless link layer protocols including:
* [wiki:RT-Link] for collision free Real-Time communication
* [wiki:WiDom] a collision free priority based link layer
* [wiki:b-mac] for low-power contention based communication

Nano-RK supports the following network layer protocols:
* [wiki:Flooding] a starting point for building your own protocol
* [wiki:AODV] for ad-hoc routing


Sample Nano-RK architecture figure showing user applications and [wiki:RT-Link].