CPU Scheduling and Operating System in Java - 02/05/2018 03:40 EDT

En curso Publicado hace 5 años Pagado a la entrega
En curso Pagado a la entrega

Objectives

The purpose of this programming project is to gain some experience involving the design of a few OS components by simulation. These components include CPU management and scheduling, process management, system queues, system statistics gathering and reporting.

System Description:

The User Processes:

All processes created in this system fall under any one of the following types:

Type-1: Consists of:

10 CPU bursts of the following lengths: (1,2,1,1,1,3,1,2,2,1) Time Units,

9 I/O bursts of the following lengths: (6,4,10,3,5,3,2,10,6) Time Units.

Type-2: Consists of:

15 CPU bursts of 50 Time Units each, and

14 I/O bursts of 150 Time Units each.

Type-3: Consists of:

12 CPU bursts of 1000 Time Units each, and

11 I/O bursts of 5 Time Units each.

Type-4: Consists of:

A repeated pattern of (CPU, I/O1, Think, I/O2), where:

Each CPU burst takes 3 Time Units,

Each I/O1 burst takes 3 Time Units,

Each I/O2 burst takes 10 Time Units,

Think time takes 60 Time Units.

Any of the types above can be created at any time. Type-4 has a maximum of N instances. No new processes of this type can be created after this limit. Processes of Type-1 to Type-3 terminate after executing their last CPU burst, while processes of Type-4 never terminate, they cycle through their pattern forever. Assume that a process in its think period stays out of the Ready Queue, say in a special list.

What to do:

Write a Java program to simulate the above system. The input to the program should be through command-line parameters as follows:

1. The total number of time steps for the run, S, integer > 100; default = 100.

2. The ready queue type, integer, 1:FCFS, 2:SJF, 3:RR, 4:MLFQ, 5:lottery; default = 1.

3. The minimum quantum size, Q, to use as a basis of RR and MLFQ, integer > 0; default = 1.

4. The maximum number of Type-4 jobs, N, integer [0 .. 100]; default = 5.

5. The expected number of new jobs arriving per time unit, v, double [0 .. 1]; default = 0.5.

6. If implemented, the minimum number of tickets, t, integer > 0; default = 5.

7. If implemented, the maximum number of tickets, T, integer > t; default = 100.

8. If implemented, the speed of giving/taking tickets, c , multiple of Q, integer > 0; default = 0.

Choose an appropriate value for Q and v, Let N=20 and S=100,000 and run your program 5 times using the same values of Q, v, N, and S but each time with a different Queue type. Also, if implemented, choose suitable values for lottery parameters, t, T, and c. Show the contents of all system queues, only for the first 20 time steps. After each run, your output should also show all your input values, the queue type used, and all the statistics reported by the statistics-collecting module.

PS: A design document is required

Ingeniería Java Programación Arquitectura de software

Nº del proyecto: #16858927

Sobre el proyecto

6 propuestas Proyecto remoto Activo hace 5 años

6 freelancers están ofertando un promedio de $203 por este trabajo

drredict

Already got several Scheduling algos prepared, just need to rewrite them and merge them to the full program

$150 USD en 2 días
(4 comentarios)
2.8
ossaichi38

A proposal has not yet been provided

$166 USD en 1 día
(0 comentarios)
0.0
techsolve7

Dear Prospect Hiring Manager. Thank you for giving me a chance to bid on your project. i am a serious bidder here and i have already worked on a similar project before and can deliver as u have mentioned "I can do Más

$208 USD en 10 días
(0 comentarios)
0.0