Read-write locks, Operating System

Assignment Help:

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.


Related Discussions:- Read-write locks

Explain swapping, Explain Swapping Swapping is a method of temporarily ...

Explain Swapping Swapping is a method of temporarily removing inactive programs from the memory of computer system.

search tree generated by hill-climbing search, Show the search tree genera...

Show the search tree generated by Hill-Climbing search (text figure 4.2, page 122; or Local Search lecture, slide 6) for each of the two heuristics (a) and (b) applied to the follo

What is an operating system, What is an operating system? An operating ...

What is an operating system? An operating system is a program that manages the computer hardware. It acts as an intermediate among users of a computer and the computer hardware

What is the main function of the memory-management unit, What is the main f...

What is the main function of the memory-management unit? The runtime mapping from virtual to physical addresses is done by a hardware device known as a memory management unit (

Linux, write a linux command to display lines from 25 - 45 of directory "/e...

write a linux command to display lines from 25 - 45 of directory "/edc/password"

Any four types of operating system feature and structure, explain any four...

explain any four types of operating system feature and structure(design)

Explain wait for graph, Explain Wait for Graph a. Use a resource alloca...

Explain Wait for Graph a. Use a resource allocation graph to derive a wait-for graph.  b. Wait-for graph acquired by making an edge from p 1 to p 2 iff p 1 is waiting for

Define the dosexecpgm function used in the os/2, Define the DosExecPgm Func...

Define the DosExecPgm Functions used in the OS/2 DosExecPgm (objBuffer, objLen, flags, cmdLine, env, &resultCode, execName) DosExecPgm function is designed to load an execut

Explain the alphabet and string, Explain the Alphabet and String A fini...

Explain the Alphabet and String A finite set of symbols is known as alphabet. An alphabet is frequently denoted by sigma, yet can be given any name. B = {0, 1} says B is an

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd