![](https://secure.gravatar.com/avatar/a531c9347701e511be3fe859b54175c7.jpg?s=120&d=mm&r=g)
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
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,
- 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