3.3 Suppose a computer has an atomic swap instruction, defined as follows: Swap (varl, var2): (tmp = varl; varl = var2; var2 = tmp; ) In the above, tmp is an internal register. (a) Using Swap, develop a solution to the critical section problem for n pro- cesses. Do not worry about the eventual entry property. Describe clearly how your solution works and why it is correct. (b) Modify your answer to (a) so that it will perform well on a multiprocessor system with caches. Explain what changes you make (if any) and why. (c) Using Swap, develop a fair solution to the critical section problem-namely, one that also ensures eventual entry to each waiting process. The key is to order the processes, where first-come, first-served is the most obvious ordering. Note that you cannot just use your answer to (a) to implement the atomic action in the ticket algorithm, because you cannot get a fair solution using unfair components. You may assume that each process has a unique identity, say, the integers from 1 to n. Explain your solution, and give convincing arguments why it is correct and fair.

Database System Concepts
7th Edition
ISBN:9780078022159
Author:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Chapter1: Introduction
Section: Chapter Questions
Problem 1PE
icon
Related questions
Question

Question is attached as an image.

3.3 Suppose a computer has an atomic swap instruction, defined as follows:
Swap (varl, var2):
(tmp = varl; var1 = var2; var2 = tmp; }
In the above, tmp is an internal register.
(a) Using Swap, develop a solution to the critical section problem for n pro-
cesses. Do not worry about the eventual entry property. Describe clearly how
your solution works and why it is correct.
(b) Modify your answer to (a) so that it will perform well on a multiprocessor
system with caches. Explain what changes you make (if any) and why.
(c) Using Swap, develop a fair solution to the critical section problem-namely,
one that also ensures eventual entry to each waiting process. The key is to order
the processes, where first-come, first-served is the most obvious ordering. Note
that you cannot just use your answer to (a) to implement the atomic action in the
ticket algorithm, because you cannot get a fair solution using unfair components.
You may assume that each process has a unique identity, say, the integers from 1
to n. Explain your solution, and give convincing arguments why it is correct and
fair.
Transcribed Image Text:3.3 Suppose a computer has an atomic swap instruction, defined as follows: Swap (varl, var2): (tmp = varl; var1 = var2; var2 = tmp; } In the above, tmp is an internal register. (a) Using Swap, develop a solution to the critical section problem for n pro- cesses. Do not worry about the eventual entry property. Describe clearly how your solution works and why it is correct. (b) Modify your answer to (a) so that it will perform well on a multiprocessor system with caches. Explain what changes you make (if any) and why. (c) Using Swap, develop a fair solution to the critical section problem-namely, one that also ensures eventual entry to each waiting process. The key is to order the processes, where first-come, first-served is the most obvious ordering. Note that you cannot just use your answer to (a) to implement the atomic action in the ticket algorithm, because you cannot get a fair solution using unfair components. You may assume that each process has a unique identity, say, the integers from 1 to n. Explain your solution, and give convincing arguments why it is correct and fair.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps

Blurred answer
Knowledge Booster
Pipelining
Learn more about
Need a deep-dive on the concept behind this application? Look no further. Learn more about this topic, computer-science and related others by exploring similar questions and additional content below.
Similar questions
Recommended textbooks for you
Database System Concepts
Database System Concepts
Computer Science
ISBN:
9780078022159
Author:
Abraham Silberschatz Professor, Henry F. Korth, S. Sudarshan
Publisher:
McGraw-Hill Education
Starting Out with Python (4th Edition)
Starting Out with Python (4th Edition)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education