RFC - Memory Partitioning
Charles Steaderman
charlies at poliac.com
Mon Jul 23 20:49:53 UTC 2007
RFC
Memory Partitioning Support in RTEMS
Goals:
Provide task level code and memory partitioning for RTEMS. The short
term goal would be for a project that contains functionality to be FAA
certified at different certification levels (background data collection
and storage certified to FAA Level C, and user interface non-certified).
Proposed Strategy:
Based upon some research into commercial partitioned embedded OSes
(Integrity, Nucleus Secure, etc), I would like to suggest the following
strategy for enhancing RTEMS. First, to provide separation from the
kernel, I would propose that all RTEMS kernel calls be accessed via a
TRAP or SWI. In this way, the kernel code can be mapped into a
non-accessable memory area in order to provide protection from userland
tasks. Second, I would propose that task creation and context switching
become memory region aware. Task creation would need to be supplied
memory regions and access permissions and those permissions would need
to be updated on a context switch (MMU registers). In addition, each
task could have its own private memory heap for dynamic memory
allocation. This would mean that memory allocation would need to be told
whether the allocation should come from the local or global heap.
I am sure that there is a large number of issues that I have overlooked,
but I would like to get people thinking about partitioning in RTEMS. In
much the same way that desktop operating systems have benefitted from
process protectsion (Win9x vs. WinNT or OS 9 vs. OS X), I think that
given the present and future state of embedded hardware, embedded
systems could benefit from the same robustness. One advantage that I
believe the proposed solution has is that the code resides in a single
address space, rather than virtual memory spaces. Perhaps this will
cause problems with library calls and shared code, but perhaps there is
a novel solution that we could employ.
Thank you for your time and consideration.
- Charlie
--
Charlie Steaderman
charlies at poliac.com
VP Engineering
Poliac Research Corporation
Phone: 952.707.6245
Cell: 612.242.6364
-------------- next part --------------
A non-text attachment was scrubbed...
Name: charlies.vcf
Type: text/x-vcard
Size: 329 bytes
Desc: not available
URL: <http://lists.rtems.org/pipermail/users/attachments/20070723/c7533f86/attachment.vcf>
More information about the users
mailing list