Your team programming assignment is to write a program to


PROGRAMMING ASSIGNMENT: O/S SIMULATION PROCESS MANAGEMENT

Your team programming assignment is to write a program to simulate the operations of an Operating System as it processes a stream of incoming processes. Students will normally work in teams of two or three. Students may work by themselves but are highly discouraged from doing so. The purpose of the simulation is to compare the results of at least two different scheduling algorithms and their effect on system performance. The completed assignment is due on May 11, 2015.

PROGRAM SPECIFICATIONS: This simulation will employ only one processor (CPU), one I/O device, and one each Long Term Queue, Short Term Queue and I/O Queue. Each queue is to be limited in size as follows:

A. Long Term Queue 60 jobs
B. Short Term Queue 30 jobs
C. I/O Queue 30 jobs

Each job is to have a Process Control Block in which data about the job is kept. The actual format of the data structure to maintain this information will be determined by each team. Other data structures, such as temporary storage locations, flags, queues, etc., will be used as needed for the simulation and the format will again be determined by each team.

Time in the simulation will be measured in a unit called a "clock tick". A clock tick is one pass through the main loop of the program (see PSEUDOCODE). All statistical calculations are to be made using a clock tick as the unit of measure for the simulation.

All processes will be non-preemptive. The simulation will encounter only one type of interrupt, I/O. When a process is interrupted, suspend the process without returning it to the SHORT TERM QUEUE. When a process is suspended for I/O, use a suspend time of 3 clock ticks before returning the process to the CPU. (This simulates the context switch time)

Use FCFS scheduling for both the Long Term Queue and I/O Queue. The initial scheduling algorithm for the Short Term Queue is also to be FCFS.

For extra credit, your team may run the simulation a second time employing one (or more) of the following changes:

1. Employ one other scheduling algorithm for the Short Term Queue selected from the following:

a. Round Robin -- quantum between 10 and 50 (your choice)
b. Shortest Remaining Time Next
c. Shortest Job First
d. Highest-Response-Ratio Next

2. Simulate the system using preemptive processes for the scheduling algorithm(s) employed.

3. Simulate the system using two CPUs but one STQ

4. Simulate the system using two I/O Devices (either with one I/O queue for each or one I/O queue for both I/O Devices.

Queues may be implemented as linked lists, arrays or any other data structure you think is appropriate. You are to use separate wait counters for each queue and the CPU (for jobs that are suspended.) You may use GLOBAL VARIABLES if you desire but all GLOBAL VARIABLES MUST de declared in one central location (i.e. "variable.h" file)

Each team will process the same data stream so a meaningful comparison of STQ algorithms can be made. The system in the simulation will process an unknown number of jobs. You may however figure on a MAXIMUM of 150 jobs for the simulation. DO NOT WRITE YOUR SIMULATION TO PROCESS ONLY 150 JOBS. IN PRACTICE, JOBS ENTER AND LEAVE THE SYSTEM ON A CONTINUING BASIS. YOU DO NOT KNOW HOW MANY JOBS YOU WILL BE PROCESSING. YOU MAY HOWEVER USE THIS FIGURE TO SET A MAXIMUM SIZE ON ANY DATA STRUCTURES USED IN YOUR SIMULATION. Other specification may be added later as the need develops.

DOCUMENTATION: Your program must be well documented. Internaldocumentation is to include a short heading in each routine/procedure/function to include the following:

1. File name (if external files are used) or module name.
2. The identity of the PRIMARY author of the module
3. The identity of the CONTRIBUTING author(s) of the module
4. The date the module was last revised (or created)
5. A short narrative description of what the module does (how it contributes to the simulation).

Attachment:- simulation_flags.xlsx

Request for Solution File

Ask an Expert for Answer!!
Operating System: Your team programming assignment is to write a program to
Reference No:- TGS01400321

Expected delivery within 24 Hours