Sie sind auf Seite 1von 34

Algoritmos de Escalonamento de Processos

Rafael Tomaz Parreira

rafaeltp3@gmail.com

14 de dezembro de 2016
Agenda

1 Introducao

2 Principais Caractersticas

3 Estrategias de Escalonamento

4 First-In-Fist-Out (FIFO)

5 Revezamento (Round-Robin)

6 Escalonamento com Prioridades

7 Shortest Job First (SJF)

8 Escalonamento com Filas Multiplas


Algoritmos de Escalonamento de Processos
Introducao

Introducao

Introducao 1/32
Algoritmos de Escalonamento de Processos
Introducao

Introducao

Introducao 2/32
Algoritmos de Escalonamento de Processos
Introducao

Introducao

Gerente de Processos: e o componente responsavel por de-


cidir qual processo vai executar e por quanto tempo, visando
otimizar o uso do processador.
Processo: e um programa em execucao que e constitudo de
codigo executavel.

Introducao 3/32
Algoritmos de Escalonamento de Processos
Principais Caractersticas

Principais Caractersticas

Principais Caractersticas 4/32


Algoritmos de Escalonamento de Processos
Principais Caractersticas

Principais Caractersticas

Justica: deve estar garantido que todos os processos possuem


chances iguais para usar o processador.
Eficiencia: o processador deve permacer ocupado o maximo
de tempo possvel.
Tempo de resposta: o tempo de resposta para os usuarios que
executam processos que precisa fornecer uma resposta rapida,
deve ser minimizado.

Principais Caractersticas 5/32


Algoritmos de Escalonamento de Processos
Principais Caractersticas

Principais Caractersticas

Tempo de turnaroud1 : o tempo de turnaroud deve ser o


menor possvel.
Throughput2 : o numero de processos que sao executados em
uma determinada fracao de tempo, geralmente uma hora, deve
ser elevado ao maximo.

1
E o tempo um processo leva desde a criacao ate o termino.
2
Representa o numero maximo de processos executados em um determinado
intervalo de tempo.
Principais Caractersticas 6/32
Algoritmos de Escalonamento de Processos
Estrategias de Escalonamento

Estrategias de Escalonamento

Estrategias de Escalonamento 7/32


Algoritmos de Escalonamento de Processos
Estrategias de Escalonamento

Estrategias de Escalonamento

Escalonamento nao-preemptivo: com esta estrategia um pro-


cesso que entra no processador executa ate terminar, sem ja-
mais ser interrompido.
Escalonamento preemptivo: esta estrategia se baseada na
atividade de preempcao, ou seja, permite a suspensao tem-
poraria da execucao de um processo para outro executar, sem
prejuzo logico de execucao a ambas.

Estrategias de Escalonamento 8/32


Algoritmos de Escalonamento de Processos
First-In-Fist-Out (FIFO)

First-In-Fist-Out (FIFO)

First-In-Fist-Out (FIFO) 9/32


Algoritmos de Escalonamento de Processos
First-In-Fist-Out (FIFO)

First-In-Fist-Out (FIFO)

First-In-Fist-Out (FIFO) 10/32


Algoritmos de Escalonamento de Processos
First-In-Fist-Out (FIFO)

First-In-Fist-Out (FIFO)

First-In-Fist-Out (FIFO) 11/32


Algoritmos de Escalonamento de Processos
First-In-Fist-Out (FIFO)

First-In-Fist-Out (FIFO)

Vantagem:
e sua simplicidade de implementacao, haja vista que o Gerente
de Processos necessita apenas manter uma fila de processos e
escalonar para executar um apos o outro.
Desvantagens:
e impossvel conhecer ao certo qual e o tempo de turnaround
de um processo;
e um algoritmo nao preemptivo e, portanto, a sua aplicacao
em sistemas computacionais que possuam muitos processos de
usuarios interativos, e considerada ineficiente.

First-In-Fist-Out (FIFO) 12/32


Algoritmos de Escalonamento de Processos
Revezamento (Round-Robin)

Revezamento (Round-Robin)

Revezamento (Round-Robin) 13/32


Algoritmos de Escalonamento de Processos
Revezamento (Round-Robin)

Revezamento (Round-Robin)

Cada processo atribui-se um intervalo de tempo, durante o qual


podera usar o processador (time-slice ou quantum).
Se o processo ainda precisar executar depois de esgotado seu
quantum, ele perde o processador, dando lugar a outro.
Caso o processo seja bloqueado ou termine antes de esgotado
seu quantum, a comutacao para um novo processo.

Revezamento (Round-Robin) 14/32


Algoritmos de Escalonamento de Processos
Revezamento (Round-Robin)

Revezamento (Round-Robin)

