Prática de Implementação: Simulação da Alocação da Memória e Substituição de Páginas
27 de dezembro de 2024 (última atualização)
Objetivos
São dois os objetivos gerais desta prática:
- Permitir o exercício de conceitos e algoritmos de gerência da memória (alocação de quadros de modo igual, alocação de quadros de modo proporcional, tamanho de processos em número de páginas);
- Implementar mecanismos e políticas fundamentais para o funcionamento de sistemas operacionais, como alocação de quadros e políticas de substituição.
O que deve ser feito
Deve-se implementar as 5 políticas de substituição de páginas estudadas em sala (FIFO, OPT, LRU, LFU, MFU) e propor uma nova política de substituição (MY). A política MY não pode se valer de informações do futuro e deve ser inédita. Todas as implementações devem ser parte de um mesmo projeto. O programa principal deste projeto deve ler um arquivo de entrada (como o exemplificado abaixo), executar as 6 políticas de substituição e, com base nos resultados obtidos, gerar um arquivo de saída (como o exemplificado abaixo).
Exemplo do Formato do Arquivo de EntradaTamanho(quadros)=3 Processos(páginas): P1=10 P2=30; Alocação=Igual Substituição=Local Sequência: P1,7 P1,0 P1,1 P2,2 P2,0 P2,3 P1,0 P1,4 P1,2 P1,3 P2,0 P2,3 P2,2 P2,1 P1,2 P1,0 P1,1 P1,7 P1,0 P1,1;Exemplo do Formato do Arquivo de Saída
Requisições=?? TaxasDeErros: FIFO=?,?? OPT=?,?? LRU=?,?? LFU=?,?? MFU=?,?? MY=?,??
Note que, o tamanho da memória, o número e tamanho de processos, a política de alocação da memória e a sequência de referência são dependentes do arquivo de entrada. Ou seja, tais parâmetros podem mudar dependendo do arquivo de entrada utilizado. Para teste das implementações, serão utilizados diversos arquivos de entrada diferentes. Alguns testes das implementações serão automáticos, portanto, o arquivo de saída deve seguir rigorosamente o formato exemplificado acima.
Material de Apoio
- "Memória Virtual: Algoritmos de Substituição de Páginas"
- "BitTorrent traffic from a caching perspective" mostra as políticas de substituição sendo aplicadas no contexto mais amplo de Caching Web e BitTorrent