Link to home
Start Free TrialLog in
Avatar of Yogesh Mehta
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.
Avatar of Darrell Porter
Darrell Porter
Flag of United States of America image

There are no attached files.
Avatar of phoffric
phoffric

I found a better description of the customer expectations. See attached.

http://www.cs.umsl.edu/~sanjiv/classes/cs4760/assignments/ass5.pdf
Avatar of Yogesh Mehta

ASKER

pfa files
@phoffric can you provide me solution for the same
Is that homework ?
@Fabrice yes it is homework
@phoffric if you can guide where this program to be written and what can be output is expected
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
This question needs an answer!
Become an EE member today
7 DAY FREE TRIAL
Members 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.