public FormTablaProcesos(int Tiempo, Proceso Ejecucion, Cola Nuevos, Cola Listos, List <Proceso> Bloqueados, List <Proceso> Terminados)
        {
            InitializeComponent();
            this.Tiempo = Tiempo;

            while (Nuevos.Count > 0)
            {
                Nuevo.Add(Nuevos.Dequeue());
            }
            foreach (Proceso p in Nuevo)
            {
                Nuevos.Enqueue(p);
            }

            while (Listos.Count > 0)
            {
                Listo.Add(Listos.Dequeue());
            }
            foreach (Proceso p in Listo)
            {
                Listos.Enqueue(p);
            }
            RecuperarSuspendidos();

            this.Bloqueados = Bloqueados;
            this.Terminados = Terminados;
            this.ejecucion  = Ejecucion;

            cargarListas();
        }
示例#2
0
        public FormProcesamientoDeLotes(Form Anterior, Cola Nuevos, int ultimo, Random rnd, int quantum)
        {
            InitializeComponent();
            this.Nuevos   = Nuevos;
            this.Anterior = Anterior;
            timer1.Stop();
            this.ultimo  = ultimo;
            this.rnd     = rnd;
            this.quantum = quantum;
            AuxQ         = quantum;

            Proceso so1 = new Proceso("1+1", 0, 0, 0, 0);

            so1.estado = "Sistema Operativo";
            Frame f1 = new Frame();
            Frame f2 = new Frame();

            f1.proceso = so1;
            f2.proceso = so1;
            MemoriaReal.Add(f1);
            MemoriaReal.Add(f2);

            var file = new FileStream(arcSus, FileMode.Create);

            file.Close();

            for (int i = 1; i <= memoriaF; i++)
            {
                foreach (Control c in tableLayoutPanel5.Controls)
                {
                    if (c.Name == "buttonR" + i)
                    {
                        MR.Add(c as Button);
                    }
                    if (c.Name == "buttonV" + i)
                    {
                        MV.Add(c as Button);
                    }
                }
            }

            for (int i = 1; i <= memoriaF - 2; i++)
            {
                Frame f = new Frame();
                MemoriaReal.Add(f);
                //f.nf = i;
            }
            for (int i = 1; i <= memoriaF; i++)
            {
                Frame f = new Frame();
                MemoriaVirtual.Add(f);
                //f.nf = i;
            }

            foreach (Proceso p in Nuevos)
            {
                ProcesosPendientes++;
            }

            timer1.Interval = 500;
            timer3.Interval = 250;
            LlenarFrames();

            cargarListas();
        }