The rendezvous system call is the only synchronization method the kernel provides to user space. QLocks, RWLocks, and Rendezes all use rendezvous() to make a process go to sleep or to wake it up.
You asked why the rendezvous system needed to be in the kernel. Where else would it be? How else could a process arrange to go to sleep? Russ
