Tinyos操作系统简介

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Tinyos操作系统简介

Tinyos简介

最近看了篇关于TinyOS简介的文章,摘录出来保存下,介绍tinyos编程入门的资料不少,但从操作系统

的角度分析tinyos是有必要的,毕竟TinyOS做为无线传感网络操作系统中最重要的一种,也是最常用的

一种,分析它的实现机制有助于以后改进针对无线传感网络的操作系统,也是嵌入式操作系统的一类。

An open-source operating system designed for wireless embedded sensor network. More specifically, it is designed to support the concurrency intensive operations required by networked sensors with minimal hardware requirements.

TinyOS Features

• No Kernel: Direct hardware manipulation.

• No Process Management: Only one process on the fly.

• No Virtual Memory: Single linear physical address space.

• No S/w Signal or Exception: Function call instead.

• No User Interface, power constrained.

• Unusually application specific H/w and S/w.

• Multiple flows, concurrency intensive bursts.

• Extremely passive vigilance (power saving).

• Tightly coupled with the application.

• Simulator: TOSSIM, PowerTOSSIM

• Written in “nesC” Language, a dialect of the …C? language.

TinyOS uses multi-hop routing instead of point-to-point connections to save

transmission power. Route discovery is done by 2-hop broadcast and topology

discovery is based on shortest path from each node to the base station.

• The paradigm for network transmissions in TinyOS is active messaging. Messages contain a handler address and on arrival this handler is called.

• TinyOS Architecture

• Component Based Architecture: enables rapid innovation and implementation while minimizing code size as required by the severe memory constraints inherent in sensor networks.

• Small footprint: fits in 178 Bytes of memory.

• Event based instead of threaded architecture.

start and stop are commands.

fired is a event invoked by Timer.

The interface specifies: Timer must implement startand stop, Application must implement fired.

o Propagates events in time it takes to copy 1.25 Bytes.

o Switches context in the time to copy 6 Bytes ofMemory.

• Radio and Clock have interrupts.

• Non-blocking/Non-preemptive Scheduling: Tasks will not preempts other tasks and run in FIFO order but only interrupts and associated events can preempt tasks.

Toavoid blocking scenarios, events and commands are expected to do only state transmissions and leave complex computations to tasks that

can be preempted if necessary. 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 has a Single Stack: TinyOS uses a simple queue with length

7 and a two level scheduling. Therefore, all I/O operations that last longer than a few hundred

microseconds are asynchronous and have a callback. A TinyOS component can post a task, which the OS will schedule to run later.

• To support larger computations, TinyOS provides t asks, which are similar to a Deferred Procedure Call and interrupt handler bottom halves. Latest version of TinyOS has numerous improvements such as: Safe TinyOS , a compile-time option

that lets us incorporate run-time memory safety checks into oour application, TOSThreads , a threading library that runs on top of a standard TinyOS core etc.

相关文档
最新文档