Sensor network operating systems have to operate with limited hardware resources. Constraints on power consumption greatly reduce the resources available to such an operating system. Therefore, current systems restrict application flexibility and tend to impose certain programming paradigms, such as event-driven programming. The Arena operating system is a special-purpose embedded operating system that has the potential to overcome these problems. The operating system is based on a strict separation of mechanism and policy. All operating system policies are placed in user-level libraries. These libraries can be loaded and replaced using a dynamic code loader, in order to configure the operating system dynamically. The dynamic code loader can also be used to load and replace arbitrary application components.