Las implementaciones de algoritmo de planificación FCFS usando C ++

En este artículo, vamos a aprender sobre En primer llegado primer servido algoritmo (FCFC) utilizando la programación C ++ programa .

Programación

Programación puede explicarse como para programar un proceso en el CPU (Central Processing Unit), con la ayuda de algunos algoritmos que se dan a continuación:

  • FCFS
  • SJF (no preventivo)
  • SJF (preventiva)
  • prioridad (no preventivo)
  • prioridad (preventiva)
  • Round Robin
  • LJF
  • HRRN

no preventiva: no podemos eliminar un proceso hasta que la completa ejecución.

preventiva: Si un proceso de mayor prioridad viene a continuación, la primera CPU será asignar al proceso con mayor prioridad en primer lugar.

criterios de programación nos dice que cualquier algoritmo es la cantidad eficiente, se dan los criterios class de programación a continuación:

  • utilización de la CPU
  • Rendimiento
  • La hora de llegada
  • El tiempo de vuelta
  • espera
  • tiempo

  • tiempo de ejecución
  • tiempo Burst

* Listo cola es una cola en la que todos los procesos esperan para comenzar el CPU main su ejecución.

utilización de la CPU: La cantidad de tiempo de CPU está ocupada.

Throughput: El número de proceso calculado por unidad de tiempo.

hora de llegada: El momento en que el proceso de entrada en cola de listos.

El tiempo de vuelta: El intervalo entre el momento de la presentación de un proceso a la hora de finalización.

Tiempo de espera: La cantidad total del tiempo de un proceso pasa en cola de listos.

Tiempo de ejecución: El momento en que el proceso finaliza su ejecución.

tiempo de ráfaga: El tiempo necesario para que se complete la CPU para su ejecución.

por orden de llegada (FCFS) Algoritmo

Como su nombre indica en este proceso algoritmo son horario de acuerdo a su hora de llegada, el proceso que lo primero será programada primero y será en la CPU hasta que se complete estalló hora.

Programa ++ C FCFS Scheduling

//Implementation fo FIRST COME FIRST SERVE Using C++
#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
struct Schedule
{
string pro_id;
int artime,bt,ct,ta,wt;

};
bool compare(Schedule p1,Schedule p2)
{
return p1.artime<p2.artime;

}
int main()
{
Schedule process[100];
//An array of Processes
int cpunon=0;
int n,i;
//n = number of processes, i= iteration variable
float percentage;
printf("Enter the number of process::");
scanf("%d",&n);
printf("Enter the pro_id arrival time and brust time of n processn");
for(i=0;i<n;i++)
{
cin>>process[i].pro_id;
scanf("%d",&process[i].artime);
scanf("%d",&process[i].bt);
}
sort(process,process+n,compare);

cpunon=process[0].artime-0;
// initial values
process[0].ct=process[0].artime+process[0].bt;
process[0].ta=process[0].ct-process[0].artime;
process[0].wt=0;
for(i=1;i<n;i++)
{
if(process[i].artime<=process[i-1].ct)
{
process[i].ct=process[i-1].ct+process[i].bt;
process[i].ta=process[i].ct-process[i].artime;
process[i].wt=process[i].ta-process[i].bt;
}
else
{
process[i].ct=process[i].bt+process[i].artime;
process[i].ta=process[i].ct-process[i].artime;
process[i].wt=process[i].ta-process[i].bt;
cpunon+=process[i].artime-process[i-1].ct;
}
}
percentage=(float)((process[n-1].ct-cpunon)/process[n-1].ct)*100;
cout<<"OUTPUT"<<endl;
for(i=0;i<n;i++)
{
//keep all statements in one line
cout<<process[i].pro_id<<" "<<process[i].artime<<" "
<<process[i].bt<<" "<<process[i].ct<<" "
<<process[i].ta<<" "<<process[i].wt;
cout<<endl;
}
return 0;
}

salida

Implementations of FCFS scheduling algorithm using C++ - 4


Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *