On -Kernel Construction

15th ACM Symposium on Operating System Principles (SOSP) December 3-6, Copper Mountain Resort, Colorado From a software-technology point of view, the kernel concept is superior to large integrated kernels. On the other hand, it is widely believed that (a) kernel based systems are inherently ine cient and (b) they are not su ciently exible. Contradictory to this belief, we show and support by documentary evidence that ine ciency and in exibility of current -kernels is not inherited from the basic idea but mostly from overloading the kernel and/or from improper implementation. Based on functional reasons, we describe some concepts which must be implemented by a -kernel and illustrate their exibility. Then, we analyze the performance critical points. We show what performance is achievable, that the e ciency is su cient with respect to macro-kernels and why some published contradictory measurements are not evident. Furthermore, we describe some implementation techniques and illustrate why -kernels are inherently not portable, although they improve portability of the whole system.

[1]  Per Brinch Hansen,et al.  The nucleus of a multiprogramming system , 1970, CACM.

[2]  Gerry Kane,et al.  MIPS RISC Architecture , 1987 .

[3]  Calton Pu,et al.  The Synthesis Kernel , 1988, Comput. Syst..

[4]  Robbert van Renesse,et al.  Performance of the world's fastest distributed operating system , 1988, OPSR.

[5]  Claude Kaiser,et al.  CHORUS Distributed Operating System , 1988, Comput. Syst..

[6]  Brian N. Bershad,et al.  Lightweight remote procedure call , 1989, TOCS.

[7]  Michael Burrows,et al.  Performance of Firefly RPC , 1989, SOSP '89.

[8]  Alan Jay Smith,et al.  Evaluating Associativity in CPU Caches , 1989, IEEE Trans. Computers.

[9]  Morrie Gasser,et al.  The Digital Distributed System Security Architecture , 1989 .

[10]  John K. Ousterhout,et al.  Why Aren't Operating Systems Getting Faster As Fast as Hardware? , 1990, USENIX Summer.

[11]  Brian N. Bershad,et al.  Using continuations to implement thread management and communication in operating systems , 1991, SOSP '91.

[12]  Jeffrey C. Mogul,et al.  The effect of context switches on cache performance , 1991, ASPLOS IV.

[13]  Richard E. Kessler,et al.  Page placement algorithms for large real-indexed caches , 1992, TOCS.

[14]  Dan Hildebrand,et al.  An Architectural Overview of QNX , 1992, USENIX Workshop on Microkernels and Other Kernel Architectures.

[15]  Jochen Liedtke,et al.  Clans & Chiefs , 1992, ARCS.

[16]  Graham Hamilton,et al.  The Spring Nucleus: A Microkernel for Objects , 1993 .

[17]  H. Assenmacher,et al.  The PANDA system architecture-a pico-kernel approach , 1993, 1993 4th Workshop on Future Trends of Distributed Computing Systems.

[18]  Michael N. Nelson,et al.  Extensible file systems in spring , 1994, SOSP '93.

[19]  Brian N. Bershad,et al.  The impact of operating system structure on memory system performance , 1994, SOSP '93.

[20]  Yasuhiko Yokote Kerner Structuring of Object-Oriented Operating Systems: The Apertos Approach , 1993, ISOTAS.

[21]  Jochen Liedtke,et al.  Improving IPC by kernel design , 1994, SOSP '93.

[22]  Winfried E. Kühnhauser,et al.  The BirliX Security Architecture , 2013, J. Comput. Secur..

[23]  Kai Li,et al.  Implementation and performance of application-controlled file caching , 1994, OSDI '94.

[24]  Trevor N. Mudge,et al.  Optimal allocation of on-chip memory for multiple-API operating systems , 1994, Proceedings of 21 International Symposium on Computer Architecture.

[25]  Brian N. Bershad,et al.  Dynamic Page Mapping Policies for Cache Conflict Resolution on Standard Hardware , 1994, OSDI.

[26]  Dawson R. Engler,et al.  The operating system kernel as a secure programmable machine , 1994, OPSR.

[27]  Meng Chang Chen,et al.  HiPEC: high performance external virtual memory caching , 1994, OSDI '94.

[28]  Jay Lepreau,et al.  Evolving Mach 3.0 to A Migrating Thread Model , 1994, USENIX Winter.

[29]  David R. Cheriton,et al.  A caching model of operating system kernel functionality , 1994, OSDI '94.

[30]  Greg Minshall,et al.  An Overview of the NetWare Operating System , 1994, USENIX Winter.

[31]  Emin Gün Sirer,et al.  SPIN: an extensible microkernel for application-specific operating system services , 1994, EW 6.

[32]  Wolfgang Schröder-Preikschat The logical design of parallel operating systems , 1994, Prentice Hall series in innovative technology.

[33]  Jochen Liedtke,et al.  Improved Address-Space Switching on Pentium Processors by Transparently Multiplexing User Address Sp , 1995 .

[34]  Brian N. Bershad,et al.  Extensibility safety and performance in the SPIN operating system , 1995, SOSP.

[35]  Winfried E K Uhnhauser A Paradigm for User-deened Security Policies , 1995 .

[36]  Gilles Muller,et al.  Matching micro-kernels to modern applications using fine-grained memory protection , 1995, Proceedings.Seventh IEEE Symposium on Parallel and Distributed Processing.

[37]  Emin Gün Sirer,et al.  SPIN—an extensible microkernel for application-specific operating system services , 1995, OPSR.

[38]  Dawson R. Engler,et al.  Exokernel: an operating system architecture for application-level resource management , 1995, SOSP.

[39]  Winfried E. Kühnhauser A Paradigm for User-Defined Security Policies , 1995, SRDS.