|
Acadêmico(a): Gustavo Moritz |
Título: Simulador de Mecanismos de Gerência de Memória Real e Virtual |
|
Introdução: |
Um problema comum a professores e alunos de disciplinas na área da Ciência da Computação, tais como arquitetura de computadores e sistemas operacionais, é a relativa dificuldade em caracterizar a real dinâmica dos eventos computacionais. Por melhor que sejam o conhecimento e a comunicação do mestre, o raciocínio e a atenção dispensados pelos alunos, o perfeito entendimento dos conceitos abordados fica comprometido pela estática inerente da abordagem das disciplinas.
Na maioria dos cursos de ciência da computação, quer sejam graduação, mestrado, pós-graduação ou extensão é oferecida uma ou mais disciplinas voltadas especificamente para o ensino da arquitetura de sistemas operacionais. Estas disciplinas são a base de conhecimento conceitual para que os alunos tenham a compreensão do funcionamento de sistemas operacionais em uso atualmente, como as diversas versões do Unix (Linux, Solaris, AIX, FreeBSD etc.) e a família Windows da Microsoft.
O modelo tradicional de aula em que o professor segue uma bibliografia e um cronograma rígido de aulas, não é suficiente para que a maioria dos alunos tenha uma compreensão precisa do que está sendo ensinado. O problema não está no modelo de ensino, baseado no comportamentalismo, mas na falta de ferramentas capazes de traduzir os conceitos teóricos apresentados em conceitos práticos (MAIA, 2001, p. 13).
Apesar de todo o trabalho desenvolvido para facilitar o ensino e aprendizado de sistemas operacionais, existe um problema que o material impresso não resolve. Por melhores que sejam os professores e alunos, a apresentação da dinâmica dos algoritmos e mecanismos implementados limita-se à visualização de uma pequena seqüência de eventos que tenta representar um grande número de situações. Por exemplo, o mecanismo de gerência de memória, que envolve tabelas de mapeamento e tradução de endereços, é extremamente difícil de ser apresentado de forma clara, devido à sua dinâmica e complexidade.
Num ambiente de multiprogramação, diversos processos são executados simultaneamente, através da divisão do tempo do processamento. Para que o chaveamento entre eles seja rápido, esses processos devem estar na memória, prontos para executar. É função do mecanismo de gerência de memória do sistema operacional prover os mecanismos necessários para que os diversos processos compartilhem a memória de forma segura e eficiente (OLIVEIRA, 2000, p. 97).
Na memória principal residem todos os programas e dados que serão executados ou referenciados pelo processador. Um programa residente na memória secundária para ser executado deve ser, de alguma forma, carregado para a memória principal. A organização e gerência da memória principal têm sido fatores importantes no projeto de sistemas operacionais. Enquanto nos sistemas monoprogramáveis a gerência da memória não é muito complexa, nos sistemas multiprogramáveis ela torna-se crítica. Isso ocorre devido à necessidade de se manter o maior número de processos possível utilizando a memória eficientemente, tornando sua gerência muito mais difícil.
Existem inúmeros mecanismos de gerência de memória, como alocação contígua, esquemas de overlay, alocação particionada estática e dinâmica e memória virtual. Mesmo a gerência de memória virtual pode ser implementada utilizando-se paginação, segmentação ou uma mistura de ambos (MAIA, 2001, p. 45).
O presente trabalho tem por objetivo a construção de um simulador gráfico que sirva de ferramenta visual de suporte efetivo para o ensino e aprendizado dos conceitos e técnicas de gerência de memória virtual implementados nos sistemas operacionais atuais, objetivando tornar este processo de ensino mais fácil e eficaz.
|
|
|