Read-write locks, Operating System

Consider a large web-based database. In some sense, Google is sort of like this. There might be many users who want to read from the database, but only a few users who are allowed to write to the database. If we use standard locks to control access to the database, the application will be much slower than it could be with a more clever type of lock.

Suppose we have one object that is shared among several threads. Suppose also that each thread is either a reader or a writer. Readers only read data but never modify it, while writers read and modify data. If we know which threads are reading and which ones are writing, what can we do to increase concurrency?

First, we have to prevent two writers from writing at the same time. In addition, a reader cannot read while a writer is writing. There is no problem, however in allowing lots of readers to read at the same time. Read-write locks achieve this, and can greatly improve performance for this sort of application.

Note that the lock is the same for both readers andwriters (called 'rw' in the slides), but the readers use an rlock() on the lock and writers use a wlock() on the same lock. Writers requesting a wlock() will have to wait until all readers and writers have released the lock. Readers requesting a rlock() can acquire it even if other readers are holding the lock. Readers however will still have to wait until any writer holding the lock releases the lock.

Posted Date: 3/12/2013 5:28:34 AM | Location : United States







Related Discussions:- Read-write locks, Assignment Help, Ask Question on Read-write locks, Get Answer, Expert's Help, Read-write locks Discussions

Write discussion on Read-write locks
Your posts are moderated
Related Questions
Deadlock Avoidance It's a method to evade deadlock by careful resource scheduling. This approach to the deadlock problem foresees deadlock before it actually occurs. This a

The different paging techniques are 1. Multilevel paging or hierarchical paging method: In definite cases the page table may consist up to 1 million entries. This would be

Demand paging gives that pages could only be brought into memory if the running process acts them. This is usually referred to as lazy evaluation as only those pages operated by


What are the disadvantages of swapping technique used in pre-3BSD UNIX systems? If there is excessively much memory contention, processes are swapped out until sufficient

Q. How Program execute in operating system? Program execution- The operating system fills the contents (or sections) of a file into memory as well as begins its execution. A us


Question: (a) As a System administrator, elaborate on how you can manage computer accounts in Active Directory of Windows Server 2008? (b) Explain the following user p

Define which is not a key piece of information, stored in single page table entry, supposing pure paging and virtual memory  A reference for the disk block which stores the pa

Describe the differences between foreground and background processing. What advantage does background processing provide? 1. Background processes typically run with little or no