Thanks T. Having this in a documentation would be nice to improve seL4
learning curve. I really appreciated reading all the explanations, but this
T summary is very helpful, like the few really important things an
experienced skydiver say to beginners to increase their self confidence.



On Tuesday, September 10, 2024, <tunaci...@gmail.com> wrote:
> Hey Indan,
>
> After reading your (and others) words, it finally clicked for me!
> Like you (and others) have said in seL4 all interaction are done by
invoke objects via capabilities.
>
> It sounds obvious at first (many resources talk about this), but
understanding is another story:)
>
> In case there are others like me that are still having a problem
understanding system calls and object methods in seL4,
> I have collected my thoughts below.
>
> System call is, in a more "traditional" sense, in other OSes is like this:
>     - execute 'syscall' with a specific system call number from the user
space
>     - there are many syscall numbers defined in those OSes (e.g., read,
write, mkdir)
>
> In seL4, however, it's a bit different:
>     - still execute 'syscall' from the user space
>     - but this time only Send, Recv, Yield (and other variations) have
their syscall numbers defined
>     - those are the only "system calls" that we can directly compare to
other "traditional" OSes
>     - now, in handling of the system calls (e.g., Send()) there is a
decoder (see 'decodeInvocation(...)')
>     - those decoders determine which specific capability to invoke (see
'libsel4/include/interfaces/sel4.xml' for all invocations)
>     - each of the invocations have their own numbers (similar to system
call numbers)
>     - so (like Indan have said) we have a two-tiered system (first is
architecture/CPU 'syscall' and second is seL4 'invocations')
>     - because of this we have a separation in API reference between
System Calls and Object Methods
>     - and since object methods (like UntypedRetype) are handled inside
the seL4 they are executed at higher privilege level
>
> Again, thanks everyone for the help & replies.
>
> -T
> _______________________________________________
> Devel mailing list -- devel@sel4.systems
> To unsubscribe send an email to devel-leave@sel4.systems
>
_______________________________________________
Devel mailing list -- devel@sel4.systems
To unsubscribe send an email to devel-leave@sel4.systems

Reply via email to