A Lock-Free Multiprocessor OS Kernel

Henry Massalin, Calton Pu
1992 ACM SIGOPS Operating Systems Review  
Typical shared-memory multiprocessor OS kernels use interlocking, implemented as spinlocks or waiting semaphores. We h a v e implemented a complete multiprocessor OS kernel including threads, virtual memory, and I O including a window system and a le system using only lock-free synchronization methods based on Compare-and-Swap. Lock-free synchronization avoids many serious problems caused by l o c ks: considerable overhead, concurrency bottlenecks, deadlocks, and priority i n v ersion in
more » ... me scheduling. Measured numbers show the low o v erhead of our implementation, competitive with user-level thread management systems.
doi:10.1145/142111.993246 fatcat:bgw3bmlfgna77jizdemn2rrgre