Llegan tres procesos sean los cuales A = 23 , B = 12 y C = 1
Tiempo de espera de A es 0 ya que es el primero en llegar
A = 0
Tiempo de espera de B es 23 ya que espero a la ejecución del A
B = 0
Tiempo de espera de C es de 35 por la espera de los procesos A y B
C=0
Ahora seguimos a la parte del código el cual esta realizado en el lenguaje Java.
Este es el método que hace todos los cálculos
public void fcfs(){ //Se define el número de procesos tamar=Integer.parseInt(nprocesos.getText()); //Inicialización de Variables para el almacenamiento de los datos int p[] = new int[tamar]; int co[] = new int[tamar]; int es[] = new int[tamar]; int vuelta[] = new int[tamar]; //Entrada de los valores de Cada procesos for (int i = 0; i < tamar; i++) { co[i] = p[i] = Integer.parseInt(JOptionPane.showInputDialog("introduza el tamanio " + "del proceso [" + (i + 1) + "]")); } //se imprime el valor de cada uno de los procesos for (int i = 0; i < p.length; i++) { txtoriginales.append("\nP[" + (i + 1) + "] : " + p[i] + "\t"); } vuelta[0] = 0; //Se calcula el total de rondas que tadan los procesos for (int i = 1; i < tamar; i++) { vuelta[i] = vuelta[i - 1] + co[i - 1]; total = total + vuelta[i]; } //se calcula el tiempo de espera de cada una de los procesos for (int i = 0; i < p.length; i++) { es[i] = vuelta[i] + co[i]; tiempo_espera += vuelta[i]; tiempo_ida += es[i]; } //Impresion de los datos Calculados txtesta.append("\nProceso\ttamanio\tespera\tida" ); for (int i = 0; i < p.length; i++) { txtesta.append("\np[" + (i + 1) + "] \t " + co[i] + "\t " + vuelta[i] + "\t" + es[i]); } //Se Calcula el promedio de las rondas y de las esperas de los procesos promedioespera.setText(""+ (tiempo_espera / tamar)); promedioida.setText(""+ (tiempo_ida / tamar)); }
Espero haya sido de ayuda.
Aquí te dejo el código:
No hay comentarios.:
Publicar un comentario