Write a note on semaphores, Operating System

Assignment Help:

Write a note on semaphores

A semaphore is a tool meant for synchronizing multiple processes trying to access a shared variable. That is a semaphore is used to deal with the critical section problem or in other words to evade the race condition. A semaphore S is in fact an integer variable that apart from initialization is accessed only through two standard atomic operations:

*Wait and signal.

 

The traditional definition of wait in pseudo code is:

    wait (S) {

             while (S<=0)

                ; // no-op

             S--;

    }

The traditional definition of signal in pseudo code is:

    signal (S) {

               S++;

    }

 

For each process P,

    do {

WAIT

           Critical Section

SIGNALS

 

          } while (1);

 

A semaphore is able to be defined as:

typedef struct {

             int value;

             struct process *L;

} semphore;

 

Once more, the wait semaphore operation can be defined as:

void wait (semaphore S) {

                S.value--;

                if (S.value < 0) {

                    add this process to S.L;

                    block();

                }

}

 

As well, the signal semaphore operation is able to be defined as:

void signal( semaphore S) {

                   S.value++;

                   if (S.value <= 0) {

                       remove a process P from S.L;

                       wakeup(P);

                   }

}


Related Discussions:- Write a note on semaphores

Define lru page replacement algorithm, Define LRU Page Replacement Algorith...

Define LRU Page Replacement Algorithm LRU policy: LRU expands to least currently use. This policy suggests which we re- move a page whose last usage is farthest from current ti

Explain best fit algorithm, BEST FIT ALGORITHM Here scanning is for th...

BEST FIT ALGORITHM Here scanning is for the finest fit one. Signifies it searches the entire list for the best fit position. For the process therefore in that the process will

Invalid page fault, Invalid page fault :If a page fault happens for a ref...

Invalid page fault :If a page fault happens for a reference to an address that's not part of the virtual address space, so that there could not be a page in memory corresponding

Write a program to demonstrate the memory leak problem, Write a program (wi...

Write a program (with the programming language and on the platform of your choice) to demonstrate the memory leak problem (see http://en.wikipedia.org/wiki/Memory_leak for detail

Briefly describe the producer-consumer problem, Question: a) Each proc...

Question: a) Each process is represented in the operating system by a process control block (PCB). The PCB contains many pieces of information associated with a specific proce

An operating system for a real-time environment, Q. What is the major diffi...

Q. What is the major difficulty that a programmer should overcome in writing an operating system for a real-time environment? Answer: The major difficulty is keeping the oper

System protection, what is the need-to-know principle? why is it important ...

what is the need-to-know principle? why is it important for a protection system to adhere to this principle?

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