IMPRIMIRVOLTAR
A. Ciências Exatas e da Terra - 2. Ciência da Computação - 15. Sistemas Operacionais
FERRAMENTA PARA O ENSINO DE SISTEMAS OPERACIONAIS PARA A GRADUAÇÃO
Mauro Henrique Mulati 1   (autor)   mhmulati@yahoo.com.br
Rogério Aparecido Gonçalves 1   (autor)   rogerio@din.uem.br
Valdemir Pedro da Silva 1   (autor)   valdps@din.uem.br
Ronaldo Augusto de Lara Gonçalves 1   (orientador)   ronaldo@din.uem.br
1. Departamento de Informática, Universidade Estadual de Maringá - UEM
INTRODUÇÃO:
Este trabalho foi desenvolvido para auxiliar no aprendizado e na prática dos conceitos apresentados em sala de aula para a disciplina de Sistemas Operacionais, pois tal disciplina faz parte do currículo mínimo defendido para os cursos de graduação da área de ciência da computação. Este fato se deve à sua importância na integração dos conhecimentos de software e hardware, além de que o conhecimento prático desta disciplina é uma necessidade inerente ao desenvolvimento de sistemas computacionais, sendo difícil imaginar atualmente um profissional da área desconhecedor desta temática.
Uma das dificuldades no ensino desta disciplina está no fato de a mesma requerer grande carga teórica, que deixa muitos alunos desmotivados. Embora em muitos cursos ela seja ministrada também em laboratório, alguns problemas ainda persistem: 1) nem sempre os cursos estão equipados adequadamente; 2) nem sempre os laboratórios podem ser reservados para a disciplina, de forma a preservar as configurações necessárias; 3) nem sempre os professores têm o perfil prático necessário e 4) a disciplina continua sempre precisando de teoria antes da prática.
Com o objetivo de auxiliar na solução destes problemas, permitindo a visualização das estruturas internas e dos efeitos das suas funções de gerenciamento, bem como permitindo o desenvolvimento de aplicativos que possam ser escalonados e executados de forma multiprogramada, o SOS (Sistema Operacional Simulado) foi desenvolvido e é apresentado neste trabalho, contendo características visuais e funcionais apropriadas ao ensino de graduação.
METODOLOGIA:
Foi definido um processador simulado para um conjunto próprio de instruções, um montador de linguagem de mnemônicos que lê o arquivo fonte e o converte para o código executável binário, o sistema operacional simulado propriamente dito, sendo este composto de vários módulos de gerenciamento comumente existentes em um sistema operacional.
No contexto do sistema operacional simulado, foram implementados os gerenciadores para os recursos do sistema sendo eles: o Gerenciador de Memória, o Gerenciador de Prompt, e o Gerenciador de Disco.
Tentou-se reproduzir o que realmente ocorre em um SO real, os processos do sistema também possuem um código de máquina, escrito com as mesmas instruções que podem ser encontradas em um processo do usuário.
O procedimento de Criação é encarregado de criar tanto os processos do sistema quanto os processos do usuário. Ao ser invocado cria o BCP (Bloco de Controle de Processo) como todas as informações necessárias para a execução do processo. Neste BCP estão armazenadas informações tais como: Nome do Processo, suas variáveis, um ponteiro para sua tabela de páginas e alguns buffers para informações. Assim que cria o BCP do processo o gerente de criação insere este na fila de prontos para execução.
Para que a execução fique uniforme tanto os processos do sistema quanto os processos do usuário são criados pelo procedimento de criação utilizando o mesmo conjunto de instruções, não havendo assim distinção no nível de execução entre tais processos.
RESULTADOS:
A interface do simulador é apresentada de forma dividida em blocos seguindo a modularização interna do sistema e procura mostrar de forma simplificada os conceitos de escalonamento dos processos, as transições entre as filas, configurações e gerenciamento de memória e conteúdo dos registradores. Através dela é possível a visualização das estruturas e controles do simulador.
O funcionamento da memória é basicamente: Gravar e Ler. O conteúdo da memória é disponibilizado em uma janela específica. Na mesma tela o usuário pode configurar com qual tamanho de página deseja trabalhar e qual algoritmo deve ser utilizado para o descarte das páginas da memória. Implementou-se as técnicas de memória virtual, tais como paginação e técnicas de descarte de páginas. Em uma última instância foi desenvolvido o Sistema de Arquivos, consistindo em uma árvore n-ária com uma grande quantidade de entradas para armazenamento de arquivos e diretórios.
A tela do Prompt permite a execução de todos os comandos do sistema, bem como criar diretórios, listar arquivos, montar e rodar programas, etc. Esta tela também exibe as mensagens referentes ao retorno dos comandos.
Através da Interface desenvolvida é possível controlar toda a execução do Simulador. Desde sua inicialização até a finalização da execução. É possível ainda ajustar a velocidade para que o usuário possa acompanhar a execução dos processos.
CONCLUSÕES:
O simulador foi apresentado a alunos de graduação e mostrou-se bastante oportuno, despertando o interesse dos mesmos que se mostraram mais atentos e mais receptivos aos conceitos ministrados. Para adequar-se mais completamente ao ensino/aprendizado nas disciplinas de Sistemas Operacionais, o simulador aqui apresentado ainda deve ser melhorado. Ainda será desenvolvida a parte de gerenciamento de Vídeo e o simulador será expandido para suportar o conjunto de instruções do processador Intel 8085. Além disso, após a conclusão da primeira versão segura, o intuito é deixar o código aberto para que o mesmo possa ser melhorado rapidamente.
O SOS permite uma maior interação por parte do usuário, possibilitando que este possa interferir na maneira de execução daquele, que em conjunto com a apresentação dos conceitos e estruturas de forma visual, denota-se que o simulador vem contribuir para que o funcionamento das estruturas internas de um Sistema Operacional seja exposto ao usuário de forma didática e intuitiva, proporcionando uma assimilação de melhor qualidade dos conceitos apresentados.
Instituição de fomento: PET/MEC-SESu: Programa de Ensino Tutorial
Trabalho de Iniciação Científica
Palavras-chave:  Sistemas Operacionais; Simulação de Sistema Operacional; Ferramenta de Ensino.

Anais da 56ª Reunião Anual da SBPC - Cuiabá, MT - Julho/2004