Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- if(entrada_pag_victima->modificado==true){
- //Busco los datos en memoria de la página víctima
- char* datos_pagina_victima = datos_pagina_en_memoria(entrada_pag_victima->nro_marco);
- //Busco el id de la página víctima
- int pagina_victima = list_get_index(tablaDePaginas,&pid);
- //Escribo la página víctima en memoria
- escribirEnSwap(pagina_victima,datos_pagina_victima,pid);
- //Le pido al swap la página
- char* datos_pagina = leerDeSwap(pid,pagina);
- //Guardo la nueva página en la memoria
- char* espacioEnMemoria = (memoria_principal+(entrada_pag_victima->nro_marco*config_umc->marco_size));
- memcpy(espacioEnMemoria,datos_pagina,config_umc->marco_size);
- //Actualizo la entrada a la tabla de la página
- entrada_pag_pedida->nro_marco=entrada_pag_victima->nro_marco;
- entrada_pag_pedida->presencia=true;
- //Cambio el bit de presencia y limpio el frame de la página que acabo de sacar
- entrada_pag_victima->presencia=false;
- entrada_pag_victima->nro_marco=-1;
- entrada_pagina = entrada_pag_pedida;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement