O documento discute categorias de algoritmos de escalonamento e seus objetivos. Explora sistemas em lote, interativos e tempo real, e como os algoritmos de escalonamento variam de acordo com cada ambiente para atingir objetivos como eficiência, tempo de resposta e cumprimento de prazos.
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
• Sistemas Interativos: Tempo de resposta:
responder rapidamente às requisições;
• Proporcionalidade: satisfazer às expectativas
dos usuários;
11
12. 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.
12
14. Objetivos do Algoritmo de
Escalonamento
• Sistemas de Tempo Real: Cumprimento dos
prazos: evitar a perda de dados;
• Previsibilidade: evitar a degradação da
qualidade em sistemas multimídia;
14
15. 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;
15
16. 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;
16
17. Objetivos do Algoritmo de
Escalonamento
• Se a CPU e os demais dispositivos de E/S
puderem ser mantidos em execução o tempo
todo, mais trabalho por segundo será feito do
que se algum dos componentes estiver ocioso.
17
18. • 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;
18
Objetivos do Algoritmo de
Escalonamento
19. 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;
19
20. 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;
20
21. 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;
21
23. 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;
23
24. Pergunta:
Por que é importante, usando algoritmos
de escalonamento, manter, quando possível,
todas as partes do sistema ocupadas (CPU e
dispositivos E/S)?
24
25. Resposta:
Quando forem mantidos em execução o
tempo todo, mais trabalho por segundo será
feito do que se algum dos componentes estiver
ocioso.
25
26. Resposta:
• Em um sistema de lote, por exemplo, é
melhor ter na memória tanto processos
orientados à CPU e à E/S do que somente
orientado à CPU ou à E/S. Isso evita a
ociosidade de ambos – enquanto a CPU é
usada, a E/S fica ociosa e vice-versa. É melhor
manter o sistema todo executando de uma
vez fazendo com que ocorra cuidadosamente
essa mistura de processos. 26
Ivan
Servidores e estações de trabalho costumam possuir múltiplos processos competindo pela CPU.
Ivan
Sofia
Sofia
Para Ambientes diferentes são necessários diferentes algoritmos de escalonamento, isso acontece pois cada área de aplicação tem seu objetivo. O que deve ser otimizado pelo escalonador não é o mesmo para todos os sistemas.
Thaís
Não há em seus terminais usuários esperando por resposta imediata; Reduz a alternância entre processos e melhora o desempenho
Thais
Vazão: maximizar o número de Jobs por hora;
Tempo de retorno: maximizar o tempo entre a submissão e o término;
Utilização da CPU: manter a CPU ocupada o tempo todo;
Ivan
Ambientes com usuários interativos necessita da preempção para evitar que um processo se aposse de outro da CPU e com isso negue serviço aos outros.
Mesmo que nenhum processo execute intencionalmente para sempre, uma falha em um programa pode levar um processo a impedir indefinidamente que todos os
outros executem.
Ivan
Sofia
Sistemas Interativos: Tempo de resposta: responder rapidamente às requisições;
Proporcionalidade: satisfazer às expectativas dos usuários;
Sofia
Ivan
Cumprimento dos prazos: evitar a perda de dados;
Previsibilidade: evitar a degradação da qualidade em sistemas multimídia;
Thais
Thais
Cumprimento dos prazos: evitar a perda de dados;
Previsibilidade: evitar a degradação da qualidade em sistemas multimídia;