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

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

Gerência de Recursos Processador

Apresentações semelhantes


Apresentação em tema: "Gerência de Recursos Processador"— Transcrição da apresentação:

1 Gerência de Recursos Processador
27/05/08 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
27/05/08 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
27/05/08 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 CRITÉRIOS DE ESCALONAMENTO
27/05/08 CRITÉRIOS DE ESCALONAMENTO 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.

5 CRITÉRIOS DE ESCALONAMENTO
27/05/08 CRITÉRIOS DE ESCALONAMENTO 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.

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

7 27/05/08 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
27/05/08 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
27/05/08 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
27/05/08 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)
27/05/08 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)
27/05/08 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)
27/05/08 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)
27/05/08 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
27/05/08 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
27/05/08 ESCALONAMENTO CIRCULAR

17 ESCALONAMENTO CIRCULAR
27/05/08 ESCALONAMENTO CIRCULAR

18 ESCALONAMENTO POR PRIORIDADES
27/05/08 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
27/05/08 ESCALONAMENTO POR PRIORIDADES

20 ESCALONAMENTO POR PRIORIDADES
27/05/08 ESCALONAMENTO POR PRIORIDADES

21 ESCALONAMENTO CIRCULAR COM PRIORIDADES
27/05/08 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
27/05/08 ESCALONAMENTO CIRCULAR COM PRIORIDADES

23 ESCALONAMENTO CIRCULAR COM PRIORIDADES
27/05/08 ESCALONAMENTO CIRCULAR COM PRIORIDADES 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 01/04/2017 EXERCÍCIOS 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: PROCESSO TEMPO DE UCP PRIORIDADE P1 10 3 P2 14 4 P3 5 1 P4 7 2 P5 20

25 01/04/2017 EXERCÍCIOS 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 01/04/2017 EXERCÍCIOS 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? O que é política de escalonamento de um sistema operacional? Quais as funções do escalonador? Quais os principais critérios utilizados em uma política de escalonamento? Diferencie os tempos de processador, espera, turnaround e resposta. Diferencie os escalonamentos preemptivos e não preempitivos.

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


Carregar ppt "Gerência de Recursos Processador"

Apresentações semelhantes


Anúncios Google