GERENCIAMENTO DO
PROCESSADOR
Prof. Maicon A. Sartin
Introdução

Em sistema multiprogramáveis a UCP é compartilhada entre
diversos processos

Existem critérios para determinar a ordem de escolha para a
execução dos processos

O escalonamento é o
procedimento de seleção dos
processos para execução
O escalonador é o responsável
pelo escalonamento
n to
Estado de
Espera
me
O escalonamento evita o
starvation nos processos
na

alo
Esc

Estado de
Execução
Estado de
Pronto
Introdução


O escalonador deve escolher entre os processos prontos, qual irá
ser alocado na UCP
 Algoritmo de escalonamento faz essa seleção baseado em
alguns critérios
Critérios

Utilização da UCP



Deseja-se que a UCP permaneça a maior parte do tempo ocupada
30% (carga baixa) | 90% (Carga Alta)
Throughput

É o número de processos executados em um determinado intervalo de
tempo
Critérios de Escalonamento

Critérios

Tempo de tunaround


Tempo que um processo leva desde a sua admissão no sistema até o
seu término
Tempo de resposta

É o tempo decorrido do momento da submissão de um pedido ao
sistema até a primeira resposta produzida
Escalonamento Não-preemptivo

Quando um processo ganha o direito de usar a CPU, nenhum
outro processo pode lhe tirar esse recurso

Escalonamento FIFO (First-In-First-Out)

O processo que chegar primeiro é o primeiro a ser selecionado
para execução

É necessária apenas uma fila

Os processos que estão sendo executados não podem ser
interrompidos
Fila dos processos no estado de Pronto
Estado de
Criação
UCP
Estado de
Espera
Estado de
Término
Escalonamento Não-preemptivo

Escalonamento SJF (Shortest-Job-First)

É selecionado para execução o processo:
– Em estado de pronto, que precisar de menos tempo de UCP para
terminar seu processamento

O SJF e o FIFO não são aplicados em sistemas de tempo
compartilhado
Escalonamento Não-preemptivo
Processo A
SJF
Processo B
Processo C
10
14
17
u.t.
Processo A
Processo
Tempo de
processador
(u.t.)
A
10
B
4
C
3
Processo B
Processo A
Processo C
4
7
17
u.t.
Processo B
FIFO
Processo C
3
7
17
u.t.
Escalonamento Preemptivo

Quando o sistema pode interromper um processo em execução
para que outro processo utilize o processador

Escalonamento Circular (Round Robin)

Algoritmo projetado para sistemas de tempo compartilhado

Semelhante ao FIFO

Quando expira o tempo (time-slice ou quantum)

Preempção por tempo
Fila dos processos no estado de Pronto
Estado de
Criação
UCP
Preempção por tempo
Estado de
Espera
Estado de
Término
Escalonamento Preemptivo

Escalonamento por Prioridades

O RR trata os processos de maneira igual (CPU e I/O Bound)

Processos de maior prioridade são escalonados primeiro
 A preempção
-
-

é por prioridade (Contexto de Software)
Prioridade Estática – não é modificada durante a existência do
processo
Prioridade Dinâmica – pode ser ajustada de acordo com o tipo
de processamento e/ou a carga do sistema
Todos os sistemas de tempo compartilhado implementam algum
esquema de prioridade
Escalonamento Preemptivo

Escalonamento por Prioridades
Filas dos processos no estado de Pronto
Prioridade P1
Prioridade P2
Estado de
Criação
UCP
Prioridade Pn
Preempção por prioridade
Estado de
Espera
Estado de
Término
Escalonamento Preemptivo

Escalonamento por Múltiplas Filas

Pela diversidade dos tipos de processos do sistema


Geralmente são vários mecanismos de escalonamento
Classifica os processos quanto ao tipo de processamento :
 Implementar diversas filas de processo no estado de pronto

Cada fila possui uma prioridade associada
Fila de processos do sistema
Maior
prioridade
Fila de processos interativos
UCP
Fila de processos batch
Menor
prioridade
Fila 1 (FIFO Adaptado)
Preempção por tempo
Menor fatia
de tempo
Escalonamento por Múltiplas
Filas com Realimentação
Fila 2 (FIFO Adaptado)
Os processos alteram o seu
comportamento no decorrer do tempo

Preempção por tempo
Fila 3 (FIFO Adaptado)
Redireciona-se para uma fila adequada

Identifica dinamicamente o
comportamento de cada processo

Esse ajuste é denominado mecanismo
adaptativo
UCP
Preempção por tempo
Fila n (Circular)
Preempção por tempo
Maior fatia
de tempo

Menor
Prioridade

Maior
Prioridade
Escalonamento Preemptivo
Escalonamento Preemptivo

Escalonamento de Sistemas de Tempo Real

É realizado o escalonamento baseado no esquema de
prioridades de forma estática

Não devem ser alteradas as prioridades
Referências
TANEMBAUN, A. S.; WOODHULL, A. S.
“Sistemas
Operacionais – Projeto e Implementação". Bookman, 2000.
MACHADO, F. B. "Arquitetura de sistemas operacionais". LTC,
1997.
GUALEVE, J. A. F. “Sistemas Operacionais”. Brasília: Universidade
Católica de Brasília, 2006.
Download

GERENCIAMENTO DO PROCESSADOR