Estudo de algoritmos de escalonamento do Sistema Operacional

Propaganda
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.
Download