Aula 13 - Algoritmos de Escalonamento
-
Upload
camilaseixas -
Category
Technology
-
view
458 -
download
1
description
Transcript of 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.
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.
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)
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.
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.
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.
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
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.
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.
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