Vous êtes sur la page 1sur 6

ALGORITMO DE FIFO

import java.io.*; import javax.swing.*;

public class sfifo { char pagi [] = new char [10]; int memoria [] [] = new int [100] [2]; int procesos [] [] = new int [2] [100]; int paginas [] [] = new int [100] [3]; int frente, fin; int contPag; int contMem; int tamMemo; int n=0,t=0; sfifo () { frente = 0; fin = -1; contPag = 0; contMem = 0; tamMemo = 5; }

void insertarProcesos (int numero, int tam)

{ fin++; procesos [0] [fin] = numero; procesos [1] [fin] = tam;

void verProcesos () { int j, k; k = 0; for (int i = frente ; i <= fin ; i++) { System.out.println (procesos [0] [i] + "" + procesos [1] [i]); System.out.println (" paginas del proceso (NumProceso,NumPag,Estado)" + procesos [0] [i]); for (j = k ; j < procesos [1] [i] + k ; j++) { System.out.println (" " + paginas [j] [0] + " " + paginas [j] [1] + "" + paginas [j] [2]); } System.out.println (""); k = k + procesos [1] [i]; //System.out.print(numero + "" + tam + "" + contPag); }

void insertarMemoria (int numeroProceso, int pagina) { if (contMem < tamMemo) { memoria [contMem] [0] = numeroProceso; memoria [contMem] [1] = pagina; contMem++; }

else System.out.println (" Ya no existe espacio en memoria"); }

void verMemoria () { System.out.println ("Estado de memoria"); for (int i = 0 ; i < contMem ; i++) { System.out.println (memoria [i] [0] + "" + memoria [i] [1] + " "); } System.out.println ("\n\t\n\t\n\t\n\t ");

void llenarPagina (int numero, int tam) { int j = 1; for (int i = contPag ; i <= contPag + tam ; i++) { paginas [i] [0] = numero; paginas [i] [1] = j; if (j == 1) { insertarMemoria (numero, j); paginas [i] [2] = 1; } else paginas [i] [2] = 0; j++; }

contPag = contPag + tam; }

void llenarProcesos (int cuantos) {

int numero, tam; for (int i = 1 ; i <= cuantos ; i++) { numero=Integer.parseInt(JOptionPane.showInputDialog(null,"\nInsertar numero")); tam=Integer.parseInt(JOptionPane.showInputDialog(null,"\nInsertar tamano")); n=numero; t=tam; /*numero = Leer.datoInt (); tam = Leer.datoInt ();*/ insertarProcesos (numero, tam); llenarPagina (numero, tam);

} }

void sustitucion (/*int numero, int tam*/) { int aux [][]= new int [100][2]; int aux1 [][]= new int [100][3]; int in; for(int i=0;i<=2;i++) {in=7; aux[i][0]=memoria [i][0]; aux[i][1]=memoria [i][1]; aux1[in][i]=paginas [in][i]; aux1[in+1][i]=paginas [in+1][i];

memoria [i][0]= aux1[in+1][i]; paginas [in][i] = aux[i][1];

memoria [i][1]= aux1[in][i];

paginas [in+1][i] = aux[i][0];

public static void main (String args []) { sfifo fi = new sfifo (); fi.llenarProcesos (3); fi.verProcesos (); fi.verMemoria (); fi.sustitucion(); fi.verProcesos (); fi.verMemoria ();

} }

Vous aimerez peut-être aussi