Este documento discute categorias de algoritmos de escalonamento e seus objetivos. Ele explica que há três principais categorias de algoritmos (lote, interativo e tempo real), cada um com objetivos diferentes de desempenho em função do tipo de sistema. Além disso, destaca a importância de manter todas as partes do sistema ocupadas para maximizar a produtividade.
Categorias de escalonamento e objetivos do algoritmo de escalonamento
1. Categorias de escalonamento, objetivos do
algoritmo de escalonamento
Ivan Justo
Thaís Favore
Sofia Trindade
Jales
2016
Trabalho apresentado a disciplina de Servidores e seus Sistemas
Operacionais da Faculdade de Tecnologia de Jales
Orientador: Prof. Cristiano Martins
2. Apresentação
1. INTRODUÇÃO AO ESCALONADOR
2. CATEGORIAS DE ALGORITMOS DE ESCALONAMENTO
1. Lote
2. Interativo
3. Tempo Real
3. OBJETIVOS DO ALGORITMO DE ESCALONAMENTO
4. CONCLUSÃO
5. BIBLIOGRAFIA
2
3. Introdução ao Escalonador
• O escalonador escolhe o processo certo para
executar;
• Responsável pela eficiência da CPU;
• Extremamente importante quando se trata de
servidores e estações de trabalho de alto
desempenho.
3
6. Categorias de Algoritmos de
Escalonamento
• Uso adequado do algoritmo para cada área de
aplicação (ambientes);
• 3 Ambientes merecem distinção:
– Lote
– Interativo
– Tempo Real
6
7. Sistemas em Lote
• Algoritmos não preemptivos ou preemptivos
com longo intervalo para cada processo são
em geral aceitos;
• Essa tática reduz alternâncias entre processos
e melhora o desempenho;
– Não Preemptivos: escolhe um processo, e ele será
executado até que seja bloqueado ou que libere a CPU;
– Preemptivos: escolhe um processo e o deixa por um
tempo máximo fixado.
7
9. Sistemas Interativos
• Ambientes com usuários interativos necessita
da preempção;
• Uma falha pode levar um processo a executar
para sempre, impedindo outros processos de
usarem a CPU;
• Por isso a preempção é importante.
9
11. Sistemas de Tempo Real
• Executam programas que visam no progresso
da aplicação;
• A preempção é desnecessária, pois os
processos sabem quem não podem executar
por um longo período;
– Fazem seus trabalhos e bloqueiam rapidamente.
11
13. Objetivos do Algoritmo de
Escalonamento
• Algoritmos dependem de objetivos e do
ambiente. Justiça entre os processos (mas
categorias diferentes podem ser tratadas
diferentes);
• Manter todas as partes do sistema ocupadas;
13
14. Objetivos do Algoritmo de
Escalonamento
• Técnicas para verificar se o sistema executa
bem:
• Vazão: números de Jobs por hora que o
sistema termina;
• Tempo de Retorno: tempo desde que o job
em lote é submetido até o momento que é
finalizado;
– Tempo em média que o usuário tem de esperar;
14
15. • Utilização da CPU: A CPU se torna cara
quando o assunto é computador de grande
porte;
• O que interessa é a vazão e o tempo de
resposta;
– Tomar a utilização da CPU como medida é como
avaliar um carro pelo número de giros em seu
motor a cada hora;
15
Objetivos do Algoritmo de
Escalonamento
16. Objetivos do Algoritmo de
Escalonamento
• Sistemas interativos, principalmente
servidores, o que importa é minimizar o
tempo de resposta;
• Proporcionalidade: Os usuários tem a intuição
de quanto tempo processos devem demorar;
– O escalonador não tem como fazer nada a menos
que o atraso seja devido a uma má escolha de
ordem de processos;
16
17. Objetivos do Algoritmo de
Escalonamento
• Sistemas de tempo real diferem dos sistemas
interativos, uma vez que seu objetivo é fazer
com que prazos sejam cumpridos;
– Ex: computadores que controlam um dispositivo
que produz dados a uma taxa constante. Uma
falha poderia causar perda de dados;
17
18. Objetivos do Algoritmo de
Escalonamento
• Todos os sistemas:
– Justiça: dar a cada processo uma porção justa da
CPU;
– Aplicação da política: verificar se a política
estabelecida é cumprida;
– Equilíbrio: manter ocupadas todas as partes do
sistema;
18
19. Conclusão
• O que deve ser otimizado pelo escalonador
não é o mesmo para todos os sistemas;
• Para isso existem vários algoritmos de
escalonamento, tendo-se que levar em
consideração que podem, ou não, depender
do ambiente;
19
20. Pergunta:
Por que é importante, usando algoritmos
de escalonamento, manter, quando possível,
todas as partes do sistema ocupadas (CPU e
dispositivos E/S)?
20
21. Resposta:
Quando forem mantidos em execução o
tempo todo, mais trabalho por segundo será
feito do que se algum dos componentes estiver
ocioso.
21