Projeto de Redes Método de Escalonamento de Processos
Por: Victor Ribas • 7/6/2019 • Trabalho acadêmico • 1.162 Palavras (5 Páginas) • 238 Visualizações
Método de Escalonamento de Processos
Lucas V. S. Siqueira, Victor Eduardo Sampaio Ribas, João Lucas de Melo Souza
- Abstract. This paper describes a comparative analysis about the operation of the scheduling algorithms: Round-robin and Priority Scheduling
- Resumo. Este artigo descreve uma análise comparativa do funcionamento dos algoritmos de escalonamento Round-robin e por prioridades.
1. Introdução
Tendo em vista a inexistência de máquinas com recursos infinitos se fez necessária a criação de métodos para administração destes recursos por meio do software e são alguns desses métodos que serão analisados em funcionamento nesse artigo.
Neste Artigo manteremos o foco de nossa análise nos algoritmos de escalonamento de processos, principalmente os algoritmos Round-robin e Por prioridades, que foram os sujeitos de nossos testes.
2. Conceitos
2.1. Escalonamento de Processos
O escalonamento de processos é uma atividade organizacional feita pelo escalonador da CPU ou de um sistema distribuído, possibilitando a execução dos processos mais viáveis, dando prioridade a determinados tipos de processos, como os de I/O Bound e os CPU Bound.
O escalonamento é realizado com o auxílio do hardware, devendo o escalonador se preocupar com a eficiência da CPU, pois o chaveamento de processos é custoso para os recursos do computador: afetando o desempenho do sistema e a satisfação do usuário.
Este escalonamento em sua grande parte funciona por meio de algoritmos, estes são os responsáveis pela seleção que o escalonador faz de quem será o próximo a ser executado, entre os algoritmos de escalonamento temos os alvos deste artigo o Round-robin e o algoritmo de escalonamento por prioridade.
2.2. Round-Robin
Round-robin é um algoritmo no qual o sistema operacional utiliza um timer, chamado de quantum, onde todos os processos ganham o mesmo valor de quantum para rodarem na CPU. Tem a vantagem de Simplicidade, fácil implementação, gera espaço de tempo para cada processo, fazendo com que a fila de processos não fique parada em um só processo. Entretanto possui algumas desvantagens como processos muito grandes que podem ficar muito tempo em execução na CPU, degradando o sistema, nenhum processo termina de executar antes de todos terem executado um pouco.
2.3. Algoritmo de Escalonamento por Prioridade
O escalonamento por prioridade funciona oferecendo um tratamento distinto à processos diferentes. No momento da criação de um processo ele recebe uma “prioridade”. E o quando o escalonador precisar selecionar qual processo será executado, o com prioridade maior será o escolhido. Cada vez que um processo é executado, o escalonador diminui sua prioridade no momento que ficar menor outro processo pronto, ele será interrompido e o outro processo será executado. Esta prioridade pode ser atribuída aos processos de dois modos:
- Estaticamente: a prioridade é associada quando o processo é criado.
- Dinâmico: o escalonador decide a prioridade de acordo com estatísticas sobre a execução deste processo em quanta anteriores.
3. Implementação
3.1. Implementação Round-Robin
A implementação deste escalonamento consiste em repartir uniformemente o quantum da CPU entre os processos prontos organizando-os numa fila circular. Caso um processo não termine dentro de seu quantum pré-alocado, ele é colocado no fim da fila e dando a vez ao próximo:[pic 1]
Exemplo: tempo de quantum = 2
[pic 2][pic 3]
[pic 4]
4. Análise dos Resultados
4.1. Escalonamento Round-robin
Para a criação desses modelos utilizamos 2 tipos de processos com o mesmo tempo de execução 10 (Tempo de processamento na CPU que o processo necessita para terminar), sendo um deles Orientado a CPU e Orientado a E/S. Os paramentos Globais da simulação foram Quantum (Período de tempo que os processos têm direito de executar na CPU cada vez que forem escalonados.) 5, tempo de troca 1, tempo de E/S 5 e tempo de processamento até E/S de 1.
IMAGEM 1:[pic 5]
Como pode se observar nas imagens acima, no processo de Round-robin o processo emprega tempo compartilhado, dando a cada tarefa um tempo definido, a tarefa é interrompida se esgotado o quantum e retomará de onde parou no próximo agendamento. Neste caso:
- Executa processo A por 5 e vai para o fim da lista de pronto.
- Ocorre uma troca de contexto, durando 1 unidades de tempo.
- Executa processo B por 1.
- Ocorre uma troca de contexto, durando 1 unidades de tempo, o processo B vai para a lista de bloqueado por 5 unidades de tempo.
- Executa processo A por 5 e ele termina processo B volta para a lista de pronto.
IMAGEM 2:[pic 6]
Esses passos iram se repetir por mais 6 vezes chegando ao fim do processo com 31 passos, como pode ser observado na imagem 2. Podemos observar que durante a execução do processo B I/O temos um aumento na utilização da CPU, já no processo de execução A CPU temos uma leve diminuição da utilização da CPU.
...