Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

TinyOS

From Wikipedia, the free encyclopedia
icon
This articleneeds additional citations forverification. Please helpimprove this article byadding citations to reliable sources. Unsourced material may be challenged and removed.
Find sources: "TinyOS" – news ·newspapers ·books ·scholar ·JSTOR
(December 2006) (Learn how and when to remove this message)
Operating system
TinyOS
DeveloperTinyOS Alliance
Written innesC
OS familyEmbedded operating systems
Working stateCurrent
Source modelOpen source
Initial release2000; 26 years ago (2000)
Latest release2.1.2 / August 20, 2012; 13 years ago (2012-08-20)
Repository
Marketing targetWireless sensor networks
Available inEnglish
LicenseBSD
Official websitetinyos.net

TinyOS is an embedded, component-basedoperating system and platform for low-power wireless devices, such as those used inwireless sensor networks (WSNs),smartdust,ubiquitous computing,personal area networks,building automation, andsmart meters. It is written in theprogramming language nesC, as a set of cooperating tasks and processes. It began as a collaboration between theUniversity of California, Berkeley,Intel Research, andCrossbow Technology, was released asfree and open-source software under aBSD license, and has since grown into an international consortium, theTinyOS Alliance.

TinyOS has been used in space, being implemented inESTCube-1.

Implementation

[edit]

TinyOS applications are written in the programming languagenesC, a dialect of theC language optimized for the memory limits of sensor networks.[1] Its supplementary tools are mainly in the form ofJava andshell script front-ends. Associated libraries and tools, such as the nesC compiler andAtmel AVR binutils toolchains, are mostly written in C.

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

TinyOS is fullynon-blocking: it has onecall stack. Thus, allinput/output (I/O) operations that last longer than a few hundredmicroseconds are asynchronous and have acallback. To enable the nativecompiler 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 one 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 aDeferred Procedure Call andinterrupt handler bottom halves. A TinyOS component can post a task, which the OS will schedule to run later. Tasks are non-preemptive and run infirst in, first out order. This simpleconcurrency model is typically sufficient for I/O centric applications, but its difficulty with CPU-heavy applications has led to developing athread library for the OS, named TOSThreads. TOSThreads are unmaintained and have been deprecated.[2]

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

History

[edit]

TinyOS began as a project at UC Berkeley as part of theDARPA NEST program. It has since grown to involve thousands of academic and commercial developers and users worldwide. (list in reverse chronological order)

  • August 2012: TinyOS 2.1.2 released
  • April 2010: TinyOS 2.1.1 released.
  • 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 andPerl scripts.
  • 1999: First TinyOS platform (WeC) and OS implementations are developed at Berkeley.
[icon]
This sectionneeds expansion. You can help byadding missing information.(June 2008)

Integrated development environments

[edit]

As of 2010, threeintegrated development environments (IDEs) are available for TinyOS, asplug-ins forEclipse:

  • YETI 2, ETH Zürich (development stopped)
  • XPairtise by Rasmus Pedersen, Copenhagen Business School
  • TinyDT, Vanderbilt University

References

[edit]
  1. ^Levis, Philip; Gay, David (2009).Programming TinyOS. Cambridge University Press.ISBN 9780521896061.
  2. ^"TinyOS development repository TOSThreads deprecated".TinyOS current development repository. Retrieved3 December 2018.

External links

[edit]
Operating
systems
Communications
protocols
Programming
languages
Hardware
Software
Applications
Routing
protocols
Conferences,
journals
Retrieved from "https://en.wikipedia.org/w/index.php?title=TinyOS&oldid=1333451256"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2026 Movatter.jp