Report ID
1996-06
Report Authors
Dave Probert and John Bruno
Report Date
Abstract
We describe a set of efficient cross-domain mechanisms that allow operatingsystems to be implemented as cooperating applications, eliminating the need fora monolithic kernel. Our implementation, called SPACE, can achievehigher-performance than kernel-based systems by allowing applications to buildcustomized system services and tailor system interfaces for performance. Onthe SPARC architecture we have measured minimal application-to-applicationsystem service calls that are 5 times faster than Solaris getpid(), andcustomized thread creation that is 50 times faster than minimal Solaristhreads.SPACE unifies exception handling and cross-domain calls into a single mechanismthat allows applications to efficiently interface to the underlying hardware.Conventional memory-management hardware is used to provide multiple protectiondomains within each address space. Cross-domain calls are implemented byportals, which map an exception in one domain to a handler in another. Portalsare accessible on a per-domain basis, providing capability-based access tosystem services. The portals are implemented by synthesizing code according totemplates for each portal type. The portal types are designed to minimizestate saving and eliminate the dynamic binding overhead of generic cross-domainimplementations.
Document
1996-06.ps201.18 KB