This project deals with the deadlock detection algorithm.
This is taken from the description,
--------------
You will be simulating an OS resource control situation for a system with several units of each resource type, by writing a Resource Control process which receives resource requests from other processes (which will be its child processes in this assignment).
This Control process will wait for resource requests from its child processes. Upon each resource request, it will update its resource allocation data structures. It will notify the requesting process when the request is granted (this may be immediately, or later when a resource becomes free). It will use the deadlock detection algorithm below to detect deadlock; if there is deadlock, it will make an attempt at deadlock recovery by terminating one of the deadlocked child processes (the one
with the least total resources allocated so far) and continue.
The program will terminate when there is only one child process left, or when the user does a Control-C. In the case of a Control-C, the program should terminate by:
- printing the contents of all deadlock detection data structures to the screen
- terminating the child process(es)
- destroying the message queue(s) ***** THIS IS IMPORTANT *****
NOTE: you will need to write a signal handler to intercept a Control-C from the user.
You can take a look at the project on
[login to view URL]
username: aija pass:cs305
## Deliverables
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):
a) For web sites or other server-side deliverables intended to only ever exist in one place in the Buyer's environment--Deliverables must be installed by the Seller in ready-to-run condition in the Buyer's environment.
b) For all others including desktop software or software the buyer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this bid request.
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
The program should be written in C and be able to run on the Unix environment.