Prévia do material em texto
<p>SIMULADOR DE MEMÓRIA</p><p>Trabalho Final</p><p>Sistemas Operacionais</p><p>TÓPICOS</p><p>O que o simulador de memória faz?</p><p>Estrutura do código</p><p>FIFO</p><p>LFU</p><p>OPT</p><p>Simulação do acesso</p><p>Estatísticas e Visualização</p><p>Comparação x Desempenho</p><p>O QUE O SIMULADOR DE</p><p>MEMÓRIA FAZ?</p><p>O simulador de gerenciamento de memória que</p><p>desenvolvemos em C++ serve para simular diferentes</p><p>políticas de substituição de páginas. Quando um processo</p><p>solicita acesso à memória e a página não está carregada,</p><p>ocorre uma falha de página. O objetivo é decidir qual</p><p>página deve ser removida para liberar espaço, usando</p><p>políticas de substituição.</p><p>ESTRUTURA DO CÓDIGO</p><p>FIFO (FIRST-IN, FIRST-OUT)</p><p>A página que foi carregada há mais tempo é removida.</p><p>Se a página solicitada não está na</p><p>memória (it == memory.end()),</p><p>removemos a página mais antiga</p><p>com memory.erase(memory.begin()).</p><p>Adicionamos a nova página e</p><p>contabilizamos a falha de página.</p><p>LFU (LEAST FREQUENTLY</p><p>USED)</p><p>A política LFU remove a página menos acessada.</p><p>Se a página está na memória, a</p><p>frequência de acesso é incrementada.</p><p>Se não está, removemos a página</p><p>com a menor frequência, usando</p><p>std::min_element para encontrar a</p><p>menos usada.</p><p>OPT (ÓTIMA)</p><p>A política Ótima remove a página que será acessada</p><p>mais tarde no futuro (ou que não será mais acessada).</p><p>Utilizamos um vetor de referências</p><p>futuras (future_references) para</p><p>prever qual página será usada mais</p><p>tarde.</p><p>A página que será acessada mais</p><p>longe no futuro ou que não será mais</p><p>acessada é removida.</p><p>SIMULAÇÃO DO ACESSO</p><p>Dependendo da política escolhida</p><p>(FIFO, LFU, OPT), a função</p><p>correspondente é chamada.</p><p>O método mantém o controle das</p><p>solicitações e falhas de página.</p><p>ESTATÍSTICAS E</p><p>VISUALIZAÇÃO</p><p>A função print_statistics() exibe o</p><p>número total de solicitações e falhas</p><p>de página.</p><p>A função display_frames() exibe as</p><p>páginas presentes na memória a</p><p>cada passo.</p><p>FIFO LFU OPT</p><p>ALGORÍTMOS</p><p>Simples, mas pode levar a</p><p>falhas desnecessárias.</p><p>Mais eficiente, mas pode</p><p>manter páginas não tão</p><p>relevantes.</p><p>Ideal teoricamente, mas</p><p>depende de prever o</p><p>futuro.</p><p>CONSIDERAÇÕES</p><p>Este simulador ajuda a estudar o</p><p>comportamento de cada política em</p><p>diferentes cenários, proporcionando uma</p><p>visão prática do gerenciamento de memória.</p><p>DESEMPENHO</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXXXXXXXXXXXXXXX</p><p>XXXXXXXXXXX</p><p>Competição</p><p>45.5%</p><p>Falta de produtos</p><p>22.7%</p><p>Mão de obra</p><p>20.5%</p><p>Clima</p><p>11.4%</p>