Revezamento (Round-Robin) 15/32


Algoritmos de Escalonamento de Processos
Revezamento (Round-Robin)

Revezamento (Round-Robin)

Revezamento (Round-Robin) 16/32


Algoritmos de Escalonamento de Processos
Revezamento (Round-Robin)

Revezamento (Round-Robin)

Vantagens:
simplicidade de implementacao; e
nao permitir que processos monopolizem o processador.
Desvantagens:
nao faz distincao entre prioridade dos processos; e
dificuldade de se definir o tamanho do quantum.

Revezamento (Round-Robin) 17/32


Algoritmos de Escalonamento de Processos
Escalonamento com Prioridades

Escalonamento com Prioridades

Escalonamento com Prioridades 18/32


Algoritmos de Escalonamento de Processos
Escalonamento com Prioridades

Escalonamento com Prioridades

E um algoritmo preemptivo, e considera fatores externos para


escolher qual processo ira executar.
Cada processo recebe uma prioridade de execucao.
Normalmente, o processo com maior prioridade e aquele que
deve ser executado primeiro.
Existindo processos com prioridades iguais, os mesmos devem
ser agrupados em classes.

Escalonamento com Prioridades 19/32


Algoritmos de Escalonamento de Processos
Escalonamento com Prioridades

Escalonamento com Prioridades

Escalonamento com Prioridades 20/32


Algoritmos de Escalonamento de Processos
Escalonamento com Prioridades

Escalonamento com Prioridades

Escalonamento com Prioridades 21/32


Algoritmos de Escalonamento de Processos
Escalonamento com Prioridades

Escalonamento com Prioridades

Vantagem:
permite diferenciacao dos processos segundo criterios de im-
portancia.
Desvantagem:
e a possibilidade de os processos de baixa prioridade nunca serem
escalonados (starvation, pretericao indefinida).
Esta desvantagem pode ser superada atraves do uso da tecnica
de aging (envelhecimento), que consiste em incrementar grada-
tivamente a prioridade dos processos que ficam muito tempo
sem rodar.

Escalonamento com Prioridades 22/32


Algoritmos de Escalonamento de Processos
Shortest Job First (SJF)

Shortest Job First (SJF)

Shortest Job First (SJF) 23/32


Algoritmos de Escalonamento de Processos
Shortest Job First (SJF)

Shortest Job First (SJF)

O algoritmo de escalonamento do menor trabalho primeiro e


nao-preemptivo.
O processo com menor tempo estimado de execucao e aquele
que deve executar primeiro.
O algoritmo parte do pressuposto que o tempo de execucao de
cada processo e conhecido.

Shortest Job First (SJF) 24/32


Algoritmos de Escalonamento de Processos
Shortest Job First (SJF)

Shortest Job First (SJF)

Shortest Job First (SJF) 25/32


Algoritmos de Escalonamento de Processos
Shortest Job First (SJF)

Shortest Job First (SJF)

Vantagem:
privilegia processos de usuarios interativos.
Desvantagem:
nao se conhece, a priori, o tempo que um processo ira ocupar o
processador.

Shortest Job First (SJF) 26/32


Algoritmos de Escalonamento de Processos
Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas 27/32


Algoritmos de Escalonamento de Processos
Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas

Este algoritmo preemptivo, considera a existencia de varias filas


de processos.
Cada Fila com sua prioridade de execucao e seu algoritmo de
escalonamento.
Cada processo e associado as filas em funcao de caractersticas
particulares.

Escalonamento com Filas Multiplas 28/32


Algoritmos de Escalonamento de Processos
Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas 29/32


Algoritmos de Escalonamento de Processos
Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas 30/32


Algoritmos de Escalonamento de Processos
Escalonamento com Filas Multiplas

Escalonamento com Filas Multiplas

Vantagem:
permite que se utilize um algoritmo de escalonamento diferente
para cada fila.
Desvantagem:
sua implementacao e mais complexa que a dos outros ja estu-
dados.

Escalonamento com Filas Multiplas 31/32


Algoritmos de Escalonamento de Processos
Bibliografia
Bibliografia de referencia

Sugestao de Leitura I

Silberschatz, A.
Fundamentos de Sistemas Operacionais.
LTC, 2014.
STUART, B. L.
Princpios de Sistemas Operacionais: Projetos e Aplicacoes.
Editora Cengage Learning, 2011.
Tanenbaum, A.S.
Sistemas operacionais modernos.
Prentice-Hall do Brasil, 2010.
Tanenbaum, A. S. e Woodhull, A. S.
Sistemas Operacionais - Projeto e Implementacao.
Bookman, 2008.
Bibliografia 32/32

Das könnte Ihnen auch gefallen