categorias de escalonamento e objetivos do algorítmo escalonador
TRANSCRIPT
Categorias de escalonamento, objetivos do algoritmo de escalonamento
Ivan JustoThaís Favore
Sofia Trindade
Jales2016
Trabalho apresentado a disciplina de Servidores e seus Sistemas Operacionais da Faculdade de Tecnologia de Jales
Orientador: Prof. Cristiano Martins
Apresentação
1. INTRODUÇÃO AO ESCALONADOR2. CATEGORIAS DE ALGORITMOS DE ESCALONAMENTO
1. Lote2. Interativo3. Tempo Real
3. OBJETIVOS DO ALGORITMO DE ESCALONAMENTO4. CONCLUSÃO5. BIBLIOGRAFIA
2
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
Introdução ao Escalonador
4
Introdução ao Escalonador
5
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
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
Objetivos do Algoritmo de Escalonamento• Sistema em Lote
8
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
Objetivos do Algoritmo de Escalonamento• Sistemas interativos
10
Sistemas de Tempo Real• Sistemas Interativos: Tempo de resposta:
responder rapidamente às requisições;
• Proporcionalidade: satisfazer às expectativas dos usuários;
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.
12
Objetivos do Algoritmo de Escalonamento• Sistemas de tempo real
13
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
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
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
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
• 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
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
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
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
22
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
Pergunta:Por que é importante, usando algoritmos
de escalonamento, manter, quando possível, todas as partes do sistema ocupadas (CPU e dispositivos E/S)?
24
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
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
Bibliografia• TANENBAUM, Andrews S. Sistemas
Operacionais Modernos. ed.Pearson, 2003, 2ª e 3ª edição.
27