what is the difference between semaphore, mutex &
spinlock?????



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

Post New Answer

More Linux AllOther Interview Questions

what are the default permissions for files and folders..?

8 Answers   IBM,


What is Hard mount and soft Mount?

0 Answers   Cap Gemini,


What is the use of DNS Server? Name other servers works same as like DNS?

2 Answers  


what are the different types of Backups..?

6 Answers   IBM, SDG,


rpm package installation error in centos 6.4 [root@localhost packages6.4]# rpm -ivh nfs-utils-1.2.3-36.el6.i686.rpm warning: nfs-utils-1.2.3-36.el6.i686.rpm: Header V3 RSA/SHA1 Signature, key ID c105b9de: NOKEY error: Failed dependencies: keyutils >= 1.4-4 is needed by nfs-utils-1:1.2.3-36.el6.i686 libevent is needed by nfs-utils-1:1.2.3-36.el6.i686 libevent-1.4.so.2 is needed by nfs-utils-1:1.2.3-36.el6.i686 libgssglue is needed by nfs-utils-1:1.2.3-36.el6.i686 libgssglue.so.1 is needed by nfs-utils-1:1.2.3-36.el6.i686 libgssglue.so.1(libgssapi_CITI_2) is needed by nfs-utils-1:1.2.3-36.el6.i686 libnfsidmap.so.0 is needed by nfs-utils-1:1.2.3-36.el6.i686 libtirpc is needed by nfs-utils-1:1.2.3-36.el6.i686 libtirpc.so.1 is needed by nfs-utils-1:1.2.3-36.el6.i686 nfs-utils-lib >= 1.1.0-3 is needed by nfs-utils-1:1.2.3-36.el6.i686 rpcbind is needed by nfs-utils-1:1.2.3-36.el6.i686

1 Answers  


i installed clustering packages.When i try to run it getting LUCI error...what is it..??

0 Answers  


How to build new filesystem ? and what is irig file system?

3 Answers  


What is the complete name of the default configuration file for LILO?

1 Answers  


How to catagories tickets in RHEL, which tickets are belong to PROBLEM, INCIDENT and CHANGE management? please given to me with examples

0 Answers  


What is the other method of installing Linux O.S other than Text, GUI mode? Why we prefer that for installation of Linux in Real time?

2 Answers  


My Linux server in the two lan card one lan card is ok working but second lan card after restart daily lan card deactivate and then manual activate then properly working but after restart repeat this problem.(Fedora O.S.) Pls tell me solved this problem.

4 Answers  


Friends, I don't have enough free space in root directory. but in home directory I have 40gb free. So I can not install anything in root directory (which occupies more space) Please suggest me If there is any possibility to increase the root directory size by minimising the home directory's.

3 Answers  


Categories