I think I understand this Mach kernel overview and I thus set out to build an architecture map between Mach and Keykos.
I think the most accurate map is to say that a key corresponds to send rights on a port. Keykos provides nothing like receive rights on ports for each key designates a constant domain which might be said to have implicit receive rights on that key. Being constant, we have no need for such talk. It is port rights that may be sent in messages, not ports.
See Ports, Port Rights, Port Sets, and Port Namespaces for more port details.
This is one of two possible mappings (The alternate map is Mach process) There is no fact of the matter, either map is usuable different maps will elucidate different usage patterns in the two systems.
-The thread does not belong to a client between invocations.
I think a Mach user must own a whole Mach process in order to keep abstracted state.
+Domains and Threads are the multi programming support in their respective systems.
-Modularization: Domains abstract, Threads don't
-Locks: Domains exclude, Threads don't
-Portection: Domains are the site of authority, The Mach process owns the c-list.
The above differences suggest we try the alternate map