A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas.

Apresentações semelhantes


Apresentação em tema: "Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas."— Transcrição da apresentação:

1 Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas das Profª s Marília Silva / Etelvira Leite

2 GERÊNCIA DE PROCESSADOR Com o surgimento dos sistemas multiprogramáveis, nos quais múltiplos processos poderiam permanecer na memória principal compartilhando o uso da UCP, a gerência de processador tornou-se importante. Política de escalonamento pode ser entendida como os critérios utilizados para seleção de qual processo (em estado de pronto) deve fazer a utilização do processador.

3 GERÊNCIA DE PROCESSADOR Cada sistema operacional possui sua política de escalonamento adequada ao seu propósito e as suas características. Sistemas de tempo compartilhado por exemplo, possui requisitos de escalonamento distintos dos sistemas de tempo real. Função do escalonador (scheduler) – rotina responsável por implementar os critérios da política de escalonamento. Dispatcher – rotina responsável pela troca de contexto dos processos após o escalonador determinar qual processo deve fazer uso do processador.

4 UTILIZAÇÃO DO PROCESSADOR - corresponde a uma taxa de utilização, que na maioria dos sistemas varia entre 30 e 90%. Uma utilização abaixo dos 30% indicaria um sistema ocioso, com carga de processamento baixa, enquanto uma taxa de utilização acima dos 90% pode indicar um sistema bastante carregado, próximo da sua capacidade máxima (em alguns casos tal situação pode levar a um crash – travamento do sistema). THROUGHPUT – nº de processos executados em um determinado intervalo de tempo. Quanto maior for este, maior o nº de tarefas executadas em função do tempo. CRITÉRIOS DE ESCALONAMENTO

5 TEMPO DE PROCESSADOR – tempo que o processador leva em estado de execução durante seu processamento.. TEMPO DE ESPERA – é o tempo total que um processo permanece na fila de pronto durante seu processamento, aguardando para ser executado. TEMPO DE TURNAROUD – tempo que um processo leva desde sua criação até seu término, levando em consideração todo o tempo gasto na espera para alocação de memória, espera na fila de pronto, processamento na UCP e na fila de espera. CRITÉRIOS DE ESCALONAMENTO

6 TEMPO DE RESPOSTA – é o tempo decorrido entre a requisição ao sistema ou à aplicação e o instante em que a resposta é exibida. CRITÉRIOS DE ESCALONAMENTO Políticas de escalonamento em geral, buscam: Otimizar a utilização do processador e throughput; Diminuir tempos de turnaround, espera e resposta. OBSERVAÇÃO

7 PREEMPÇÃO Possibilidade de um sistema operacional interromper um processo em execução e substituí-lo por um outro. Sistemas operacionais que implementam escalonamento com preempção são mais complexos, contudo possibilitam políticas de escalonamento mais flexíveis.

8 ESCALONAMENTO NÃO PREEMPTIVO Predominava o processamento em batch. Quando um processo está em execução, nenhum evento externo pode ocasionar a perda do uso do processador. O processo somente sai do estado de execução caso termine seu processamento ou execute instruções do próprio código que ocasione uma mudança para o estado de espera.

9 ESCALONAMENTO PREEMPTIVO O sistema operacional pode interromper um processo em execução e passá-lo para o estado de pronto, com o objetivo de alocar outro processo na UCP. É possível priorizar a execução de processos, como no caso de aplicações de tempo real, onde o fator tempo é crítico. Atualmente, a maioria dos sistemas operacionais implementam políticas de escalonamento preemptivas que, apesar de tornarem os sistemas mais complexos, possibilitam a implementação dos diversos critérios de escalonamentos.

10 ALGORITMOS DE ESCALONAMENTO Existem vários algoritmos que são utilizados para a realização do escalonamento, em todos eles, o principal objetivo é designar o processador para um certo processo dentre vários processos existentes, otimizando um ou mais aspectos do comportamento geral do sistema. Algoritmos de escalonamento: First In First Out (FIFO) Shortest Job First (SJF) Circular Por Prioridades Circular com Prioridades etc.

11 ESCALONAMENTO FIRST-IN-FIRST-OUT (FIFO) O processo que chegar primeiro ao estado de pronto é selecionado para a execução. O escalonador FIFO é do tipo não preemptivo.

12 ESCALONAMENTO FIRST-IN-FIRST-OUT (FIFO) Não garante um tempo de resposta rápido, pois é extremamente sensível a ordem de chegada de cada processo e dos antecessores (se existirem). Se processos que tendem a demorar mais tempo chegarem primeiro, o tempo médio de espera e o turnaround acabam sendo aumentados. Processos CPU-bound levam vantagem no uso do processador sobre os processos I/O-bound.

