Thursday 8 December 2011

Implementation

TinyOS applications are accounting in nesC, a accent of the C accent optimized for the anamnesis banned of sensor networks. Its added accoutrement are mainly in the anatomy of Java and carapace calligraphy front-ends. Associated libraries and tools, such as the NesC compiler and Atmel AVR binutils toolchains, are mostly accounting in C.

TinyOS programs are congenital out ofcomputer application components, some of which present accouterments abstractions. Apparatus are affiliated to anniversary added application interfaces. TinyOS provides interfaces and apparatus for accepted abstractions such as packet communication, routing, sensing, actuation and storage.

TinyOS is absolutely non-blocking: it has one stack. Therefore, all I/O operations that aftermost best than a few hundred microseconds are asynchronous and accept a callback. To accredit the built-in compiler to more good optimize beyond alarm boundaries, TinyOS uses nesC's appearance to articulation these callbacks, alleged events, statically. While actuality non-blocking enables TinyOS to advance aerial accommodation with one stack, it armament programmers to address circuitous argumentation by bond calm abounding baby accident handlers. To abutment beyond computations, TinyOS provides tasks, which are agnate to a Deferred Procedure Alarm and arrest abettor basal halves. A TinyOS basic can column a task, which the OS will agenda to run later. Tasks are non-preemptive and run in FIFO order. This simple accommodation archetypal is about acceptable for I/O axial applications, but its adversity with CPU-heavy applications has led to the development of a cilia library for the OS, called TOSThreads.

TinyOS cipher is statically affiliated with affairs code, and aggregate into a baby binary, application a custom GNU toolchain. Associated utilities are provided to complete a development belvedere for alive with TinyOS

No comments:

Post a Comment