Estudo de algoritmos de escalonamento no Sistema Operacional MINIX Fernando Francisco dos Santos, Francisco Rafael Alves Gonçalves, Luciano Freire Monteiro Faculdade de Ciências Econômicas e Administrativas de Osasco, FITO, Osasco 1. Objetivos Visto que, hoje em dia, praticamente tudo que é informatizado executa sobre um sistema operacional, o estudo do seu comportamento é de extrema importância. O principal objetivo deste trabalho é analisar o escalonamento de processos no sistema operacional MINIX [1] propondo uma maneira visual de comparar o desempenho de diferentes algoritmos. É através do algoritmo de escalonamento que o sistema operacional define a ordem dos processos que utilizarão a CPU. Conseqüentemente, modificar essa ordem interfere diretamente no desempenho do sistema como um todo. Neste trabalho analisamos o comportamento do MINIX para os algoritmos de escalonamento FIFO, SJF e Round Robin, comparando os resultados obtidos após cada compilação do kernel (núcleo). 2. Material e Métodos O trabalho foi desenvolvido no sistema operacional MINIX versão 2 e o editor utilizado para alterar os fontes foi o Vi. Em linha com a proposta de uma comparação visual entre os algoritmos, foi adicionado ao arquivo /usr/src/kernel/dmp.c uma função de geração de gráficos, que com os dados armazenados na estrutura rp do tipo proc (estrutura de processos no MINIX) foi possível visualizar informações sobre, consumo de memória e tempo de CPU [2]. Somado a isso, foi feita outra alteração no kernel do sistema, para que ao acionar a tecla F11 do teclado, o gráfico com as informações comentadas anteriormente aparecesse. Por último, foram implementantados os algoritmos FIFO, SJF e Round Robin no corpo da função pick_proc() do arquivo /usr/src/kernel/proc.c, que é a responsável pela escolha dos processos que entrarão em execução, ou seja, pelo escalonamento dos processos. Para cada algoritmo de escalonamento foi gerada uma nova imagem do sistema e configurada para a área de boot. 3. Resultados e discussão Visualmente, foi possível constatar a diferença entre os diferentes algoritmos de escalonamento de processos através de gráficos gerados. O comportamento do Sistema Operacional com Round Robin gerenciando a fila de processos de Usuário foi satisfatória e a menos instável, porém quando falamos da fila de Tarefas o FIFO foi o mais estável. 4. Conclusões Com base nos resultados obtidos pretendemos demostrar que é possível mesclar os diferentes algoritmos entre as rotinas existentes. Conseguimos mostrar de maneira visual a diferença no comportamento do sistema operacional MINIX, devido à modificação do algoritmo de escalonamento. 5. Referências Bibliográficas [1] Tanenbaum, Andrew S., Woodhull, Albert S. Sistemas Operacionais: Projeto e Implementação, 2 edição, Porto Alegre: Editora Bookman, 2000. [2] Machado, Francis Berenger, Maia, Luiz Paulo. Arquitetura de Sistemas Operacionais, 3 edição, Rio de Janeiro: Editora LTC, 2004.