Consider a scenario in which several processes compete for access to the same resource (e.g., a file or some memory address). When a process is starved due to resource unavailability, a timer is used to stop (i.e., kill) the process after a predetermined time interval. Once the process is terminated, attempt to gain access to the desired resource.  For example, a user could be prompted programmatically to check if a process is not available, and if not available, then the process could be terminated. This would simulate the same process users perform with the Task Manager on Windows or the Activity Manager on the Mac. Create a C program that implements the scenario using two processes that are created using fork(). Print the necessary process data using fprintf to show a log of activities: which processes are running, what resource they are trying to access, whether the resource is available, and whether the process is starved. After analyzing the activity log produced by your program, assess how efficient the use of a timer to solve deadlock situations was. Is the solution scalable to multiple processes and threads? What are the limitations, if any? If you identified problems with this strategy, suggest a different approach and explain why it would be better. If the timer proves to be a successful approach, just state that and no further alternatives need to be explored. Deliverables: Detailed description of the scenario explaining your approach to implementation in C. Include a flowchart that demonstrates the logic of the program. Coding results: An analysis of the program output and the suitability of the approach to deadlock resolution, using the questions in the assignment description as a guide.

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

Consider a scenario in which several processes compete for access to the same resource (e.g., a file or some memory address). When a process is starved due to resource unavailability, a timer is used to stop (i.e., kill) the process after a predetermined time interval. Once the process is terminated, attempt to gain access to the desired resource. 

For example, a user could be prompted programmatically to check if a process is not available, and if not available, then the process could be terminated. This would simulate the same process users perform with the Task Manager on Windows or the Activity Manager on the Mac. Create a C program that implements the scenario using two processes that are created using fork(). Print the necessary process data using fprintf to show a log of activities: which processes are running, what resource they are trying to access, whether the resource is available, and whether the process is starved.

After analyzing the activity log produced by your program, assess how efficient the use of a timer to solve deadlock situations was. Is the solution scalable to multiple processes and threads? What are the limitations, if any? If you identified problems with this strategy, suggest a different approach and explain why it would be better. If the timer proves to be a successful approach, just state that and no further alternatives need to be explored.

Deliverables:

  1. Detailed description of the scenario explaining your approach to implementation in C.
  2. Include a flowchart that demonstrates the logic of the program.
  3. Coding results:
    1. An analysis of the program output and the suitability of the approach to deadlock resolution, using the questions in the assignment description as a guide.
Expert Solution
trending now

Trending now

This is a popular solution!

steps

Step by step

Solved in 3 steps with 1 images

Blurred answer
Knowledge Booster
Designing Real Time System
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
  • SEE MORE 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