Please enable JavaScript.
Coggle requires JavaScript to display documents.
Cap 6 : Escalonamento de Tarefas - Coggle Diagram
Cap 6 : Escalonamento de Tarefas
Tipos de Tarefas
Tarefas de tempo real
Exigem previsibilidade nos tempos de resposta ; eventos críticos
Tarefas Interativas
Devem responder eventos externos rapidamente ;
Tarefas em lote(batch)
Sem requisitos temporais explícitos ; executam sem intervenção do usuário
Tarefas orientadas a processamento
Usam intensivamente o processador ; passam a maior parte do tempo no estado pronto ou executando
Tarefas orientada a entrada/saída
Dependem mais de dispositivos de entrada/saída do que do processador ; Ficam no estado suspenso
Objetivos e métricas
É preciso escolher o que priorizar em um escalonador
Tempo de execução
tempo total de execução de uma tarefa, desde a criação até o encerramento
Tempo de espera
tempo perdido pela tarefa aguardando o processador
Tempo de resposta
tempo decorrido entre a chegada de um evento ao sistema e o resultado imediato de seu processamento
Justiça
distribuição do processador entre tarefas prontas
Eficiência
grau de utilização do processador na execução de tarefas
depende da rapidez das trocas de contexto e quantidade de tarefas orientadas a entrada/saída
Escalonamento preemptivo e cooperativo
Sistemas preemptivos
Nestes sistemas a cada interrupção, exceção ou chamada de
sistema, o escalonador reavalia todas as tarefas da fila de prontas e decide se mantém ou substitui a tarefa atualmente em execução.
Sistemas cooperativos
A tarefa em execução permanece no processador tanto quanto possível, só liberando o mesmo caso termine de executar, solicite uma operação de entrada/saída ou libere explicitamente o processador ; depende da cooperação entre as tarefas
Algoritmos de escalonamento
First-Come, First Served (FCFS)
Atender as tarefas em sequência, na ordem de chegada, sem quantum de tempo, cooperativo
Round-Robin(RR)
Adição de preempção por tempo, as tarefas são executadas na ordem que ficam prontas mas tem um tempo limite
Menos eficiente para execução de tarefas em lote mas melhor para tarefas interativas
Muitas trocas de contexto
Shortest Remaining Time First (SRTF)
Tarefas com menos tempo restante de execução recebem o processador ; Preemptivo
Tarefas curtas muito eficientes, risco de inanição de tarefas longas
Shortest Job First (SJF)
Atribui ao processador a mais curta tarefa da fila de tarefas prontas ; cooperativo
Difícil estimar o tempo que cada tarefa irá demorar
Usado em conjunto com outros algoritmos
Escalonamento por prioridades fixas (PRIOc, PRIOp)
A cada tarefa é associada uma prioridade ; a fila de tarefas prontas é ordenada de acordo com essas prioridades
PRIOp: quando uma tarefa de maior prioridade fica pronta pra execução o processador passa para ela
Escalonamento por prioridades dinâmicas (PRIOd)
Evita inanição de tarefas de pouca prioridade
aging: a prioridade da tarefa aumenta quando mais ela fica esperando ; quando retorna para a fila a prioridade volta a original
Definição de prioridades
Fatores externos: informações providas pelo usuário
Fatores Internos: informações que podem ser obtidas ou estimadas pelo escalonador
Comparação entre os algoritmos
Tempo total de processamento constante
STTF melhores tempos médios de execução
RR piores tempo médios de execução ; melhor tempo de resposta
Preemptivos possuem mais trocas de contexto
Escalonadores Reais
Algoritmos Complexos implementando mais de uma política de escalonamento
No Linux as tarefas são divididas em classes de acordo com suas demandas de processamento ; As tarefas são ativadas de acordo com a classe e cada classe tem sua política de escalonamento