Esempio n. 1
0
        public void check_fifo(RAM_var mem, ref string d, int P)
        {
            int ind;

            if (fifo.Count != 0)
            {
                int    i = 0;
                string nom;
                while (true)
                {
                    switch (P)
                    {
                    case 0:
                        ind = mem.firts_fit(fifo[i].Get_taille());
                        nom = "First Fit";
                        break;

                    case 1:
                        ind = mem.best_fit(fifo[i].Get_taille());
                        nom = "Best Fit";
                        break;

                    case 2:
                        ind = mem.worst_fit(fifo[i].Get_taille());
                        nom = "Worst Fit";
                        break;

                    case 3:
                        ind = mem.Next_fit(fifo[i].Get_taille());
                        nom = "Next Fit";
                        break;

                    default:
                        ind = mem.firts_fit(fifo[i].Get_taille());
                        nom = "First Fit";
                        break;
                    }
                    if (ind >= 0)
                    {
                        d += ">>>> le processus " + fifo[i].name + "  est ajouter a l'emplacement <" + ind + "> avec l'algorithme de :  <<" + nom + ">>\n\n";
                        corriger_prt(ind, mem.allocation_process(ind, fifo[i].Get_id(), fifo[i].Get_taille())); execute_process(fifo[i].Get_id(), ind);
                    }
                    else
                    {
                        break;
                    }
                    i++;
                    if (i >= fifo.Count)
                    {
                        break;
                    }
                }
            }
        }