示例#1
0
        private void procesador(ref MemoryRAM memoria, List <proceso> procesos, int i)
        {
            for (int j = 0; j < procesos.Count(); j++)
            {
                //Comprobamos que el proceso finaliza
                finalizaElemento(ref memoria, procesos, i, j);

                //ignoramos o introducimos elementos con tiempo de inicio "i"
                //sincronizacionDeProcesos(ref memoria, procesos, ref textShow, ref ram, ref contador, j, i);


                if (j < procesos.Count() && !procesos.ElementAt(j).getSave() && procesos.ElementAt(j).getLlegada() <= i)
                {
                    if (procesos.ElementAt(j).getMemoria() + memoria.getRam() <= 2000)
                    {
                        if (memoria.analizarProceso(procesos.ElementAt(j), form.getMetodo()))
                        {
                            actualizar(memoria); //insertamos el proceso
                        }
                        //MessageBox.Show("Veamos: " + memoria.getProceso(0).toString() + memoria.getProceso(1).toString());
                    }
                    else
                    {
                        //Este proceso no cabe, por lo que es eliminado e ignorado.
                        //MessageBox.Show("Proceso omitido: " + procesos.ElementAt(j).toString());
                        procesos.ElementAt(j).setLlegada((procesos.ElementAt(j).getLlegada() + 1).ToString());
                    }
                }
            }
        }