Write some Software -- 2

Cerrado Publicado hace 7 años Pagado a la entrega
Cerrado Pagado a la entrega

Objective

In this project, you will simulate a small part of operating system. You will gain knowledge of how operating system works. Moreover, you will measure the performance of various techniques, which will further enhance your understanding of the topic. Most importantly, you will show various statistics that reflects the efficiency of the techniques of interest and show some modification to the technique to enhance the overall performance.

System Description:

Consider a simple system with a single CPU, single I/O device. The CPU has a ready queue and an I/O queue. The system will serve several jobs sent in specified time one by one. You are required to simulate two different scheduling algorithms:

1. Shortest Job First (SJF non pre-emptive)

2. Round Robin (RR) assume quantum = 10ms

However, once job is admitted to the ready queue, the state of the job switches to ready.

Each job has PCB that contains all required information to identify the job such as its id, its state, and required statistics which include job nature (CPU bound or IO bound), turnaround time for each job, and waiting time for each job. You can add other fields to PCB to help you in programming. Your program should provide average turnaround time, average waiting time, and CPU utilization for a given input file.

Possible Operations

Start timer from zero to check for arrival time of process/job.

Create Ready queue

Start reading the file

Create job queue

Read the file for each job (a line from input text file) (using thread)

Create PCB

Put PCB in job queue

Note: File reading should be performed in an independent thread that creates the PCBs and put them in the job Queue.

Check time if first job has arrived in job queue

Move job to ready queue (using thread). Apply scheduling algorithm

Structure of input file

Input to the program is from a text file. The file contains job/process ID, its arrival time and then a sequence of CPU bursts and IO requests as CSV.

For each job/process there could be a varying number of CPU bursts and IO requests as shown below.

ID;Arrival time;CPU Burst;IO;CPU;IO;CPU;IO;…;CPU

Example file

1;500;CPU:20;IO:5;CPU:40;IO:15;CPU:70;IO:3;CPU:1

2;700;CPU:60;IO:15;CPU:1

Notes

Your application must use threads (minimum two).

Assume I/O requests finish in the order of submission.

Context switching time is zero.

Use physical timer.

Show how to run your program and submit the implantation, results, and output files.

Programación en C Programación en C++ Ingeniería Java Arquitectura de software

Nº del proyecto: #12333289

Sobre el proyecto

2 propuestas Proyecto remoto Activo hace 7 años

2 freelancers están ofertando un promedio de $54 por este trabajo

octopus823

Hi, I'm a OS expert experienced C/C++/ObjC developing. I studied your PRD and can do it surely. I can develop almost kinds of C/C++/ObjC codes for any OS : Windows, Linux, MAC OS X... I can use almost of develop lib Más

$84 USD en 1 día
(103 comentarios)
7.3
ITbeckham7

Hi,how are you?Thank you for taking the time to review our Bid. in my opinion "Quality is never an accident." My first aim to provide u quality and professional task. It will really be a great opportunity for us Más

$50 USD en 1 día
(54 comentarios)
5.8
CarlHoffmann

Hi,Client. I am an expert in the electronic fields. I have many experience in circuit design, PCB design, firmware and embedded software, LabView. I had developed many products ago using various microcontroller inc Más

$40 USD en 2 días
(1 comentario)
0.7
mascotsoft4

Dear Client, Greeting of the day ahead !!! Thanks for providing us opportunity to place bid over the project and communicate with you. I am a serious bidder here and i have already worked on a similar project befor Más

$23 USD en 6 días
(1 comentario)
1.3