When the sensor node boots up, the t-kernel initializes its
own working environment, then loads, modifies, and runs the
application. The modification and execution are performed
page by page. When the control flow reaches a new page of
application code, the t-kernel reads that page and modifies
385
some of its instructions. We call instructions in the modified
code natins. A fixed number of natins (256 bytes on
MICA2) form a natin page, and the natin pages constitute a
naturalized program. The naturalized program executes in a
collaborative way with the OS kernel, and supports the enhanced
system abstraction.