On 1/23/20, Demi M. Obenour <demioben...@gmail.com> wrote:
>
> I think that is a good idea in some cases, but I believe that it will
> impose unnecessary overhead in others.  In the case of graphics, for
> example, marshaling would be significant overhead.  I believe that
> having the graphics driver be an seL4 native server would be a better
> approach.  The same goes for virtualization, networking, and storage.
>
UX/RT's IPC transport layer will be a thin layer on top of seL4 IPC
and will basically be just enough to make it look Unix-like. No
intermediary server will be required for read()/write()-like calls
except on directories. There will be read()/write()-like calls that
expose message registers and shared buffers pretty much directly (a
couple of registers will be reserved for message size and type). There
will also be a new "message special" file type that always returns the
same amount of data originally written when read. All of this should
have pretty much no overhead, unless a message is read with a
different API than was used to write it (in which case messages will
be automatically copied between message registers and the shared
buffer), but that will be easy enough to avoid. There should be no
need to make RPC a primitive (which would add overhead of its own for
transfers of bulk unstructured data) or expose the raw kernel APIs
(which would create compatibility issues because seL4's API doesn't
seem to be stable).

_______________________________________________
Devel mailing list
Devel@sel4.systems
https://sel4.systems/lists/listinfo/devel

Reply via email to