A virtualizing OS kernel for wireless sensor networks

L Gu, JA Stankovic�- Proceedings of the 4th international conference on�…, 2006 - dl.acm.org
Proceedings of the 4th international conference on Embedded networked sensor�…, 2006dl.acm.org
The experience with several recent real-world wireless sensor networks (WSNs) shows that
it is very difficult to develop a distributed, adaptive, and reliable network system with a large
number of low-power sensor nodes. Reasons include stringent resource constraints, a tight
energy budget, and demanding application requirements. Sensor nodes typically employ
low-power microcontrollers and very small amounts of data memory (3KB–10KB RAM). But
systems being built with large numbers of these devices can be quite sophisticated. There is�…
The experience with several recent real-world wireless sensor networks (WSNs) shows that it is very difficult to develop a distributed, adaptive, and reliable network system with a large number of low-power sensor nodes. Reasons include stringent resource constraints, a tight energy budget, and demanding application requirements. Sensor nodes typically employ low-power microcontrollers and very small amounts of data memory (3KB–10KB RAM). But systems being built with large numbers of these devices can be quite sophisticated. There is a gap between the relatively low hardware abstraction and relatively high software complexity. Three OS features—OS protection (boundary between the OS and application), virtual memory, and preemptive scheduling—can significantly improve the reliability of WSN systems and facilitate developing sophisticated WSN software. However, the lack of hardware support for privileged execution and address translation makes it impossible to implement these features with traditional OS design techniques.
We design a new OS kernel, the t-kernel, to close the gap between hardware simplicity and software complexity. It virtualizes the simple sensor hardware to be a platform with a much higher capability. Without relying on hardware or compilers, the kernel performs extensive code modification when it loads and dispatches the application for execution.
ACM Digital Library
Showing the best result for this search. See all results