In-Kernel Servers on Mach 3.0: Implementation and Performance
نویسندگان
چکیده
The advantages in modularity and power of microkernel-based operating systems such as Mach 3.0 are well known. The existing performance problems of these systems, however, are signi cant. Much of the performance degradation is due to the cost of maintaining separate protection domains, traversing software layers, and using a semantically rich inter-process communication mechanism. An approach that optimizes the common case is to permit merging of protection domains in performance critical applications, while maintaining protection boundaries for debugging or in situations that demand robustness. In our system, client calls to the server are e ectively bound either to a simple system call interface, or to a full RPC mechanism, depending on the server's location. The optimization reduces argument copies, as well as work done in the control path to handle complex and infrequently encountered message types. In this paper we present a general method of doing this for Mach 3.0 and the results of applying it to the Mach microkernel and the OSF/1 single server. We describe the necessary modi cations to the kernel, the single server, and the RPC stub generator. Semantic equivalence, backwards compatibility, and common source and binary code are preserved. Performance on micro and macro benchmarks is reported, with RPC performance improving by a factor of three, Unix system calls to the server improving between 20% and a factor of two, and 4{13% performance gain on large benchmarks. A breakdown of the times on the RPC path is also presented. 1
منابع مشابه
Naming Facilities for Operating System Emulation in Mach 3.0
The Mach 3.0 micro-kernel provides a foundation for the emulation of various operating systems with a combination of libraries and Mach servers. We present a general-purpose naming facility to help construct such emulation systems by assembling many independent servers. This facility defines a set of standard interfaces for a uniform name space with uniform access mediation and a set of practic...
متن کاملObject-Oriented Interfaces in the Mach 3.0 Multi-Server System
The Mach 3.0 multi-server system decomposes the functionality of the operating system between a micro-kernel, a set of system servers running in user-mode and an emulation library executing in the address space of applications. The interfaces provided by the system servers are objectoriented and both the servers and the emulation library are written in an object-oriented language. In this paper...
متن کاملData Movement in Kernelized Systems
This paper considers how two kernelized systems, Mach 3.0 with the BSD4.3 Single Server and CHORUS/MiX V.4, move data to and from files under a variety of circumstances. We give an overview of the kernel abstractions and system servers and describe in detail the read() and write() paths of these two systems. We then break down their read() and write() performance and compare them to two monolit...
متن کاملGeneralized Emulation Services for Mach 3.0: Overview, Experiences and Current Status
This paper reports on an ongoing project to develop a general understanding of the problems encountered when building emulators for various operating systems at the user-level on top of a Mach 3.0 micro-kernel, and to propose a common framework to construct emulations for a wide range of target systems and environments. It presents an overview and discussion of the major techniques and experime...
متن کاملUsing the Mach Communication Primitives in X11
We have modiied the X11 windowing system to use the native communication facilities of the Mach 3.0 microkernel. Our new implementation can rely on Mach's low-overhead IPC facility as a direct replacement for sockets, or it can use shared memory as a transport between X11 clients and the server. On conventional BSD Unix systems, X11 communication is done through sockets. Because a user-level pr...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 1993