0% encontró este documento útil (0 votos)
300 vistas6 páginas

Algoritmo Fifo

Este documento presenta un algoritmo FIFO (First In First Out) para el despacho de procesos. Incluye la creación de una lista enlazada de procesos con sus tiempos de llegada y ráfaga. Calcula el tiempo de espera, tiempo de ejecución y tiempo de respuesta para cada proceso, y el promedio de estos valores para todos los procesos.

Cargado por

Alan Terrazas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
300 vistas6 páginas

Algoritmo Fifo

Este documento presenta un algoritmo FIFO (First In First Out) para el despacho de procesos. Incluye la creación de una lista enlazada de procesos con sus tiempos de llegada y ráfaga. Calcula el tiempo de espera, tiempo de ejecución y tiempo de respuesta para cada proceso, y el promedio de estos valores para todos los procesos.

Cargado por

Alan Terrazas
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

Escobedo Vázquez Suzette Montserrat

Hernández Morales Adrián


Morales Terrazas Alan Ernesto
De la Presilla Vega Victor Hugo
Algoritmo fifo
Inicio

Análisis:
Cont = 1 FIFO (First In Fist Out)Los procesos se despachan
con algún esquema de prioridad

ENTRADA:

 Tiempo de llegada
Cont<=N
 Tiempo de ejecucuión
OPERACIONES:
 TE= T_E-T-LL(Por cada procesos, tiempo de
Tmp espera)
pN  TT=TE+T_E(Tiempo total en el sistema)
tLlegada
tEntrada
SALIDA:
 Tiempo de espera
Guardar  Tiempo de respuesta

Cont++

Cont=1

Cont<=n

Tmp
pN
tLlegada
tEntrada

Fin
Escobedo Vázquez Suzette Montserrat
Hernández Morales Adrián
Morales Terrazas Alan Ernesto
De la Presilla Vega Victor Hugo

Código
#include <stdio.h>

#include <stdlib.h> //Libreria general

typedef struct nodo{ //Crea la variable de tipo struct

int *tiempo;

int *rafaga;

struct nodo *sig;

}Libro;

Libro *Listaprocesos (Libro *Lista){

Lista = NULL;

return Lista;

Libro *Agregarproceso(Libro *Lista, int *tiempo, int *rafaga) //Método de agregar procesos

Libro *Nuevoproceso, *aux;

Nuevoproceso = (Libro*)malloc(sizeof(Libro));

Nuevoproceso->tiempo = tiempo;

Nuevoproceso->rafaga = rafaga;

Nuevoproceso->sig=NULL;
Escobedo Vázquez Suzette Montserrat
Hernández Morales Adrián
Morales Terrazas Alan Ernesto
De la Presilla Vega Victor Hugo
if(Lista == NULL)

Lista = Nuevoproceso;

else {

aux = Lista;

while(aux->sig != NULL)

aux = aux->sig;

aux->sig = Nuevoproceso;

return Lista;

int main(){

int tiempo[4];

int rafaga[4];

int gr[4];

int ej[4];

int re[4];

int i,j, temp=0, aux=0, aux2=0;

float ejpro=0, repro=0;

for(i=0;i<4;i++)

printf("Ingrese el tiempo de llegada para el proceso ");

scanf("%d", &tiempo[i]);
Escobedo Vázquez Suzette Montserrat
Hernández Morales Adrián
Morales Terrazas Alan Ernesto
De la Presilla Vega Victor Hugo
}

for (i = 0; i < (4 - 1); i++) //Ordenando el arreglo

for (j = i + 1; j < 4; j++)

if (tiempo[j] < tiempo[i])

temp = tiempo[j];

tiempo[j] = tiempo[i];

tiempo[i] = temp;

for(i=0;i<4;i++)

gr[i]=aux;

printf("Ingrese el tiempo de rafaga para el proceso %d "+i);

scanf("%d", &rafaga[i]);

aux=aux+rafaga[i];

aux2=aux2+rafaga[i];

ej[i] = gr[i] - tiempo[i]; //Calculando el tiempo de espera

ejpro=ejpro+ej[i];

re[i] = aux2; //Calculando el tiempo de respuesta


Escobedo Vázquez Suzette Montserrat
Hernández Morales Adrián
Morales Terrazas Alan Ernesto
De la Presilla Vega Victor Hugo
repro=repro+re[i];

Libro *Lista = Listaprocesos(Lista);

Lista = Agregarproceso(Lista, tiempo[i], rafaga[i]); //Manda a llamar al método de


agregar proceso

while(Lista!=NULL)

Lista = Lista->sig;

for(i=0;i<4;i++)

printf("El tiempo de llegada es de: %i\n",tiempo[i]);

printf("El tiempo de ráfaga es de: %i\n",rafaga[i]);

printf("El tiempo de espera es de: %i\n",ej[i]);

printf("El tiempo de respuesta es de: %i\n",re[i]);

printf("\n");

float prome=ejpro/4;

float promre=repro/4;

printf("El tiempo de ejecucion promedio es de: ");

printf("%f \n",prome);

printf("El tiempo de respuesta promedio es de: ");

printf("%f \n",promre);
Escobedo Vázquez Suzette Montserrat
Hernández Morales Adrián
Morales Terrazas Alan Ernesto
De la Presilla Vega Victor Hugo
}

También podría gustarte