In his website, Leonardo Miliani proposes a simple prototype of a pseudo operating system for Arduino, dubbed leOS (which is the acronym of little embedded operating system). Its goal is to provide the user with the capability to periodically schedule any given C function according to a specific time period. From his blog:
To be honest, it should more correct to say that leOS is actually something that is halfway a simple prototype of an real-time operating system (RTOS) and a scheduler. [...]
leOS can run simple tasks that don’t require excessive CPU time but it can be useful in all of those situations where the user wants to let a task run itself out of the main loop.
Based on the experience pursued during the development of leOS, Leonardo also proposes another project, named looper, which resembles a simple task scheduler. Its goal is to provide a much lighter set of APIs for scheduling tasks on the microcontroller, if compared to leOS.
[Via: Leonardo Miliani's website]