Aula 13 - Algoritmos de Escalonamento

15

description

Sistemas Operacionais: Algoritmos de Escalonamento

Transcript of Aula 13 - Algoritmos de Escalonamento

Page 1: Aula 13 - Algoritmos de Escalonamento
Page 2: Aula 13 - Algoritmos de Escalonamento

CONCEITOS

Escalonador: Parte do sistema responsável

por decidir quais processos em estado de

pronto, irão executar primeiro.

Escalonamento: Procedimento que utiliza

rotinas do sistema operacional para definir

qual processo irá ser executado pela CPU.

Page 3: Aula 13 - Algoritmos de Escalonamento

Para que um processo não

execute tempo demais,

praticamente todos os

computadores possuem um

mecanismo de relógio (clock)

que causa uma interrupção

periodicamente.

Page 4: Aula 13 - Algoritmos de Escalonamento

FCFS –FIRST COME FIRST

SERVER(Primeiro a chegar é o Primeiro a ser

servido)

E

FIFO – FIRST IN FIRST OUT(Primeiro a entrar é o Primeiro a sair)

Page 5: Aula 13 - Algoritmos de Escalonamento

Algoritmo não-preemptivo

A CPU é atribuída aos processos na ordem emque eles a requisitam. Basicamente há uma filaúnica de processos prontos.

Quando o primeiro processo chega, é iniciadoimediatamente e autorizado a executar. Amedida que outros processos chegam, vãosendo encaminhados para o fim da fila.

Quando um processo é bloqueado, ele éautomaticamente levado para o fim da fila.

Page 6: Aula 13 - Algoritmos de Escalonamento
Page 7: Aula 13 - Algoritmos de Escalonamento

Scheduling por Prioridades ou

HPF (Highest Priority First) É uma variante do escalonamento FIFO onde os

processos em espera são organizados numa filasegundo sua prioridade. Uma prioridade éassociada a cada processo, e a CPU é alocadaao processo de prioridade mais alta.

Processos de prioridade iguais são agendados naordem FCFS.

O algoritmo SJF é simplesmente um algoritmo deprioridades em que a prioridade é o inverso dopróximo pico da CPU, ou seja, quanto maior opico de CPU, menor a prioridade , e vice-versa.

Page 8: Aula 13 - Algoritmos de Escalonamento

SJF - JOB MAIS CURTO

PRIMEIRO Algoritmo não – preemptivo.

Quando vários jobs (tarefas) igualmenteimportantes estiverem postados na fila à esperade serem iniciados, o escalonador escolhe o jobmais curto primeiro.

Quando a CPU está disponível, ela é atribuídaao processo que tem o pico mais curto. Se osprocessos forem iguais o scheduling FCFS seráusado para resolver o impasse.

Page 9: Aula 13 - Algoritmos de Escalonamento

EXERCÍCIO PRÁTICO

Considere o conjunto de processos a seguir que

chegam no momento 0, com o intervalo do pico

de CPU dado em milissegundos. Encontre o

tempo de espera de cada processo, e o tempo

médio de espera de todos.

PROCESSO DURAÇÃO DO PICO P1 24

P2 3

P3 3

Page 10: Aula 13 - Algoritmos de Escalonamento

SCHEDULING ROUD-

ROBIN O Algoritmo Round-Robin (RR) foi projetado

especialmente para sistemas de tempocompartilhado.

Ele é semelhante ao Scheduling FCFS, mas apreempção é adicionada para permitir que o sistemase alterne entre os processos.

Uma pequena unidade de tempo chamada quantumde tempo é definida.

A fila de prontos é tratada como uma fila circular. OScheduler da CPU percorre a fila de prontos,alocando a CPU para cada processo por um intervalode até um quantum de tempo.

Page 12: Aula 13 - Algoritmos de Escalonamento
Page 13: Aula 13 - Algoritmos de Escalonamento

Algoritmo preemptivo.

Para implementar o scheduling RR, a fila deprontos é formada por uma fila FIFO deprocessos. O Scheduler define um timer parainterromper após um quantum de tempo edespacha o processo.

Neste processo, uma entre duas coisas podeacontecer: o processo ter um pico de CPUacima do quantum determinado; ou oprocesso ter um pico de CPU abaixo doquantum determinado.

Page 14: Aula 13 - Algoritmos de Escalonamento

Determine a cronologia de

funcionamento de três processos

com o algoritmo Round Robin, em

que a duração de P0 é 6, P1 é 8 e P2

é 10. O período de quantum para

cada processo é de 3 segundos.

EXERCÍCIO PRÁTICO

Page 15: Aula 13 - Algoritmos de Escalonamento