USENIX Annual Technical Conference · 2003 · 19 citations · 16 references
ComputingComputer ScienceComputer SystemsComputer ArchitectureOperating SystemsSystems ArchitectureApplication Programming InterfacesKernel ArchitectureKernel DesignKernel ProgrammingOperating System InterfacesKernel ApisMaintainabilityMicrokernel ArchitectureMicrokernelsMultiprocessor Kernel DesignOpen Source Research InfrastructureOperating System ArchitectureOperating System Microkernels
K42 is an open-source research kernel targeted for 64bit cache-coherent multiprocessor systems. It was designed to scale up to multiprocessor systems containing hundreds or thousands of processors and to scale down to perform well on 2to 4-way multiprocessors. K42’s goal was to re-design the core of an operating system, but not an entire application environment. We wanted to use a commonly available interface with a large established code base. Because Linux is open source and widely available, we chose to support its application environment by supporting the Linux API and ABI. There were some interesting complications as well as advantages that arose from K42’s structure because our implementation of the Linux application environment was done primarily in user space, had to interface with K42’s object-oriented technology, and used fine-grained locking. Other research systems efforts directed at achieving a high degree of scalability and maintainability exhibit similar structural characteristics. In this paper we present the motivation behind K42, including its goals and overall structure, and describe its system interface. We then focus on the required infrastructure and mechanisms needed to efficiently support a Linux application environment. We examine the lessons learned of what was advantageous and what was disadvantageous from K42 in implementing the Linux API and ABI.
16
Dawson Engler, M. Frans Kaashoek, James W. O’Toole · 1995 · 1.1K citations
Jaswinder Singh, Wolf-Dietrich Weber, Anoop Gupta · ACM SIGARCH Computer Architecture News · 1992 · 927 citations · Full text
Mach: A New Kernel Foundation for UNIX Development.
Michael J. Accetta, R. Baron, William J. Bolosky et al. · USENIX Summer · 1986 · 919 citations
Jochen Liedtke · 1995 · 599 citations · Full text