Yogesh Mehta
asked on
c++ Python program
c++ Python program with Minizinc
In this project, you will design and implement a resource management module for an Operating System Simulator ‘oss’. In this project, you will use the deadlock avoidance to manage resources, with processes being blocked on their requests until those requests are safe.
There is no scheduling in this project, but you will be using shared memory so be cognizant of possible race conditions.
Please see the attached files customer has given me piece of codes and SOP document if someone can help me to understand whats the expectation of customer and how to met that expectation i will be very thankful.
In this project, you will design and implement a resource management module for an Operating System Simulator ‘oss’. In this project, you will use the deadlock avoidance to manage resources, with processes being blocked on their requests until those requests are safe.
There is no scheduling in this project, but you will be using shared memory so be cognizant of possible race conditions.
Please see the attached files customer has given me piece of codes and SOP document if someone can help me to understand whats the expectation of customer and how to met that expectation i will be very thankful.
There are no attached files.
I found a better description of the customer expectations. See attached.
http://www.cs.umsl.edu/~sanjiv/classes/cs4760/assignments/ass5.pdf
http://www.cs.umsl.edu/~sanjiv/classes/cs4760/assignments/ass5.pdf
ASKER
pfa files
ASKER
@phoffric can you provide me solution for the same
Is that homework ?
ASKER
@Fabrice yes it is homework
ASKER
@phoffric if you can guide where this program to be written and what can be output is expected
ASKER
if someone can just analanys the code and revert from which point i need to assign developer it will be help for me .
I suggest you implement these requirements in the following order:
1. Get a makefile that compiles two source files, have master allocate shared memory, use it, then deallocate it. Make sure to check all possible error returns.
2. Get Master to fork off and exec one child and have that child attach to shared memory and check the clock and verify it has correct resource limit. Master should wait for it to terminate. Then when the child terminates Master should verify to you that it terminated. Then test with more than one child.
3. Put in the signal handling to terminate after 2 seconds. Then set up a way for children to communicate with Master their resource requests. Test by having one child send requests for resources to master and master just always fake granting them
4. Set up necessary resource tables and start having the child request or release particular resources and get granted/released that resource if and only if it is available.
5. Get deadlock avoidance set up and figure out how you want to deal with processes that are blocked (could be a queue, or just looking through PCB for one every time)
6. Now set up processes going through the system
I suggest you implement these requirements in the following order:
1. Get a makefile that compiles two source files, have master allocate shared memory, use it, then deallocate it. Make sure to check all possible error returns.
2. Get Master to fork off and exec one child and have that child attach to shared memory and check the clock and verify it has correct resource limit. Master should wait for it to terminate. Then when the child terminates Master should verify to you that it terminated. Then test with more than one child.
3. Put in the signal handling to terminate after 2 seconds. Then set up a way for children to communicate with Master their resource requests. Test by having one child send requests for resources to master and master just always fake granting them
4. Set up necessary resource tables and start having the child request or release particular resources and get granted/released that resource if and only if it is available.
5. Get deadlock avoidance set up and figure out how you want to deal with processes that are blocked (could be a queue, or just looking through PCB for one every time)
6. Now set up processes going through the system
This question needs an answer!
Become an EE member today
7 DAY FREE TRIALMembers can start a 7-Day Free trial then enjoy unlimited access to the platform.
View membership options
or
Learn why we charge membership fees
We get it - no one likes a content blocker. Take one extra minute and find out why we block content.