Download - Sistemas Operacionais Aula 4
![Page 2: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/2.jpg)
Gerência do Processador
O escalonador é a entidade do SO responsável por selecionar um processo apto para executar no processador
O objetivo é dividir o tempo do processador de forma justa
Típicos de sistemas multiprogramados Duas partes:
Escalonador: política de seleçãoDispatcher: efetua a troca de contexto
![Page 3: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/3.jpg)
Objetivos do Escalonamento Maximizar a utilização do processador Maximizar a produção do sistema
N° de processos executados por unidade de tempo Minimizar o tempo de execução
Tempo total para executar um processo Minimizar o tempo de espera
Tempo em que o processo permanece na fila de aptos Minimizar o tempo de resposta
Tempo decorrido entre a requisição e sua realização
![Page 4: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/4.jpg)
Quando Escalonar
Quando se cria um novo processo, é necessário tomar uma decisão entre executar o processo pai ou o processo filho
Quando se termina um processo, algum outro processo deve ser escolhido entre processos prontos
Quando um processo bloqueia para E\S Quando ocorre uma interrupção de E\S
![Page 5: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/5.jpg)
Algoritmos de Escalonamento
Existem duas categorias de algoritmos de escalonamento:Não preemptivos – escolhe um processo para
executar e então o deixa executar até que seja bloqueado ou até que ele voluntariamente libere a CPU
Preemptivos – escolhe um processo e o deixa em execução por um tempo máximo fixado
![Page 6: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/6.jpg)
Ambientes de escalonamento
Lote (Batch)Algoritmos não preemptivos ou preemptivos
com longo intervalo de tempo Interativo
Preempção é essencial! Tempo real
Algumas vezes a preempção é desnecessária (programas que visam a evolução)
![Page 7: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/7.jpg)
Objetivos do algoritmo de escalonamento Todos os Sistemas:
Justiça – dar a cada processo um 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
![Page 8: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/8.jpg)
Objetivos do algoritmo de escalonamento Sistemas em Lote:
Vazão (throughput) – maximizar o n° de processos por hora
Tempo de retorno – minimizar o tempo entre a submissão e o término
Utilização de CPU – manter a CPU ocupada o tempo todo
![Page 9: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/9.jpg)
Objetivos do algoritmo de escalonamento Sistemas Interativos
Tempo de resposta – responder rapidamente às requisições
Proporcionalidade – satisfazer às expectativas dos usuários
![Page 10: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/10.jpg)
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
![Page 11: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/11.jpg)
Considerações
Vazão – é o número de processos por hora que o sistema termina
Tempo de resposta – indica quanto tempo, em média, o usuário tem de esperar pelo fim de um trabalho
![Page 12: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/12.jpg)
FIFO SJF – Shortest Job First
Escalonamento em Sistemas em Lote (Batch)
![Page 13: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/13.jpg)
Escalonamento em Sistemas Interativos Round-robin Escalonamento por prioridades Escalonamento garantido Escalonamento por loteria Escalonamento Fair-share (fração justa)
![Page 14: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/14.jpg)
Níveis de Escalonamento
Longo Prazo Médio Prazo Curto Prazo
![Page 15: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/15.jpg)
Escalonador Longo Prazo
Executado quando um novo processo é criado;
Determina quando um processo novo passa a ser considerado no sistema;
Controla o grau de multiprogramação do sistemaQuanto maior o n° de processos ativos,
menor a porcentagem de tempo de uso do processador por processo
![Page 16: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/16.jpg)
Escalonador Médio Prazo
Associado a gerência de memóriaParticipa do mecanismo de swapping
Suporte adicional a multiprogramaçãoGrau de multiprogramação efetiva (diferencia
aptos dos aptos suspensos)
![Page 17: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/17.jpg)
Escalonador Curto Prazo
Mais importante; Determina qual processo apto deverá
utilizar o processador; Executado sempre que ocorre eventos
importantes Interrupção de relógio Interrupção de E\SChamadas de sistemasSinais (interrupção de software)
![Page 18: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/18.jpg)
Diagrama de Escalonamento
![Page 19: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/19.jpg)
Algoritmos de escalonamento
FIFOSimples de Implementar (Fila)Funcionamento:
Processos aptos são inseridos no fim da fila
Processo no início da fila é o próximo a executar
Processo executa até que: Libere o processador Realize uma chamada de sistema (bloqueado) Termine sua execuçãoTempo médio: (0 + 12 + 20 + 35) = 67 / 4 = 16.75 u.t
![Page 20: Sistemas Operacionais Aula 4](https://reader036.vdocuments.com.br/reader036/viewer/2022083006/56813a64550346895da25cb4/html5/thumbnails/20.jpg)
Algoritmos de escalonamento
Round RobinSimilar ao algoritmo FIFO, só que:
Cada processo recebe um tempo limite máximo para executar um ciclo do processador
Fila de processos aptos é uma fila circularNecessidade de um relógio para delimitar
as fatias de tempo