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

            nova.activate();
            paginas.AddLast(nova);
            return(nova);
        }
コード例 #3
0
        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);
            }
        }
コード例 #4
0
 public pagina storeAndGetNew(pagina swapped)
 {
     swapped.deactivate();
     paginas.AddLast(swapped);
     return(new pagina(Convert.ToString(++escalonador.identificadorProxPagina), ram, this, escalonador, pagesize));
 }
コード例 #5
0
 public void swapPage(pagina swapped, pagina needed)
 {
     paginas.AddAfter(paginas.Find(swapped), needed);
     paginas.Remove(swapped);
     hd.swapPage(swapped, needed);
 }