what are the Proposals for Achieving Mutual Exclusion?, Basic Computer Science

Proposal a) Disabling Interrupts (Hardware Solution)
• Every process disables all interrupts just after entering in its critical section and re-enables all interrupts just previous to leaving critical section. With interrupts turned off the CPU could not be switched to further process. consequently, no other process will enter its critical and mutual exclusion get.
• Conclusion
Disabling interrupts is sometimes a useful interrupts is sometimes a useful technique within the kernel of an operating system, but it is not appropriate as a general mutual exclusion mechanism for users’ process. The reason is that it is unwise to give user process the power to exit interrupts.

Proposal b) Lock Variable (Software Solution)
• In this solution, we judge a single, shared, (lock) variable, at first 0. When a process desires to enter in its critical section, it first tests the lock. If lock is 0, the process at first sets it to 1 and then enters the critical section. If the lock is previously 1, the process just waits until (lock) variable becomes 0.Therefore, a 0 means that no process in its critical section, and 1 means hold your horses - some process is in its critical section.
Conclusion of problem
the error in this proposal can be best explained by illustration. Suppose process A sees that the lock is 0. Before it can put the lock to 1 one more process B is scheduled, runs, and sets the lock to 1. as the process A runs again, it will also set the lock to 1, and two processes will be in their critical section at the same time.

Proposal c) Strict Alteration
• In this proposed solution, the integer variable ''turn'' remains track of whose turn is to enter the critical section. Originally, process A inspect turn, finds it to be 0, and come in its critical section. Process B also gets it to be 0 and sits in a loop continually testing ''turn'' to see when it becomes 1.constantly testing a variable waiting for some value to come out is called the Busy-Waiting.
• Conclusion
taking turns is not a high-quality thought when one of the processes is much slower than the other. Suppose process 0 finishes its critical section quickly, so both processes are now in their noncritical part. This circumstance violates above mentioned condition 3.
by means of Systems calls ''sleep'' and ''wakeup''
• Essentially, what above mentioned solution do is this: when a process desires to enter in its critical section, it checks to see if then entry is permitted or not? If it is not, the process goes into stretched loop and waits (i.e., start busy waiting) until it is allowed to enter. This approach waste CPU-time.
• Now appear at some interprocess communication primitives is the pair of steep-wakeup.
• Sleep
o This is a system call that reasons the caller to block, that is, be suspended until any other process wakes it up.
• Wakeup
o This is a system call that wakes up the process.
Equally ''sleep'' and ''wakeup'' system calls have one parameter that stand for a memory address used to match up ''sleeps'' and ‘wakeups’.
Posted Date: 5/2/2012 9:27:27 AM | Location : United States

Related Discussions:- what are the Proposals for Achieving Mutual Exclusion?, Assignment Help, Ask Question on what are the Proposals for Achieving Mutual Exclusion?, Get Answer, Expert's Help, what are the Proposals for Achieving Mutual Exclusion? Discussions

Write discussion on what are the Proposals for Achieving Mutual Exclusion?
Your posts are moderated
Related Questions
Compare and contrast two qualitative analysis approaches. You must select two that are a true contast eg  CAQADS (say leximancer ) v discourse analysis or thematic analysis by hand

Input unit: These are used to read data and transfer to primary memory contained in CPU through keyboard or floppy disk or mouse etc. Central Processing Unit (CPU): This consists o

Question 1 Explain the different categories of Software applications Question 2 Write a note on Data Dictionaries Question 3 Explain the following (a) Top-down testin

Array: Array  :  In programming, when large amount of related data needs to be processed and each data element is stored with different a variable name, it becomes very diffic

Need of artificial intelligence: Artificial Intelligence may be seen as just the latest tool in the philosopher's toolbox for answering these all questions about the behavior o

draw the diagram to implement 32*1 mux by using 3 relevant type of mux

Write an ARM subroutine which will extract a substring from a string. You will need to use the library routine malloc to allocate memory for the new string. The subroutine signatu

QUESTION (a) Being just employed as junior forensic examiner at SAI computer forensic Ltd, your supervisor told you, ‘hey Moona Tambi, we have received a hard disk for examinat

Write a program that lets the user play the game Rock, Paper, Scissors against the computer. The program should work as follows: ? When the program begins, the results of the prev

Software Licensing: Until early 1970's, sharing of software was the accepted norm. Hardware came bundled with software products which could be freely redistributed and the acc