TinyOS

TinyOS

Infobox OS
name = TinyOS



caption =
developer = TinyOS Alliance
source_model = Open source
kernel_type =
supported_platforms =
ui =
family = Embedded operating systems
released = 2000
latest_release_version = 2.1.0
latest_release_date = August , 2008
latest_test_version =
latest_test_date =
marketing_target = Wireless sensor networks
programmed_in = nesC
prog_language =
language =
updatemodel =
package_manager =
working_state = Current
license = BSD License
website = http://www.tinyos.net

TinyOS is a free and open source component-based operating system and platform targeting wireless sensor networks (WSNs). TinyOS is an embedded operating system written in the nesC programming language as a set of cooperating tasks and processes. It is intended to be incorporated into smartdust. TinyOS started as a collaboration between the University of California, Berkeley in co-operation with Intel Research, and has since grown to a be an international consortium, the TinyOS Alliance.

Implementation

TinyOS applications are written in nesC, a dialect of the C programming language optimized for the memory limitations of sensor networks. Its supplemental tools come mainly in the form of Java and shell script front-ends. Associated libraries and tools, such as the NesC compiler and Atmel AVR binutils toolchains, are mostly written in C.

TinyOS programs are built out of software components, some of which present hardware abstractions. Components are connected to each other using interfaces. TinyOS provides interfaces and components for common abstractions such as packet communication, routing, sensing, actuation and storage.

TinyOS is completely non-blocking: it has a single stack. Therefore, all I/O operations that last longer than a few hundred microseconds are asynchronous and have a callback. To enable the native compiler to better optimize across call boundaries, TinyOS uses nesC's features to link these callbacks, called events, statically. While being non-blocking enables TinyOS to maintain high concurrency with a single stack, it forces programmers to write complex logic by stitching together many small event handlers. To support larger computations, TinyOS provides tasks, which are similar to a Deferred Procedure Call and interrupt handler bottom halves. A TinyOS component can post a task, which the OS will schedule to run later. Tasks are non-preemptive and run in FIFO order. This simple concurrency model is typically sufficient for I/O centric applications, but its difficulty with CPU-heavy applications has led to several proposals for incorporating threads into the OS.

TinyOS code is statically linked with program code, and compiled into a small binary, using a custom GNU toolchain. Associated utilities are provided to complete a development platform for working with TinyOS.

History

TinyOS began as a project at UC Berkeley as part of the DARPA NEST program. It has since grown to involve thousands of academic and commercial developers and users worldwide. (list in reverse order)
* August 2008: TinyOS 2.1.0 released.
* July 2007: TinyOS 2.0.2 released. Work on TinyOS 2.1, which involves slight changes to a few interfaces, begins.
* April 2007: TinyOS 2.0.1 released at the 4th TinyOS Technology Exchange in Cambridge, MA.
* November 2006: TinyOS 2.0 released at the SenSys conference in Boulder, CO.
* July 2006: TinyOS 2.0 beta2 released.
* February 2006: TinyOS 2.0 beta1 released at the 3rd TinyOS Technology Exchange in Stanford, CA.
* December 2005: TinyOS 1.1.15, the last 1.1 version, is released.
* July 2005: NEST project concludes.
* June 2004: Working group forms on next steps for TinyOS, based on experiences porting to new platforms. Group agrees to start work on 2.0.
* September 2003 - December 2005: TinyOS begins a periodic minor release process.
* August 2003: TinyOS version 1.1 is released, which includes new nesC features including data race detection.
* September 2002: TinyOS version 1.0, implemented in nesC, is released.
* April 2002: Work on the nesC programming language begins as a collaboration between Intel Research and UC Berkeley.
* February 2002: Berkeley distributes 1000 mica nodes to other participants in the NEST project.
* 2001: Berkeley develops the mica platform and releases TinyOS version 0.6.
* 2000: Berkeley designs the rene platform and partners with Crossbow, Inc., who mass produces the hardware. TinyOS version 0.43 is made available to the public via SourceForge. Pre-1.0 versions of TinyOS are a mix of C and Perl scripts.
* 1999: First TinyOS platform (WeC) and OS implementations are developed at Berkeley.

Integrated Development Environments

