4 ms·
I think fuchsia has it correct: everything is an interface (not a file) that must be injected into the child process. https://fuchsia.googlesource.com/zircon/+
by kardianos 8y ago
I think fuchsia has it correct: everything is an interface (not a file) that must be injected into the child process.
https://fuchsia.googlesource.com/zircon/+/HEAD/docs/fidl/index.md https://fuchsia.googlesource.com/zircon/+/HEAD/docs/fidl/ind...
But maybe I'm missing something critical here.
- ofrzeta 8y agoWhat's an "interface"? Obviously "file" is also just an abstraction but it has familiar semantics (read, write etc). From cursory reading it seems that an interface is just a specification for (remote) procedure calls. Also reminds me of microkernel IDLs https://www.gnu.org/software/hurd/idl.html https://www.gnu.org/software/hurd/idl.html
- jacksmith21006 8y agoThere is a number of things think Fuchsia or Zircon more specifically have correct. Couple of big ones is first using a micro kernel. We really need this at this point for granularity in a MP setting so cache will be hot. So a driver can be pinned to a processor so working with cache instead of going to memory. Then with the ability for a thread to sleep based on a montitor/MWAIT on a specific processor. This way you can basically create a pipeline that is super fast and uses memory to communicate. The other really smart thing was how drivers are using a Vdso and therefore mapped into all process address space. Then the obvious is using a memory capability approach which removes a lot of marshaling that usually has to happen by the kernel. There is going to be a lot of interesting ways to leverage Zircon.