Efficient cross-domain mechanisms for building kernel-less operating systems
David B. Probert, John L. Bruno, Steven E. Buttner · 1996
We describe a set of efficient cross-domain mechanisms that allow operating systems to be implemented as cooperating applications, eliminating the need for a monolithic kernel. Our implementation, called SPACE[1, 2], can achieve higher-performance than kernel-based systems by allowing applications to build customized system services and tailor system interfaces for performance. On the SPARC architecture we have measured minimal application-to-application system service calls that are 5 times faster than Solaris getpid(), and customized thread creation that is 50 times faster than minimal Solaris threads. SPACE unifies exception handling and cross-domain calls into a single mechanism that allows applications to efficiently interface to the underlying hardware. Conventional memory-management hardware is used to provide multiple protection domains within each address space. Cross-domain calls are implemented by portals, which map an exception in one domain to a handler in another. Portals...