13 ESCALONAMENTO FIRST-IN-FIRST-OUT (FIFO) O tempo médio de espera dos três processos seria igual a ( )/3 = 8 u.t O tempo médio de espera dos três processos seria igual a (0+4+7)/3 = 3,66 u.t

14 ESCALONAMENTO SHORTEST-JOB-FIRST (SJF) O algoritmo seleciona o processo que tiver menor tempo de processador ainda por executar. Desta forma, o processo em estado de pronto que necessitar de menos tempo de UCP para terminar seu processamento é selecionado para a execução. O escalonamento SJF é do tipo não preemptivo. O tempo médio de espera dos três processos seria igual a (7+3+0)/3 = 3,3 u.t, e é inferior ao apresentado no escalonador FIFO.

15 ESCALONAMENTO CIRCULAR É um escalonamento do tipo preemptivo. Quando um processo passa o estado de execução existe um tempo-limite para o uso contínuo do processador denominado fatia de tempo (time-slice) ou quantum. Toda vez que um processo é escalonado para execução uma nova fatia de tempo é concedida. Caso a fatia de tempo expire, o sistema operacional interrompe o processo em execução, salva seu contexto e direciona-o para o final da fila de pronto. Esse mecanismo é conhecido como preempção por tempo.

16 ESCALONAMENTO CIRCULAR

17

18 ESCALONAMENTO POR PRIORIDADES É um escalonamento do tipo preemptivo realizado com base em um valor associado a cada processo denominado prioridade de execução. O processo com maior prioridade no estado de pronto é sempre escolhido para execução, e processos com valores iguais são escalonados seguindo o critério FIFO. Se durante a execução de um processo, aparecer um outro na fila de pronto com prioridade maior, o SO deverá interromper o processo corrente, salvar seu contexto e colocá-lo no estado de pronto. Este mecanismo é conhecido como preempção por prioridade.

19 ESCALONAMENTO POR PRIORIDADES

20

21 ESCALONAMENTO CIRCULAR COM PRIORIDADES Implementa o conceito de fatia de tempo e de prioridade de execução associada a cada processo. Neste escalonamento, um processo permanece no estado de execução até que termine seu processamento, ou voluntariamente passe para o estado de espera (interrupção por E/S), ou sofra uma preempção por tempo ou prioridade. A principal vantagem deste escalonamento é permitir um melhor balanceamento no uso do processador, com a possibilidade de diferenciar o grau de importância dos processos através da prioridade (o Windows e o UNIX utilizam este escalonamento).

22 ESCALONAMENTO CIRCULAR COM PRIORIDADES

23 No escalonamento circular com prioridades estáticas, a prioridade definida no contexto de software de cada processo permanece inalterada ao longo da sua existência. No escalonamento circular com prioridades dinâmicas, é possível que a prioridade de um processo seja alterada dinamicamente pelo administrador do sistema ou, em algumas políticas, pelo sistema operacional.

24 EXERCÍCIOS 1. Considere que cinco processos sejam criados no instante de tempo 0 (P1, P2, P3, P4 e P5) e possuam as características descritas na tabela a seguir: PROCESSOTEMPO DE UCPPRIORIDADE P1103 P2144 P351 P472 P5205

25 EXERCÍCIOS 1. Desenhe um diagrama ilustrando o escalonamento dos processos e seus respectivos tempos de turnaround, segundo as políticas especificadas a seguir. O tempo de troca de contexto deve ser desconsiderado. a) FIFO b) SJF c) Prioridade (número menor implica prioridade maior) d) Circular com fatia de tempo igual a 4 u.t.

26 EXERCÍCIOS 2. Existem quatro processos (P1, P2, P3, P4) na fila de pronto, com tempos de UCP estimados em 9, 6, 3 e 5 respectivamente. Em que ordem os processos devem ser executados para minimizar o tempo de turnaround dos processos? 3. O que é política de escalonamento de um sistema operacional? 4. Quais as funções do escalonador? 5. Quais os principais critérios utilizados em uma política de escalonamento? 6. Diferencie os tempos de processador, espera, turnaround e resposta. 7. Diferencie os escalonamentos preemptivos e não preempitivos.

27 Machado, F. B., Maia, L. P. Arquitetura de Sistemas Operacionais. 4ª edição. Rio de Janeiro: LTC, Notas de Aulas das Profª. Etelvira Leite e Marília. Bibliografia


Carregar ppt "Gerência de Recursos Processador Escalonamento e Algoritmos de Escalonamento Disciplina: Sistemas Operacionais Profº. Helvio Jeronimo Junior Notas de Aulas."

Apresentações semelhantes


Anúncios Google