Dale Jordan wrote this paper in 1972 after a few months of design discussions in a context described here and here. The rationale for the new system is also described.

Many of the architectural features described here evolved further before Keykos was implemented. Some involved moving kernel function to domain code; some features were simplified. The eventual design was much improved, I think.

There was also a significant change in the style of description. Jordan’s paper speaks of a variety of calls on the kernel, some passing keys. The new conception is to describe certain objects as implemented in the kernel, accessed by keys, with the notion of ‘system call’ replaced by invoking one of these keys.

Here are other terminology shifts that might ease reading the paper: