Locking and Reference Counting in the Mach Kernel.
David Lee Black, Avadis Tevanian, David B. Golub, Michael W. Young · 1991
Coordination of independently executing threads of control within the operating system kernel is an important problem that must be addressed in the design of a multiprocessor operating system. The efficient coordination of operations is vital for avoiding performance bottlenecks without compromising system correctness. The Mach operating system achieves this coordinationvia carefully designed locking and reference counting techniques. This paper describes the design rationale for these techniques, and their use in the Mach operating system based on the experience of its implementors. 1 Introduction An important problem that must be faced in the design of a multiprocessor operating system is the coordination of independently executing threads of control within the operating system kernel. Efficient and effective coordination facilities are necessary to preserve the integrity of kernel data structures without introducing performance bottlenecks. The required coordination can be subdivid...