* [http://tos-ide.ethz.ch/wiki/index.php TinyOS Eclipse Plugin "YETI 2"] (ETH Zürich)
* [http://tide.ucd.ie/ TinyOS Eclipse Plugin by Richard Tynan] (University College Dublin)
* [http://www.tinydt.net/ TinyDT - TinyOS Plugin for the eclipse platform] (Vanderbilt University)

ee also

*nesC

External links

* [http://www.tinyos.net TinyOS Website]
* [http://www.tinyos.net/tinyos-2.x/doc TinyOS 2.0 Documentation]
* [http://csl.stanford.edu/~pal/pubs/tinyos-programming.pdf TinyOS Programming] by Philip Levis June 28, 2006
* [http://dmoz.org/Computers/Software/Operating_Systems/Network/TinyOS/ Open Directory: Computers: Software: Operating Systems: Network: TinyOS]
* [http://www.tinyos.or.kr TinyOS Korea Forum Website]
* [http://tinyos.cvs.sourceforge.net/*checkout*/tinyos/tinyos-2.x-contrib/index.html/ TinyOS Contrib] - Contributed projects
* [http://www.tinyos8051wg.net/ www.tinyos8051wg.net] - [http://www.tinyos8051wg.net/ Port of TinyOS to mcs51 (8051) based architectures and CC2430 in particular]
* [http://toilers.mines.edu/Public/XubunTOS XubunTOS] - Live CD with latest TinyOS installed
* [http://klueska.doesntexist.com/installing_xubuntos_vm.html XubuntTOS VMWare] - VMWare virtual machine image of XubunTOS
* [http://www.btnode.ethz.ch/Projects/SensorNetworkMuseum SensorNetworkMuseum] - reference data for sensor network platforms
* TinyOS Technology Exchange (TTX): annual developer meeting
** [http://www.eecs.berkeley.edu/~culler/tinyos/ttx/ TTX5] 2008, Univ. of California, Berkeley
** [http://tinyos.stanford.edu/ttx/2007 TTX4] 2007, M.I.T.
** [http://www.cs.berkeley.edu/~culler/tinyos/ttx/2006 TTX3] 2006, Stanford University
** [http://www.eecs.berkeley.edu/~culler/tinyos/ttx/2005 TTX2] 2005, Univ. of California, Berkeley
** [http://www.eecs.berkeley.edu/~culler/tinyos/ttx/2004 TTX] 2004, Univ. of California, Berkeley
* [http://mythicalcomputer.blogspot.com/2008/08/installation-of-tinyos-in-ubuntu.html TinyOs 2.1.0 Installation] Blogfor installation of TinyOS 2.10 in Ubuntu. It provides simple examples for testing the installation and running programs using Avrora


Wikimedia Foundation. 2010.

Игры ⚽ Поможем написать курсовую

Look at other dictionaries:

  • Tinyos — Logo TinyOS TinyOS est un système d’exploitation open source conçu pour des réseaux de capteurs sans fil. Il respecte une architecture basée sur une association de composants, réduisant la taille du code nécessaire à sa mise en place. Cela… …   Wikipédia en Français

  • TinyOS — Langue Multilingue État du projet en développement Entreprise / Développeur TinyOS Alliance …   Wikipédia en Français

  • TinyOS — Разработчик Альянс TinyOS Семейство ОС Встраиваемые системы Первый выпуск 2000 Последняя версия 2.1.1 апрель 2010 г. Лицензия BSD Состояние А …   Википедия

  • Tinyos — ist ein Open Source Betriebssystem für drahtlose Sensornetzwerke. Es handelt sich um ein quelloffenes Softwaresystem, welches größtenteils unter der BSD Lizenz steht. Mittlerweile existiert es in zwei stabilen Versionen, TinyOS 1.1.15 und TinyOS… …   Deutsch Wikipedia

  • TinyOS — ist ein Open Source Betriebssystem für drahtlose Sensornetze. Es handelt sich um ein quelloffenes Softwaresystem, welches größtenteils unter der BSD Lizenz steht. Mittlerweile existiert es in zwei stabilen Versionen, TinyOS 1.1.15 und TinyOS… …   Deutsch Wikipedia

  • TinyOS — Este artículo o sección necesita referencias que aparezcan en una publicación acreditada, como revistas especializadas, monografías, prensa diaria o páginas de Internet fidedignas. Puedes añadirlas así o avisar …   Wikipedia Español

  • tinyós — ti|nyós Mot Agut Adjectiu variable …   Diccionari Català-Català

  • Wireless sensor network — WSN redirects here. For the metasyntax, see Wirth syntax notation. Typical multi hop wireless sensor network architecture A wireless sensor network (WSN) consists of spatially distributed autonomous sensors to monitor physical or environmental… …   Wikipedia

  • nesC — (network embedded systems C), pronounced NES see , is a component based, event driven programming language used to build applications for the TinyOS platform. TinyOS is an operating environment designed to run on embedded devices used in… …   Wikipedia

  • NesC — (network embedded systems C) is a component based, event driven programming language used to build applications for the TinyOS platform. TinyOS is an operating environment designed to run on embedded devices used in distributed Wireless Sensor… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”