In this version of the paper I have taken the liberty to include marks ❊ as an added link to a remark I want to make at the marked place. A red star (❊) is a pointer to more technical on the subject. These stars can be safely ignored as they merely expand on some point.
The paper uses the term ‘nanokernel’ whose origin is murky. I prefer the term ‘kernel’ for brevity but in most contexts I agree with proponents ‘micro-kernels’ and ‘nano-kernels’ as in “Small kernels are better even if slower.” (which they are often not).
The following paragraph belongs somewhere else.
The plain truth is that conventional kernels are cursed with the addition of many admittedly good ideas—witness the number of file systems in existence. Such code bulk inexorably leads to vulnerabilities. Applications that don’t need the new functionality nonetheless become vulnerable. With the minimal kernel we have been able to see new opportunities for global function. The Keykos kernel is more complex because it supports orthogonal persistence and concurrent remote backup and many other wild ideas that have not made their way into the kernel. If we had implemented half of the ideas that we are aware of the kernel would no longer be small. As it stands now, however, there kernel is still small and, as it is, supports many patterns that conventional kernels do not.