Reference no: EM132268021
Operating Systems Project - RATCH - The Ru bATCH job simulator
Description - For this project, you will build upon your interactive shell from project 2. You will add the ability to start programs and simulate their execution similar to what has been done. The system will have a set amount of memory, a variable burst time, and uses a round robin queue for keeping track of running processes.
Commands the RUSH shell will implement for this project
start <program> - Add the program to the simulator
step <number> - Advance the system X units of time
setBurst <number> - Set the amount of time a process gets on the CPU before being moved to the back of the queue
setMemory <integer> - Set the amount of memory available for the system
getMemory - Print out the amount of memory for the system
run - Advance the simulator until no jobs are left to run
addProgram <name> <timeRequirement> <memoryRequirement> <pair>*
<pair> is
<timeTodoIO> <AmountOfIOTime> // Both are integers
This command adds a program to the filesystem in the current directory
Notes on simulation: When a job goes to run, the system must have memory to support it otherwise it will not run. When a job asks for IO, it must be removed from the queue until it finishes the I/O request. Once it is finished it will go to the back of the ready queue. Whenever the current job is finished or leaves the queue, an updated system state should be printed out.
Submission requirements: Include all of your files in a directory name project3 along with a Makefile that can build your program and produce the RATCH executable.
Note - The code need to be able to run on putty Linux my system doesn't support C++11. The code need to be run on any system.
Attachment:- Assignment File.rar