An Implementation of the Solaris Doors API for Linux (1998) [pdf]
rampant.org
rampant.org
For at least one semester, the student operating system project was known as DoorsNT.
I am not familiar with the doors api, but if there is some real advantage to it, perhaps that patch could be included into FreeBSD upstream?
- immediately context switch to the
server to reduce latency
- transfer the caller's priority to
the server to avoid priority inversion
problems
The downside of doors is that the server really has to be able to satisfy all requests very quickly, and if not then the client and server need to agree on an asynchronous completion notification mechanism (e.g., pass a fildes from the client to the server). And there's no guarantee that all requests can be handled synchronously. But there's a significant number of system services for which it is possible to have very fast, synchronous protocols, and for those doors really shines because of the thread shuttle and priority transference.