TinyOS

TinyOS is an open- source operating system for wireless sensor networks. It is an open source software system that is largely under the BSD license. Meanwhile, there exists in two stable versions, TinyOS TinyOS 1.1.15 and 2.0.1, with version 2.x has been completely redesigned and has eliminated disadvantages of its predecessor. These versions are incompatible with each other, ie existing applications need to be revised.

It was developed at the University of Berkeley (California, USA) by Dr. David Culler, and later further developed mainly by the open source community. Meanwhile, an alliance, similar to the ZigBee Alliance, formed, made up of private individuals, organizations and companies from research, services and industry. TinyOS has a large spread in the research community and represents a de facto standard for wireless sensor networks

Technology

TinyOS uses a component-based architecture ( component-based architecture ) and an event-based execution model (event -driven concurrency model). At the same time it also presents a development environment and programming platform designed specifically for hardware systems with limited resources in terms of memory, processing power and energy use, which must function reliably over periods of months or years autonomously and safely.

The "philosophy" of the operating system is to process the work to be done as soon as possible, to then send the hardware to sleep mode. The implementation of this approach achieved by a TinyOS event-driven execution in the components ( Components) structured program parts that are called via two-phase operations and therefore do not require additional stack caching.

Originally TinyOS is written in the C programming language. But this particular field made ​​it necessary to design a new programming concept which could support the operating system optimal. To this end, the NESC programming language was created, which in turn has been developed so tailor-made for the programming of sensor nodes that TinyOS has been improved again completely reimplemented in NESC. Thus, the special operating system architecture is optimally supported.

For the purposes of developing individual components ( Components) are linked to each other for the particular field of the sensor nodes, thus forming, in effect, a complete application, via the UISP interface or an over-the -air programming ( OTAP ) is loaded onto the target hardware. Components encapsulate basic hardware components such as the radio interface or the timer, thus forming in a hierarchical component model, the lowest level, is referred to as a hardware abstraction layer (HAL). In TinyOS or NESC, there are two types of Components: Modules implement the various functions of the interfaces (between the components) and configurations described with the help of interfaces such as the individual Components are interconnected.

TinyOS offers of house next to einbindbaren components (communication via UISP, timer, scheduler, etc. ) and the nesC-Compiler/-Linker provided a hardware and network simulator ( TOSSIM ), tools for source code documentation and visualization ( Graphviz ) and example applications in Java such as "Serial Forwarder " or program "surge" the network connection analysis.

776442
de