A typical operating system abstracts the hardware platform by providing a set of services for applications, including fi le management, memory allocation, task scheduling, peripheral device drivers, and networking. For embedded systems, due to their highly specialized applications and limited resources, their operating systems make different trade-offs when providing these services. For example, if there is no file management requirement then a file system is obviously not needed. If there is no dynamic memory allocation then memory management can be simplified. If prioritization among tasks is critical then a more elaborate priority scheduling mechanism may be added.
TinyOS and TinyGALS are two representative examples of node-level programming tools that we will cover in detail in this section. Other related software platforms include Mat é, a virtual machine for the Berkeley motes. Observing that operations such as polling sensors and accessing internal states are common to all sensor network application, Mat é defines virtual machine instructions to abstract those operations. When a new hardware platform is introduced with support for the virtual machine, software written in the Mat é instruction set does not have to be rewritten.
Source of Information : Elsevier Wireless Networking Complete 2010
0 comments: on "Node-Level Software Platforms"
Post a Comment