Font Size: a A A

Virtualizing operating system for wireless sensor networks

Posted on:2007-06-17Degree:Ph.DType:Dissertation
University:University of VirginiaCandidate:Gu, LinFull Text:PDF
GTID:1448390005968839Subject:Computer Science
Abstract/Summary:
The development of reliable large-scale WSNs is very difficult because of their stringent resource constraints, harsh energy budget, and demanding application requirements. There is a wide gap between very low hardware abstraction and relatively high application complexity. We identify three OS features---OS protection, virtual memory, and preemptive scheduling---that will significantly improve the reliability of WSN systems and facilitate developing complex WSN software. However, due to the limitations of hardware, it is impossible to implement these features with traditional OS design techniques.;This dissertation work studies how to design a new OS kernel to virtualize the very-low-power hardware platform, describes the implementation of the three features mentioned above, and closes the gap between hardware and application. The new OS kernel, called the t-kernel, performs extensive load-time code modification and enhances the system abstraction visible to application programmers. After the modification, the application and OS work in a collaborative way supporting OS protection, virtual memory and preemptive priority scheduling.;Having been implemented on the MICA2 family motes with an 8-bit processor and 4KB RAM, the t-kernel's performance has been evaluated by measuring the kernel overhead and the execution speed of typical computational tasks. A study on the CPU utilization of sensor network applications indicates that, though CPU-bound computation tasks may execute 1.5--3 times as long as in native mode, the performance of applications under typical workloads does not noticeably degrade. As a comparison, the t-kernel executes application programs at a speed one order of magnitude faster than the interpretation based virtual machine approach.;The design and implementation of the t-kernel contain numerous new mechanisms and design techniques for the very-low-power and highly-resource-constrained systems. It performs efficient binary translation on sensor nodes with only 4KB RAM, it provides software based virtual memory without virtual address translation hardware, and it protects the OS from application errors without memory protection or privileged execution hardware. Without relying on traditional hardware support, the t-kernel significantly enhances the system abstraction visible to application programmers and protects WSNs from accidental application errors. Therefore, it should significantly enhance developers' ability to design sophisticated applications and construct reliable systems. In addition, the t-kernel mitigates the constraints on the sensor nodes so that we can extend the functionality of software services on these platforms and include better programming support, such as aspect oriented programming, which was not available on severely resource constrained platforms before. (Abstract shortened by UMI.)...
Keywords/Search Tags:Virtual, Sensor, System, Application
Related items