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

User threads control dispatching, Consider a particular system that does no...

Consider a particular system that does not have an interrupting clock.  The only way a thread can lose the processor is to voluntarily surrender it.  Additionally, the operating sy

Briefly explain about file system implementation, Briefly explain about fil...

Briefly explain about file system implementation? Several on-disk and in-memory structures are used to execute a file system. On disk, the file system may have information abou

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

What is meant by demand paging? explain, What is meant by demand paging? Ex...

What is meant by demand paging? Explain. Demand paging is a technique to implement virtual memory. In demand paging simply when a page is required it is brought into memory. As

List out the advantages of windows 2000 file management, List out the advan...

List out the advantages of windows 2000 file management. Permits detailed security for individual folders and files. Built-in granular compression capabilities

Explain the thread contextual data, Explain the Thread Contextual Data  ...

Explain the Thread Contextual Data  Threads in Net Ware carry additional context as well. Per-thread, stacks, errno, Net Ware Errno, t_errno and others are available to the ap

What are the phases of background processing, What are the phases of backgr...

What are the phases of background processing? Phases are:- Job Scheduling. Job Processing. Job Overview.

Explain internal fragmentation, Explain internal fragmentation The Inter...

Explain internal fragmentation The Internal fragmentation signifies to the result of reserving a piece of space without ever intending to use it. This space is wasted that this

Assignment, i need the job to be done within 3 days

i need the job to be done within 3 days

How does windows xp execute transport protocols, Q. What kinds of networkin...

Q. What kinds of networking does Windows XP support? How does Windows XP execute transport protocols? Describe two networking protocols. Answer: Support is offer for bo

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