Implementación de Scheduling Priority (preventiva) algoritmo usando C ++

En este artículo, vamos a aprender sobre algoritmo de programación de prioridad (preventiva) y la implementación de este algoritmo usando C ++ programa .

Preferente: 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:

El tiempo de espera

  • utilización de la CPU
  • Rendimiento
  • La hora de llegada
  • El tiempo de respuesta
  • 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.

prioridad de programación del algoritmo

En esta prioridad algoritmo se define por la fabricación del sistema operativo, a veces asumimos número mínimo tiene mayor prioridad o vice-versa.

En mi algoritmo que utilizará el número superior tiene medios de mayor prioridad de proceso que tiene mayor prioridad serán horario en primer lugar.

programa en C ++ Prioridad Algoritmo

//Implementation of Priority(Preeemptive) Using C++
#include <iostream>
#include <algorithm>
#include <string.h>
using namespace std;
typedef struct proccess
{
int at,bt,ct,ta,wt,btt,pr;
string pro_id;

}schedule;
bool compare(schedule a,schedule b)
{
return a.at<b.at;

}
bool compare2(schedule a,schedule b)
{
return a.pr>b.pr;

}
int main()
{
schedule pro[10];
int n,i,j,pcom;
cout<<"Enter the number of process::";
cin>>n;
cout<<"Enter the Process id arrival time burst time and priority :::";
for(i=0;i<n;i++)
{
cin>>pro[i].pro_id;
cin>>pro[i].at;
cin>>pro[i].bt;
pro[i].btt=pro[i].bt;
cin>>pro[i].pr;
}
sort(pro,pro+n,compare);

i=0;
pcom=0;
while(pcom<n)
{
for(j=0;j<n;j++)
{
if(pro[j].at>i)
break;
}
sort(pro,pro+j,compare2);
if(j>0)
{
for(j=0;j<n;j++)
{
if(pro[j].bt!=0)
break;
}
if(pro[j].at>i)
i+=pro[j].at-i;
pro[j].ct=i+1;
pro[j].bt--;
}
i++;
pcom=0;
for(j=0;j<n;j++)
{
if(pro[j].bt==0)
pcom++;
}
}
for(i=0;i<n;i++)
{
pro[i].ta=pro[i].ct-pro[i].at;
pro[i].wt=pro[i].ta-pro[i].btt;
//before executing make it in one statement
cout<<pro[i].pro_id<<"t"<<pro[i].at<<"t"<<pro[i].btt<<"t"<<pro[i].ct<<"t"<<pro[i].ta<<"t"<<pro[i].wt<<"t"<<pro[i].pr;
cout<<endl;
}
return 0;
}

salida

Implementation of Priority Scheduling (Pre-emptive) algorithm using C++ - 4


Deja un comentario

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