Your first program must implement a class PCB (Process Control Block) with the following fields: -
parent process id (an integer) - process state (a char) - process name (a string) - process priority (an integer) - process arrival time (a non-negative integer) - process CPU burst time (a non-negative integer) - register set values (an object of a class “RegisterSet” containing the following integer fields: XAR, XDI, XDO, PC, IR, EMIT, RR, PSW, R0, R1, R2, R3, R4, R5, R6, R7) - nextPCB pointer (an integer) Note: A process ID (pid) field is not necessary since the actual pid will be the index of the Process Table slot (see below) into which the process will be inserted.
Next, your program must create a Process Table data structure as an array (max size 100 elements) of type PCB. Your program must open the file "processes1.txt" and use the data from the file to initialize the Process Table data structure. The first line of the file indicates the number of iterations the main simulation loop must perform. The remaining lines contain process-related data:
Each line of the input file contains information about one process: - The first item on each line is the process name - The second item is the process priority -
The third item is the arrival time - The fourth item is the CPU burst time - The remaining items on the line are register values as described above. Your program must run a loop (the main simulation loop), which, on every iteration, goes through the input file one line at a time: If the current loop counter value equals the arrival time of the process on the given line, then a new PCB entry is added to the Process Table data structure. The fields of the new PCB must be initialized with process data from the file line being scanned. Some of the data must be automatically initialized by the PCB class constructor: -
Process state: For this project, your program must simply initialize every process to state ‘n’ (“new”). - nextPCB: For this project, the first process you insert will have its nextPCB field set to -1. For all other processes, the nextPCB field will be set to the previous process’ pid (i.e. Process Table index). - Parent process ID (ppid): For this project, this field will have the same value as the nextPCB field described above. The loop will perform as many iterations as specified on the very first line of the input file. After the main simulation loop completes, your program must print the contents of the initialized Process Table on screen, one process at a time.
DescriptionIn this final assignment, the students will demonstrate their ability to apply two ma
Path finding involves finding a path from A to B. Typically we want the path to have certain properties,such as being the shortest or to avoid going t
Develop a program to emulate a purchase transaction at a retail store. Thisprogram will have two classes, a LineItem class and a Transaction class. Th
1 Project 1 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of
1 Project 2 Introduction - the SeaPort Project series For this set of projects for the course, we wish to simulate some of the aspects of a number of