MansOS Architecture
Mansos architecture is tailored for ease of portability to different hardware platforms.
The OS is structured in three main layers:
- HIL - Hardware Interface layer is hardware independant services that almost any hardware should support or at least emulate.
- HAL - Hardware abstraction layer provides services speciffic to hardware platforms - collections of modules and chips
- HPL - Hardware presentation layer defines the services by the lowest level of hardware - usually chips or certain low level services that do not keep state. HPL is talking directly to hardware.
On top of the structure are defined device drivers and device manager, allowing for a unified and arbitrated access to the resources by all applications.
Another interface between the user applications and the OS are the system calls, such as msleep(milliseconds).
As a result an application can be developed without the specifics of the hardware. In fact, one of the platforms provided is PC that allows for immediate application debugging and simulation at a high level.
The OS also provides tools such as PRINT that let the developers debug their embedded systems over the serial, radio, or any other supported link.
Related publications and papers
- Flexible Hardware abstraction describing the HPL - HAL - HIL approach
- LiteOS paper, the original OS from which MansOS branched