Publication | Closed Access
A dynamic operating system for sensor nodes
527
Citations
20
References
2005
Year
Unknown Venue
EngineeringEmbedded SensingComputer ArchitectureDynamic Operating SystemSensor ConnectivityEmbedded SystemsEmbedded ArchitectureSensor NetworksSystems EngineeringSensor Network NodesInternet Of ThingsComputer EngineeringSystem SupportComputer ScienceEmbedded Operating SystemCollaborative Sensor NetworkOperating SystemsEdge ComputingSensor NodeUnikernelsSensor SuiteSystem Software
Sensor network nodes combine embedded and general‑purpose features, requiring low energy, robustness, and common services, yet TinyOS’s statically linked images hinder running multiple applications or incremental updates. The authors introduce SOS, a mote‑class sensor‑node operating system that adopts a dynamic design to enable modularity and easier updates, and compare it with TinyOS and the Maté virtual machine. SOS implements dynamically loaded modules atop a common kernel that provides messaging, dynamic memory, and module load/unload services, uses cooperative scheduling without memory protection, and mitigates bugs with typed entry points, watchdog timers, and resource garbage collection. Modules can be added or removed with minimal interruption, and SOS’s long‑term total usage is comparable to that of TinyOS and Maté despite its dynamic architecture.
Sensor network nodes exhibit characteristics of both embedded systems and general-purpose systems. They must use little energy and be robust to environmental conditions, while also providing common services that make it easy to write applications. In TinyOS, the current state of the art in sensor node operating systems, reusable components implement common services, but each node runs a single statically-linked system image, making it hard to run multiple applications or incrementally update applications. We present SOS, a new operating system for mote-class sensor nodes that takes a more dynamic point on the design spectrum. SOS consists of dynamically-loaded modules and a common kernel, which implements messaging, dynamic memory, and module loading and unloading, among other services. Modules are not processes: they are scheduled cooperatively and there is no memory protection. Nevertheless, the system protects against common module bugs using techniques such as typed entry points, watchdog timers, and primitive resource garbage collection. Individual modules can be added and removed with minimal system interruption. We describe SOS's design and implementation, discuss tradeoffs, and compare it with TinyOS and with the Maté virtual machine. Our evaluation shows that despite the dynamic nature of SOS and its higher-level kernel interface, its long term total usage nearly identical to that of systems such as Matè and TinyOS.
| Year | Citations | |
|---|---|---|
Page 1
Page 1