DOC PREVIEW
Berkeley COMPSCI 294 - TinyOS: An Operating System for Sensor Networks

This preview shows page 1-2-3-4-5 out of 15 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
View full document
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 15 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

TinyOS: An Operating System for Sensor NetworksJason Hill, Robert Szewczyk, Alec Woo, Philip Levis, Sam Madden, Cameron Whitehouse,Joseph Polastre, David Gay, Cory Sharp, Matt Welsh,Eric Brewer and David CullerAbstractWe present TinyOS, a flexible, application-specific operating sys-tem for sensor networks. Sensor networks consist of (potentially)thousands of tiny, low-power nodes, each of which execute con-current, reactive programs that must operate with severe memoryand power constraints. The sensor network challenges of limitedresources, event-centric concurrent applications, and low-poweroperation drive the design of TinyOS. Our solution combines flex-ible, fine-grain components with an execution model that supportscomplex yet safe concurrent operations. TinyOS meets these chal-lenges well and has become the platform of choice for sensor net-work research; it is in use by over a hundred groups worldwide,and supports a broad range of applications and research topics.We provide a qualitative and quantitative evaluation of the system,showing that it supports complex, concurrent programs with verylow memory requirements (many applications fit within 16KB ofmemory, and the core OS is 400 bytes) and efficient, low-poweroperation. We present our experiences with TinyOS as a platformfor sensor network innovation and applications.1 IntroductionAdvances in networking and integration have enabledsmall, flexible, low-cost nodes that interact with their en-vironment and with each other through sensors, actuatorsand communication. Single-chip systems are now emerg-ing that integrate a low-power CPU and memory, radioor optical communication [75], and MEMS-based on-chipsensors. The low cost of these systems enables embeddednetworks of thousands of nodes [18] for applications rang-ing from environmental and habitat monitoring [11, 51],seismic analysis of structures [10], and object localizationand tracking [68].Sensor networks are a very active research space, withongoing work on networking [22, 38, 83], application sup-port [25, 27, 49], radio management [8, 84], and secu-rity [9, 45, 61, 81], as a partial list. A primary goal ofTinyOS is to enable and accelerate this innovation.Four broad requirements motivate the design of TinyOS:1) Limited resources: Motes have very limited physicalresources, due to the goals of small size, low cost, and lowpower consumption. Current motes consist of about a 1-MIPS processor and tens of kilobytes of storage. We donot expect new technology to remove these limitations: thebenefits of Moore’s Law will be applied to reduce size andcost, rather than increase capability. Although our currentmotes are measured in square centimeters, a version is infabrication that measures less than 5 mm2.2) Reactive Concurrency: In a typical sensor networkapplication, a node is responsible for sampling aspects ofits environment through sensors, perhaps manipulating itthrough actuators, performing local data processing, trans-mitting data, routing data for others, and participating invarious distributed processing tasks, such as statistical ag-gregation or feature recognition. Many of these events,such as radio management, require real-time responses.This requires an approach to concurrency management thatreduces potential bugs while respecting resource and tim-ing constraints.3) Flexibility: The variation in hardware and applicationsand the rate of innovation require a flexible OS that is bothapplication-specific to reduce space and power, and inde-pendent of the boundary between hardware and software.In addition, the OS should support fine-grain modularityand interpositioning to simplify reuse and innovation.4) Low Power: Demands of size and cost, as well as un-tethered operation make low-power operation a key goalof mote design. Battery density doubles roughly every 50years, which makes power an ongoing challenge. Althoughenergy harvesting offers many promising solutions, at thevery small scale of motes we can harvest only microwattsof power. This is insufficient for continuous operation ofeven the most energy-efficient designs. Given the broadrange of applications for sensor networks, TinyOS must notonly address extremely low-power operation, but also pro-vide a great deal of flexibility in power-management andduty-cycle strategies.In our approach to these requirements we focus on twobroad principles:Event Centric: Like the applications, the solution must beevent centric. The normal operation is the reactive ex-ecution of concurrent events.Platform for Innovation: The space of networked sensorsis novel and complex: we therefore focus on flexibilityand enabling innovation, rather then the “right” OSfrom the beginning.TinyOS is a tiny (fewer than 400 bytes), flexible oper-ating system built from a set of reusable components thatare assembled into an application-specific system. TinyOSsupports an event-driven concurrency model based on split-phase interfaces, asynchronous events, and deferred com-putation called tasks. TinyOS is implemented in the nesClanguage [24], which supports the TinyOS component andconcurrency model as well as extensive cross-componentoptimizations and compile-time race detection. TinyOShas enabled both innovation in sensor network systems anda wide variety of applications. TinyOS has been underdevelopment for several years and is currently in its thirdgeneration involving several iterations of hardware, radiostacks, and programming tools. Over one hundred groupsworldwide use it, including several companies within theirproducts.This paper details the design and motivation of TinyOS,including its novel approaches to components and concur-rency, a qualitative and quantitative evaluation of the oper-ating system, and the presentation of our experience withit as a platform for innovation and real applications. Thispaper makes the following contributions. First, we presentthe design and programming model of TinyOS, includingsupport for concurrency and flexible composition. Second,we evaluate TinyOS in terms of its performance, small size,lightweight concurrency, flexibility, and support for lowpower operation. Third, we discuss our experience withTinyOS, illustrating its design through three applications:environmental monitoring, object tracking, and a declara-tive query processor. Our previous work on TinyOS dis-cussed an early system architecture [30] and language de-sign issues [24], but did not present the operating systemdesign in detail, provide


View Full Document

Berkeley COMPSCI 294 - TinyOS: An Operating System for Sensor Networks

Documents in this Course
"Woo" MAC

"Woo" MAC

11 pages

Pangaea

Pangaea

14 pages

Load more
Download TinyOS: An Operating System for Sensor Networks
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view TinyOS: An Operating System for Sensor Networks and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view TinyOS: An Operating System for Sensor Networks 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?