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

Explain the performance of demand paging, Performance of demand paging ...

Performance of demand paging Demand paging can have an important effect on the performance of a computer system. As long as there are no page faults, the effective access time

Ipc, Explain in detail about ipc in linux

Explain in detail about ipc in linux

Explain briefly the working of semaphore with example ?, Explain briefly th...

Explain briefly the working of semaphore with example ? The E.W. Dijkstra (1965) abstracted the key idea of mutual exclusion in his concepts of semaphores. Definition A s

Define loader that executed when system is first turned on, Define a loader...

Define a loader that is executed when a system is first turned on or restarted? Bootstrap loader is executed when a system is first turned on or restarted

Implement a network-transparent system, Q. What are two dreadful problems t...

Q. What are two dreadful problems that designers should solve to implement a network-transparent system? Answer: One such issue is making all the processors as well as storag

Unix process api, Unix process API The two most important function calls...

Unix process API The two most important function calls to use when programming with several processes are fork and exec:  fork() creates a copy of current process. It gives

Windows admin need it, Windows admin need it Project Description: We ...

Windows admin need it Project Description: We want to protect an executable on operating system level , so the process could be visible among all users while the executable r

Explain process state with diagram, Question 1 Explain single Partition Al...

Question 1 Explain single Partition Allocation and Multiple Partition Question 2 What is PCB? What useful information is available in PCB? Question 3 Explain Preemptive and No

Define program preemption, Define Program preemption The Forced de-allo...

Define Program preemption The Forced de-allocation of the CPU from a program which is executing on the CPU is known as Program preemption

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