Semaphores, Operating System

Assignment Help:

Synchronization can be achieved by means other than locks and condition variables. One alternative is semaphores. A semaphore is used to regulate traf?c in a critical section. A semaphore is implemented as a non-negative integer counter with atomic increment and decrement operations, up() and down(), respectively. Whenever the decrement operation would make the counter negative, the semaphore blocks instead.  down(sem): tries to decrease the counter by one; if the counter is zero, blocks until the counter is greater than zero. down() is analogous to wait().

 up(sem): increments the counter; wakes up one waiting process. up() is analogous to sig- nal().

Semaphores in computer science were introduced by the Dutch computer scientist Edsger Dijkstra, and so down() is sometimes called P(), from the Dutch for proberen, roughly "try [to decrement]", and up() is sometimes called V(), from the Dutch for verhogen, roughly "increment". Notice that we can use semaphores to impose both mutual exclusion and ordering constraints. In some sense, semaphores, with two operations, are more elegant than monitors, with ?ve operations (namely, lock(), unlock(), wait(), signal(), and broadcast()).

Some people, however, ?nd semaphores less intuitive thanmonitors. There is also an important difference between semaphores and signals: signals have no memory, whereas semaphores do have memory.


Related Discussions:- Semaphores

Find the number of drives in the jukebox, Q. In a disk jukebox what would b...

Q. In a disk jukebox what would be the result of having more open files than the number of drives in the jukebox? Answer: Two bad results could result. One likelihood is star

Designing issues in a network-scalability, Scalability Scalability is t...

Scalability Scalability is the ability of the system to adapt to increased service load. A scalable system will respond more gracefully to increased load than a non scalable on

What is starvation?, What is starvation? A main problem related to dead...

What is starvation? A main problem related to deadlock is starvation. Starvation is the circumstances where process waits indefinitely within the semaphore. Indefinite blocking

Explain resource allocation graph, RESOURCE ALLOCATION GRAPH When a pro...

RESOURCE ALLOCATION GRAPH When a process Pi wishes an instance of resource type Rj, a request edge is inserted in the resource allocation graph. When this request is able to be

Write a short note on the linux file systems, Question: (a) Red Hat Li...

Question: (a) Red Hat Linux is distributed under the Open Source agreement. Explain what you understand by Open Source distribution system. (b) Write a short note on the L

Example of semaphore, For example, by initializing a semaphore to 0, thread...

For example, by initializing a semaphore to 0, threads can wait for an event to occur, and impose an ordering constraint, similar to a monitor using condition variables, but with m

Buffer, What is bounded buffer

What is bounded buffer

Define where a program generation activity aims, Define where a Program gen...

Define where a Program generation activity aims  Program generation activity aims at Automatic generation of program

Definition of operating system, Q. Definition of Operating System? Defi...

Q. Definition of Operating System? Definition of Operating System: • An Operating system is a program which controls execution of application programs and acts as an interfa

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