Your task is to develop a system that can determine whether or not a particular resource allocation graph represents a deadlock state. A resource allocation graph, G(V,E) can be represented as an adjacency matrix M. For example: B3 R3 P3 P2 R1 Χ P1 P2 P3 R1 R2 R3 14 P1 P1 1 0 0 0 1 0 P2 0 1 0 1 0 1 P30 0 1 0 0 0 R1 1 0 1 1 0 0 R2 82 R2 0 1 0 0 1 0 R3 0 0 1 0 0 1 Your program must read a text file which specifies the number of processes; the number of resources; the number of units of each type of resource; and the adjacency Matrix M. Your program will determine if the state represented by M is a deadlock. You may assume that the system's resource allocation policy is expedient! A text file containing information corresponding to the above example has been posted to Canvas (in the Modules section next to this project). Your program must be capable of reading text files which conform to the specification described within this file. Thus, your program may be graded using a different text file which conforms to the same specification. You may choose to implement either one of the following deadlock detection mechanisms: OPTION 1 You may choose to implement the graph reduction algorithm to determine whether the graph represented by M is completely reducible and hence deadlock free. OPTION 2 You may determine that the state represented by G(V,E) or M is a deadlock state by inspecting the resource allocation graph for the existence of a knot. BE SURE TO: a) How the program is run. What it uses to read in the file (scanf, read, regex, etc). What data structure in memory it uses to store the input data (it reads in an adjacency matrix, but can use an adjacency list or a graph using pointers). Description of the algorithm and how it works. b) Implementation of your deadlock detection algorithm. Can read the input file, and attempts to solve the problem. Input can be piped into stdin, or read from a file or some other ungodly solution like reading the file at compile time. The important thing is the given input works unaltered, and any extra input files with the same structure work too. c) Correctness (your algorithm will be tested with different graphs) d) Discussion of experimental results in the report. What inputs you tried and if they passed. Any quirks of your system, like if it takes a large amount of time or memory.
Your task is to develop a system that can determine whether or not a particular resource allocation graph represents a deadlock state. A resource allocation graph, G(V,E) can be represented as an adjacency matrix M. For example: B3 R3 P3 P2 R1 Χ P1 P2 P3 R1 R2 R3 14 P1 P1 1 0 0 0 1 0 P2 0 1 0 1 0 1 P30 0 1 0 0 0 R1 1 0 1 1 0 0 R2 82 R2 0 1 0 0 1 0 R3 0 0 1 0 0 1 Your program must read a text file which specifies the number of processes; the number of resources; the number of units of each type of resource; and the adjacency Matrix M. Your program will determine if the state represented by M is a deadlock. You may assume that the system's resource allocation policy is expedient! A text file containing information corresponding to the above example has been posted to Canvas (in the Modules section next to this project). Your program must be capable of reading text files which conform to the specification described within this file. Thus, your program may be graded using a different text file which conforms to the same specification. You may choose to implement either one of the following deadlock detection mechanisms: OPTION 1 You may choose to implement the graph reduction algorithm to determine whether the graph represented by M is completely reducible and hence deadlock free. OPTION 2 You may determine that the state represented by G(V,E) or M is a deadlock state by inspecting the resource allocation graph for the existence of a knot. BE SURE TO: a) How the program is run. What it uses to read in the file (scanf, read, regex, etc). What data structure in memory it uses to store the input data (it reads in an adjacency matrix, but can use an adjacency list or a graph using pointers). Description of the algorithm and how it works. b) Implementation of your deadlock detection algorithm. Can read the input file, and attempts to solve the problem. Input can be piped into stdin, or read from a file or some other ungodly solution like reading the file at compile time. The important thing is the given input works unaltered, and any extra input files with the same structure work too. c) Correctness (your algorithm will be tested with different graphs) d) Discussion of experimental results in the report. What inputs you tried and if they passed. Any quirks of your system, like if it takes a large amount of time or memory.
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
Related questions
Question
please help for parts A,B,C,D of this question. You can choose which option you want to pick for the problem. I use mac terminal so pls also guide me how to run the
Expert Solution
This question has been solved!
Explore an expertly crafted, step-by-step solution for a thorough understanding of key concepts.
Step by step
Solved in 2 steps
Recommended textbooks for you
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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
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)
Computer Science
ISBN:
9780134444321
Author:
Tony Gaddis
Publisher:
PEARSON
Digital Fundamentals (11th Edition)
Computer Science
ISBN:
9780132737968
Author:
Thomas L. Floyd
Publisher:
PEARSON
C How to Program (8th Edition)
Computer Science
ISBN:
9780133976892
Author:
Paul J. Deitel, Harvey Deitel
Publisher:
PEARSON
Database Systems: Design, Implementation, & Manag…
Computer Science
ISBN:
9781337627900
Author:
Carlos Coronel, Steven Morris
Publisher:
Cengage Learning
Programmable Logic Controllers
Computer Science
ISBN:
9780073373843
Author:
Frank D. Petruzella
Publisher:
McGraw-Hill Education