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

What is long-term, What is long-term, medium-term, short-term? In a bat...

What is long-term, medium-term, short-term? In a batch system many processes are submitted than are able to be executed immediately. These processes are reel to a mass storage

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.

Facility location, What is the essence of facility location in production o...

What is the essence of facility location in production operation management

Define race condition, Define race condition. When various process acce...

Define race condition. When various process access and manipulate similar data concurrently, then the outcome of the execution depends on certain order in which the access take

Operating system, What criteria are important in choosing a file organisati...

What criteria are important in choosing a file organisation?

What is multiprogramming, What is Multiprogramming? Multiprogramming is...

What is Multiprogramming? Multiprogramming is the capability of am operating system to support multiple applications running concurrently. Multiprogramming simply means that an

Unix, what is difference between file descriptor and file pointer?

what is difference between file descriptor and file pointer?

Explain system-wide open-file and per-process open-file, Explain system-wid...

Explain system-wide open-file and per-process open-file The system-wide open-file table have a copy of the FCB of each open file, as well as other information. The per-pr

Illustrate the function of loader, Q. Illustrate the function of Loader? ...

Q. Illustrate the function of Loader? A loader is a routine which loads an object program and prepares it for execution. There are many loading schemes: relocating, absolute an

Is anti virus a system utility, Problem: a) Explain physically what occ...

Problem: a) Explain physically what occurs when a disk is fragmented. What is the purpose of "defragmenting" a disk? b) What is the idea behind backing up data on a secondar

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