what is the difference between semaphore, mutex &
spinlock?????
Answer / guest
Kernel Locking Techniques
Semaphores in Linux are sleeping locks. Because they cause a
task to sleep on contention, instead of spin, they are used
in situations where the lock-held time may be long.
Conversely, since they have the overhead of putting a task
to sleep and subsequently waking it up, they should not be
used where the lock-held time is short. Since they sleep,
however, they can be used to synchronize user contexts
whereas spinlocks cannot. In other words, it is safe to
block while holding a semaphore.
A "mutex" (or "mutual exclusion lock") is a signal that two
or more asynchronous processes can use to reserve a shared
resource for exclusive use. The first process that obtains
ownership of the "mutex" also obtains ownership of the
shared resource. Other processes must wait for for the first
process to release it's ownership of the "mutex" before they
may attempt to obtain it.
The most common locking primitive in the kernel is the
spinlock. The spinlock is a very simple single-holder lock.
If a process attempts to acquire a spinlock and it is
unavailable, the process will keep trying (spinning) until
it can acquire the lock. This simplicity creates a small and
fast lock.
| Is This Answer Correct ? | 64 Yes | 7 No |
Which directory is closer to the top of the file system tree, parent directory or current directory?
What is the minimum number of partitions you need to install Linux?
As a system admin i want to know some things what are the troubleshooting issues we are facing frequently and what are the tickets will be raised.
how do you configure linux system as a router?
why accounting Software does not support on linux?
What is the difference between an argument and an option/switch?
What text filter can you use to display a binary file in octal numbers?
How to apply patch for multiple servers .
what is the difference between fork and thread ? and parent and child process in fork system call?
What is the use of DNS Server? Name other servers works same as like DNS?
What are RPM?s, what do they offer?
How to send automated email to a set of people at fixed time ?