Escolar Documentos
Profissional Documentos
Cultura Documentos
Victor Jeremias
Wilma Clara Arlindo Moamba
Escalonamento de tarefas
Licenciatura em Informática
Victor Jeremias
Escalonamento de tarefas
Licenciatura em Informática
1. Introdução
Qualquer que seja a pessoa, a sua vida é guiada por certos princípios que o fazem determinar o
que deve fazer e o que não deve fazer. Alguns destes princípios além de determinarem o que a
pessoa deve fazer e o que não deve fazer, também determinam quando deve fazer certa tarefa
em detrimento das condições em que estiver se encontrando num dado momento. Por exemplo,
como estudantes, diariamente estamos sujeitos a várias actividades por realizar, porem, por
causa da condição em que nos encontramos agora (estudantes), por padrão a nossa prioridade
são aos estudos, isto é, num leque de actividades que temos, alocamos mais o tempo para
dedicarmo-nos aos estudos, e distribuímos o tempo resto do tempo entre as demais tarefas.
Este fenômeno é análogo ao que ocorre num sistema computacional na gestão de tarefas por
parte do Sistema Operativo, pois, durante o seu uso, várias tarefas podem ser executadas, e para
tal existe uma sequência que deve obedecida.
Nestes Sistemas Computacionais, existe uma parte em Sistemas Operativos responsável por
gerenciar de acordo com o tempo de execução, distribuindo assim um tempo para cada tarefa
de modo a minimizar a ociosidade da CPU e dos demais recursos computacionais. Esta parte
do S.O, chama-se escalonador, e propomo-nos a abordar esta temática nesta obra, como forma
de saber mais acerca das particularidades inerentes aos Sistemas Operativos e os utilitários ou
programas de computador.
1.1. Objectivos
1.1.1. Objectivo geral
Compreender o escalonamento de tarefas em um Sistema Computacional.
1.1.2. Objectivos específicos
Apontar os objectivos e métricas do escalonamento de tarefas;
Distinguir o escalonamento preemptivo e cooperativo;
Enumerar alguns algoritmos de escalonamento de tarefas;
Categorizar o escalonamento por prioridade.
2
2. Escalonamento de tarefas
Definição: É uma activade que consiste em decidir qual das tarefas (prontas para serem
executadas) deve ser executada. A parte responsável por tomar esta decisão chama-se
escalonador.
3. Objectivos e métricas
Ao se definir um algoritmo de escalonamento, deve se ter em mente o seu objectivo. Porém, os
objectivos de em escalonador são contraditórios. Por exemplo pode se definir valores de
quantum baixos (tempo de execução) por cada tarefa de uma aplicação, e por causa disso, a
eficiência do uso do processador será baixo. Para isso existem vários critérios para a avaliação
de escalonadores. Dentre eles temos:
3.1. Tempo de execução
É tempo total de execução de uma tarefa (não confundir com tempo de processamento), isto é,
o tempo decorrido entre a criação da tarefa e seu encerramento, computando todos os tempos
de processamento e de espera.
3.2. Tempo de espera
É o tempo total perdido pela tarefa na fila de tarefas prontas, aguardando o processador. Deve-
se observar que esse tempo não inclui os tempos de espera em operações de entrada/saída (que
são inerentes à aplicação e aos dispositivos).
3.3. Tempo de resposta
É o tempo decorrido entre a chegada de um evento ao sistema e o resultado imediato de seu
processamento. Por exemplo, em um editor de textos seria o tempo decorrido entre apertar uma
tecla e o caractere correspondente aparecer na tela.
3.4. Justiça
Este critério diz respeito à distribuição do processador entre as tarefas prontas: duas tarefas de
comportamento e prioridade similares devem ter durações de execução similares.
3.5. Eficiência
Indica o grau de utilização do processador na execução das tarefas do usuário. Ela depende
sobretudo da rapidez da troca de contexto e da quantidade de tarefas orientadas a entrada/saída
no sistema (tarefas desse tipo geralmente abandonam o processador antes do fim do quantum,
gerando assim mais trocas de contexto que as tarefas orientadas a processamento).
0 + 5 + 6 + 8 + 7 26
𝑇𝑤 = = = 5,2𝑠
5 5
Equação 2: Tempo Médio de espera das tarefas
(11 − 0) + (2 − 0) + (14 − 1) + (4 − 3) + (7 − 5)
𝑇𝑡 =
5
11 + 2 + 13 + 1 + 2 29
𝑇𝑡 = = = 5,9𝑠
5 5
Equação 9: Tempo médio de execução das tarefas
[(2 − 0) + (7 − 3)] + (0 − 0) + [(4 − 1) + (11 − 5)] + (3 − 3) + (5 − 5)
𝑇𝑤 =
5
6 + 0 + 9 + 0 + 0 15
𝑇𝑤 = = = 3,0𝑠
5 5
Equação 10: Tempo Médio de espera das tarefas
As prioridades dinâmicas resolvem um problema importante em sistemas de tempo
compartilhado.
A prioridade de tarefas é definida por um conjunto diverso de factores que podem ser
classificados em dois grupos, nomeadamente:
Fatores externos: informações providas pelo usuário ou o administrador do sistema, que o
escalonador não conseguiria estimar sozinho.
Fatores internos: informações que podem ser obtidas ou estimadas pelo próprio escalonador,
com base em dados disponíveis no sistema operacional.
7. Um escalonador real
Para lidar com essa grande diversidade de tarefas, os escalonadores dos sistemas como
Windows, Linux e MacOS implementam algoritmos complexos, combinando mais de uma
política de escalonamento.
No Linux por exemplo, as tarefas são divididas em classes de escalonamento de acordo com as
suas demandas de processamento, com cada classe possuindo a sua fila de tarefas.
Algumas classes definidas no escalonador actual (núcleo 4.16, em 2018) são:
Classe SCHED_DEADLINE, Classe SCHED_FIFO, etc.
8
8. Conclusão
A gestão inteligente de tarefas nos sistemas computacionais é um fenômeno importantíssimo
para uma melhor organização das tarefas.
O escalonamento de tarefas insere-se neste âmbito, constituindo uma forma de gerir as tarefas,
decidindo qual das tarefas deve se executar num dado instante em função de variados critérios.
Nesse sentido, conclui-se que o processo de escalonamento de tarefas, é um fator muito
importante para maximização da actividades dos recursos computacionais (eficiência), apesar
de em algumas situações, os objectivos serem contraditórios.
9
9. Referências bibliográficas
TANENBAUM, Andrews S., BOS, Herbert Sistemas Operacionais Modernos, 4a ¯
edição. Pearson – Prentice-Hall, 2008.
MAZIERO, Carlos, Sistemas Operacionais: Conceitos e Mecanismos, 2019.