Performance of Job Scheduling Strategies
In this project you will investigate the performance of Job Scheduling strategies, Memory Allocation strategies and a CPU Scheduling strategy used by a hypothetical operating system (HOS). The computer system that runs this HOS has four identical processors so that four ready processes can execute truly in parallel. The HOS uses multiprogramming to multiplex the four processors amongst all the memory-resident jobs. The physical memory space is divided into several segments of varying sizes and the allocation strategy uses contiguous allocation of memory space to the waiting processes. Each user program runs in a single segment. Any unused space of an allocated segment is considered wasted.
Memory space requirement and CPU time requirement of all the jobs will be randomly generated: this data essentially constitutes the "Job Queue" or "Input Queue". The HOS allocates memory to as many jobs as possible based on the scheduling and allocation strategies. It then starts their execution. These jobs remain in memory until completion (no preemption.). When one or more jobs finish, the HOS brings in additional jobs from the job queue based on the same scheduling and allocation strategies.
The following information will be needed to run the simulation:
1. You will need to identify and keep current the following information on each job:
a. Job identification number
b. Memory request (in MB)
c. Execution time request
d. Memory assigned (segment number)
e. Execution time remaining (initially same as item c.)
f. Job status: Waiting, Ready, Running, & Finished
2. You will need to maintain the following information on memory:
a. Segment number
b. Size in kilobytes (MB)
c. Whether the segment is in use or not
d. Wasted space (MB)
3. The physical memory of size 256 megabytes is partitioned into seven memory blocks as indicated in the table below.
Fixed-Size Memory Segments
Segment Number
|
Size in MB
|
0
1
2
3
4
5
6
|
32
48
24
16
64
32
24
|