trabalho prático 1 de aeds 3
Departamento de Ciência da Computação
Algoritmos e Estruturas de Dados III 2o
Semestre de 2014
Trabalho Prático 1 - Sistemas de Memória Virtual
Esse trabalho tem como objetivo a implementacao de um simulador de sistema de mem´ ria vir¸˜ o tual (SMV). Sistemas de mem´ ria virtual fornecem uma abstra¸ ˜ o para a hierarquia de mem´ ria o ca o de uma dada arquitetura de modo que programas clientes enxerguem um unico espaco de en´
¸
derecamento sequencialmente acess´vel. Nesse trabalho o aluno deve implementar uma versao sim¸ ı ˜ plificada de um SMV de modo a exercitar os conceitos de gerenciamento de mem´ ria e localidade o de referˆ ncia. e Problema
O SMV a ser implementado é composto por uma memória primária (RAM) e uma memória secundária (apenas um nível de transferência de dados). A entrada do problema consiste em uma sequência de acessos a posições do espaço de endereçamento virtual visível ao processo. Os dados que residem nessas posições podem estar armazenados em memória primária (page hit) ou armazenados em disco (page miss, page fault ou falha). Em sistemas reais uma verificação deve ser feita para garantir que essa posição pertença tenha permissão de acesso ao processo requerente, caso contrário, um erro deve ser emitido (segmentation fault). Para simplificar, considere que todos os acessos são permitidos e do tipo leitura.
Uma vez feito um acesso, o sistema implementado deve primeiro verificar se os dados requeridos residem em memória primária. SMVs utilizam o conceito de página, que representa um bloco de dados e funciona como uma unidade indivisível de movimentação de dados. Se um dado foi acessado e precisa ser carregado em memória primária, toda a página onde o dado reside será carregada também.
A página é carregada no que é chamada moldura de página (page frame). Portanto, quando um dado é acessado, deve-se saber em qual página esse dado está e se tal página reside em memória