NicheTask™, the Open Source Embedded Multitasker is a nonpreemptive operating system designed for use in embedded devices. As described by Wikipedia*, this OS archicture is:

… very similar to the simple control loop scheme, except that the loop is hidden in an API. The programmer defines a series of tasks, and each task gets its own environment to "run" in. Then, when a task is idle, it calls an idle routine (usually called "pause", "wait", "yield", "nop" (Stands for no operation), etc.). The advantages and disadvantages are very similar to the control loop, except that adding new software is easier, by simply writing a new task, or adding to the queue-interpreter.

In other words, NicheTask is a small and efficient tasking system ideal for use in networked, single-function embedded devices.

A bit more detail.

NicheTask is a round-robin tasking system that contains only control logic. The API has been designed so that later the application can easily be mapped to more sophisticated embedded operating systems, without adding any overhead by simply #defining the application's tasking calls to the RTOS calls. This means that you can start with NicheTask and upgrade or convert to a different RTOS or more complex architecture at a later time without having to re-port their protocol stack and application code.

This site is meant to be an embedded development resource center, providing all the information necessary to use the free NicheTask source code in your next embedded application. Recognizing that many designs require only a clean, small and flexible tasking system, InterNiche Technologies has elected to contribute NicheTask to the embedded development community as open source software. The royalty-free "C" source code is being made freely available to all device developers to speed development of next generation appliances, consumer electronics and Internet connected devices.

Our goal in releasing NicheTask under an open source license is to make available a small, lightweight multitasking system for any embedded device, harness the pool of talented embedded developers, and further enhance NicheTask functionality by leveraging the imagination, development and debugging efforts of the NicheTask user community.

Once a task gains control, it runs until it voluntarily blocks. The programmer has control over the length of time that a task is allowed to run so it will not lock the system. Tasks can be dynamically created, with each task having its own stack and control structure.

Key Features:

*November 2008

NicheStack IPSec
Embedded IPSec and IKE
Passes TAHI Phase-II tests
NicheTask Ready.