Hello fans

Thanks Tim for advice!

Now I find:
1. "lock" used tas (test-and-set), in libc too
2. "queuing lock" use "lock", and also suspend task which wait locking
3. "rendezvous" can handle two task (and live in kernel)
4. "Rendez" (as subset of rsleep;rwakeup;rwakeupall) can handle multiple
   tasks (and live in libc)
   
Is it right?

TN> There are several types of locks.  Some (like spin locks) can operate
TN> without any assistance from the kernel (not entirely, they yield with a
TN> syscall).  Others (like rendezvous) use the kernel to mediate between the
TN> processes.
As I seen both rendezvous and Rendez(rsleep;rwakeup;rwakeupall)
change state of process but Rendez can do this even in libc, where is
different other than state of process: Rendezvous (in syscall) and
Sleep (in rendez)? why rendezvous need to be at kernel?

-- 
http://rs-rlab.narod.ru                            mailto:[EMAIL PROTECTED]

Reply via email to