Beispiel #1
0
 public void swapPage(pagina swapped, pagina needed)
 {
     swapped.deactivate();
     needed.activate();
     paginas.AddAfter(paginas.Find(needed), swapped);
     paginas.Remove(needed);
 }
        public pagina storeAndGetNew(pagina swapped)
        {
            pagina nova = hd.storeAndGetNew(swapped);

            nova.activate();
            paginas.AddLast(nova);
            return(nova);
        }
        public memoriaPrincipal(int tamanho, int pagesize, Scheduller escalonador)
        {
            tamanho_total    = tamanho;
            paginas          = new LinkedList <pagina>();
            tamanho_ocupado  = 0;
            this.pagesize    = pagesize;
            this.escalonador = escalonador;
            int quantPag = tamanho / pagesize;

            while (quantPag-- > 0)
            {
                pagina nova = new pagina(Convert.ToString(++escalonador.identificadorProxPagina), this, hd, escalonador, pagesize);
                nova.activate();
                paginas.AddLast(nova);
            }
        }