Beispiel #1
0
        public clsMarco(clsMarco M)
        {
            this.Proceso = M.Proceso;
            this.Estatus = M.Estatus;
            this.Memoria = new bool[M.Memoria.Count()];

            for (int i = 0; i < M.Memoria.Count(); i++)
            {
                Memoria[i] = M.Memoria[i];
            }
        }
        public clsMarco removeMarco(int ID)
        {
            clsMarco M = new clsMarco(Marcos[ID]);

            Marcos[ID].Estatus = (int)Estatus.Disponible;
            Marcos[ID].Proceso = 0;
            for (int j = 0; j < SizeMarco; j++)
            {
                Marcos[ID].Memoria[j] = false;
            }

            return(M);
        }
        public void addMarco(clsMarco M)
        {
            if (!canAccess(1))
            {
                return;
            }

            for (int i = 0; i < Size; i++)
            {
                if (Marcos[i].Estatus == (int)Estatus.Disponible)
                {
                    Marcos[i].Proceso = M.Proceso;
                    Marcos[i].Estatus = M.Estatus;
                    Marcos[i].Memoria = M.Memoria;
                    break;
                }
            }
        }