uando se tiene que elegir a qué proceso asignar la CPU se escoge al que llevara más tiempo listo. El proceso se mantiene en la CPU hasta que se bloquea voluntariamente.
Este código esta hecho en java.
package fifo; /** * * @author MundoChocCacA */ import java.util.LinkedList; import java.util.Queue; import java.util.Iterator; import java.util.*; import java.io.*; public class FIFO { public static void main(String args[]) { Queue<String> fifo = new LinkedList<String>(); int i; int procesos=0; int conta; Scanner sc = new Scanner(System.in); System.out.print("Ingrese el numero los procesos a iniciar: "); procesos = sc.nextInt(); conta=0; for(i=1;i<=procesos;i++) { conta++; System.out.println("Creando nuevo proceso en..."+" ms"+" Numero: P_"+conta); fifo.offer("P_"+Integer.toString(i)); } System.out.println("Numero procesos: " + fifo.size()+" Activos"); conta=0; Object data; while ((data = fifo.poll()) != null) { conta++; try { Thread.sleep(1500); } catch(InterruptedException ex) { Thread.currentThread().interrupt(); } System.out.println("Proceso terminado "+data); } System.out.println("Numero procesos: " + fifo.size()+" Activos"); } }
Link paquete: FIFO