User-level interprocess communication for shared memory multiprocessors
Brian N. Bershad, Thomas E. Anderson, Edward D. Lazowska, Henry M. Levy · ACM Transactions on Computer Systems · 1991
this paper, provides safe and efficient communication between address spaces on the same machine without kernel mediation. URPC isolates from one other the three components of interprocess communication: processor reallocation, thread management, and data transfer. Control transfer between address spaces, which is the communication abstraction presented to the programmer, is implemented through a combination of thread management and processor reallocation. Only processor reallocation requires kernel volvement; thread management and data transfer do not. Thread management and interprocess communication are done by application~level libraries, rather than by the kernel