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

Explain process scheduling in time sharing, Explain process scheduling in t...

Explain process scheduling in time sharing The relevant features of time sharing are: 1.      Process priorities do not depend on the nature of the processes 2.      Proc

#title:cs604, Consider a scenario of post mailbox, there are two processes ...

Consider a scenario of post mailbox, there are two processes named sender S and receiver R. Both processes can communicate with each other by name along with message. You need to I

What happens when you execute a program in unix, When you run a program on ...

When you run a program on your UNIX system, the system prepares a special environment for that program. This environment owns everything needed for the system to execute the progra

Advanced synchronization in operating system, Recall that condition variabl...

Recall that condition variables are synchronization primitives that enable threads to wait until a particular condition occurs. Generalizing, the combination of locks and condit

Prepare gantt charts and determine the average waiting time, Prepare Gantt ...

Prepare Gantt Charts and Determine the Average Waiting Time 1. Classify the interaction among the processes on the basis if degree to which they are aware of each  other's exi

Unix and linux commands, To explore the UNIX file system, use basic UNIX co...

To explore the UNIX file system, use basic UNIX commands and use a text editor. Task:   1.      Logon to Linux. 2.      Create a directory "Unix" under your home d

Locks - mutexes, Locks (also known as mutexes, short for mutual exclusion l...

Locks (also known as mutexes, short for mutual exclusion locks) provide mutual exclusion to shared data inside a critical session. They are implemented by means of two atomic routi

Interpreters, Use and overview? Pure and impure interpreter?

Use and overview? Pure and impure interpreter?

Introduction to microprocessors, Let us consider the pining details of the ...

Let us consider the pining details of the 68HC11 as shown below.     Each pin has a defined function, some easy, some complex. A microprocessor designer should understan

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