Ejemplo n.º 1
0
 public Computador(int cantproces, int[][] configuraciones, ConfColas conac)
 {
     esmultinivel        = false;
     Confactcolas        = conac;
     naturalezasprocesos = new int[cantproces];
     cantcolas           = Confactcolas.cantcolas;
     politicasColas      = Confactcolas.politicasColas;
     quantumcolas        = Confactcolas.quantumcolas;
     maxquantum          = Confactcolas.maxquantum;
     nombrescolas        = Confactcolas.nombrescolas;
     CApropiativa        = Confactcolas.CApropiativa;
     CRealimentada       = Confactcolas.CRealimentada;
     Colasmultinivel     = new List <Queue <int> >();
     for (int i = 0; i < cantcolas; i++)
     {
         Queue <int> colaac = new Queue <int>();
         Colasmultinivel.Add(colaac);
     }
     // configuraciones[rafaga][num_proceso]
     rafagas                 = configuraciones;
     esprimerarespuesta      = new bool[cantproces];
     esprimerarespuestaE     = new bool[cantproces];
     esprimerarespuestaS     = new bool[cantproces];
     rafagas_actuales        = new int[cantproces];
     rafagas_anteriores      = new int[cantproces];
     tiemposfinalizacion     = new int[cantproces];
     tiemposprimerrespuesta  = new int[cantproces];
     tiemposarriboE          = new int[cantproces];
     tiemposfinalizacionE    = new int[cantproces];
     tiemposprimerrespuestaE = new int[cantproces];
     tiemposarriboS          = new int[cantproces];
     tiemposfinalizacionS    = new int[cantproces];
     tiemposprimerrespuestaS = new int[cantproces];
     hayarribo               = false;
     hayarriboE              = false;
     hayarriboS              = false;
     for (int x = 0; x < cantproces; x++)
     {
         //Recuerda la rafaga de CPU que tiene que ejecutar
         rafagas_actuales[x]    = 1;
         rafagas_anteriores[x]  = 0;
         esprimerarespuesta[x]  = true;
         esprimerarespuestaE[x] = true;
         esprimerarespuestaS[x] = true;
     }
     cantidad_procesos = cantproces;
     uCPU         = UEntrada = USalida = -1;
     TRestanteCPU = TRestanteEntrada = TRestanteSalida = 0;
     CPU          = new Queue <int>();
     BEntrada     = new Queue <int>();
     BSalida      = new Queue <int>();
     Entrada      = new Queue <int>();
     Salida       = new Queue <int>();
 }
 public Colas_multinivel(ConfColas miconf, Computador miord, Form1 miform)
 {
     formactual = miform;
     ordenador  = miord;
     nombpol    = new string[4];
     nombpol[0] = "FCFS";
     nombpol[1] = "SJF";
     nombpol[2] = "SRTF";
     nombpol[3] = "Round Robin";
     InitializeComponent();
     configC   = miconf;
     cantcolas = configC.cantcolas;
 }