SeptemberOS provides single address space, multi-threading model. All
memory is shared and accessible by all tasks. This approach makes task
switching faster and task management using less memory on the cost of
no protection between the tasks. We believe that such protection is not
necessary for a typical embedded application.
SeptemberOS follows the "trust
the programmer" attitude toward its customer embedded
developers. In a typical embedded application all the code ultimately
comes from a single source: embedded developer. If the developer uses
an OS and / or other third-party libraries, he is doing so consciously;
there is no third-party code that may voluntary run on the platform.
And it is that third-party code that is less
trusted and that prompts
to introduce OS security when it can run unattended.
doesn't have even immediate means to load external code dynamically
during run-time, so the source of the problem which prompts for OS
security doesn't exist.
Other manifestations of the "trust the programmer" approach in
All the code, including application, runs CPU in
kernel mode. All
hardware access, system resources, interrupt handling are available to
Lower priority tasks may terminate, change priority
or change options
of higher oriority tasks.
Rationale for International Standard —
Programming Languages — C.
Revision 5.10. April-2003. www.open-std.org/jtc1/sc22/wg14/www/C99RationaleV5.10.pdf