Arquitetura de Sistem as Arquitetura de Sistem as OperacionaisOperacionaisOperacionaisOperacionais
Fabiano Ut iyam aFabiano Ut iyam a
Capítulo 8Capítulo 8Gerência do ProcessadorGerência do ProcessadorGerência do ProcessadorGerência do Processador
8/1
I nt rodução
• Com o surgimento dos sistemas multiprogramáveis, nos quais múltiplos multiprogramáveis, nos quais múltiplos processos poderiam permanecer na memória principal compartilhando o memória principal compartilhando o uso da UCP– a gerência do processador tornou-se uma – a gerência do processador tornou-se uma
das atividades mais importantes em um sistema operacional
8/2
I nt rodução
• A partir do momento em que diversos processos podem estar no estado de processos podem estar no estado de pronto, critérios devem ser estabelecidos para determinar qual estabelecidos para determinar qual processo será escolhido para fazer uso do processadordo processador
• Os critérios utilizados para esta seleção compõem a chamada polít ica de compõem a chamada polít ica de escalonam ento
8/3
Escalonam ento
Estado deExecução
EscaEscalonam
ento
Estado deEspera
Estado dePronto
Escalonamento
Escalonamento
8/4
Funções Básicas
• A política de escalonamento de um sistema operacional tem diversas sistema operacional tem diversas funções básicas– Manter o processador ocupado a maior – Manter o processador ocupado a maior
parte do tempo– Balancear o uso da UCP entre processos– Privilegiar a execução de aplicações críticas– Maximizar o throughput do sistema
(produtividade)(produtividade)– Oferecer tempos de resposta razoáveis
para usuário interativos
8/5
para usuário interativos
Funções Básicas
• A rotina do sistema operacional que tem como principal função tem como principal função implementar os critérios da política de escalonamento é denominada escalonamento é denominada escalonador (sheduler)
• Outra rotina importante na gerência do • Outra rotina importante na gerência do processador é conhecida como dispatcher, responsável pela troca de dispatcher, responsável pela troca de contexto dos processos após o escalonador determinar qual processo deve fazer o uso do processador
8/6
deve fazer o uso do processador
Critér ios de Escalonam ento
• Política de escalonamento– Utilização do processador– Utilização do processador
•O processador deve permanecer a maior parte do tempo ocupadoparte do tempo ocupado
– Throughput•O número de processos executados em •O número de processos executados em um determinado intervalo de tempo. Quanto maior o throughput, maior o número de tarefas executadas em número de tarefas executadas em função do tempo
8/7
Critér ios de Escalonam ento
– Tempo de processador / Tempo de UCP•É o tempo que um processo leva no •É o tempo que um processo leva no estado de execução durante seu processamento
– Tempo de espera– Tempo de espera•É o tempo total que um processo permanece na fila de pronto durante seu permanece na fila de pronto durante seu processamento, aguardando para ser executadoexecutado
8/8
Critér ios de Escalonam ento
– Tempo de Turnaround•É o tempo que um processo leva desde •É o tempo que um processo leva desde a sua criação até seu término
– Tempo de Resposta•É o tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibidainstante em que a resposta é exibida
8/9
Escalonam entos
• As políticas de escalonamento podem ser classificadas segundo a ser classificadas segundo a possibilidade de o sistema operacional interromper um processo em execução interromper um processo em execução e substituí-lo por um outro, atividade esta conhecida como preempçãoesta conhecida como preempção
8/10
Escalonam entos
• Não-Preemptivos– Processamento batch– Processamento batch– Neste tipo de escalonamentoo, quando um
processo está em execução nenhum evento externo pode ocasionar a perda do evento externo pode ocasionar a perda do uso do processador
– O processo sai do estado de execução – O processo sai do estado de execução caso:•Termine seu processamento•Execute instruções do próprio código •Execute instruções do próprio código que ocasionem uma mudança para o estado de espera
8/11
estado de espera
Escalonam entos
• Preemptivos– O sistema operacional pode interromper – 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 UCPalocar outro processo na UCP
8/12
Escalonam ento FI FO
• O processo que chegar primeiro ao estado de pronto é o selecionado para estado de pronto é o selecionado para execução
8/13
Escalonam ento FI FO
Estado de
Fila dos processos no estado de Pronto
Estado de
UCP
Estado deCriação
Estado deTérmino
Estado deEspera
8/14
Escalonam ento FI FO
Processo A
Processo B
Processo C
10 14 17 u.t.
ProcessoTempo de
processador(u.t.)
Processo A
A
B
C
10
4
3
Processo B
Processo C
8/15
4 7 17 u.t.
Escalonam ento SJF
• O algoritmo de escalonamento seleciona o processo que tiver o menor seleciona o processo que tiver o menor tempo de processador ainda por executarexecutar
8/16
Escalonam ento Cooperat ivo
• É uma implementação que busca aumentar o grau de multiprogramação aumentar o grau de multiprogramação em políticas de escalonamento que não possuem mecanismos de preempçãopossuem mecanismos de preempção
• Neste caso, um processo em execução pode voluntariamente liberar o pode voluntariamente liberar o processador
8/18
Escalonam ento circular
• É um escalonamento do tipo preemptivopreemptivo
• É semelhante ao FIFO, porém quando um processo passa para o estado de um processo passa para o estado de execução existe um tempo-limite para o uso contínuo do processador o uso contínuo do processador denominado fatia de tempo (time-slice) ou quantumou quantum
8/19
Escalonam ento circular
Estado de
Fila dos processos no estado de Pronto
Estado de
Preempção por tempo
UCP
Estado deCriação
Estado deTérmino
Estado deEspera
8/20
Escalonam ento circular vir tual
• Neste esquema, processos que saem do estado de espera vão para uma fila do estado de espera vão para uma fila de pronto auxiliar
• Os processos da fila auxiliar possuem • Os processos da fila auxiliar possuem preferência no escalonamento em relação à fila de prontorelação à fila de pronto
• O escalonador só seleciona processos na fila de pronto quando a fila auxiliar na fila de pronto quando a fila auxiliar estiver vazia
8/22
Escalonam ento circular vir tual
UCP
Estado deCriação
Fila dos processos no estado de Pronto
Estado deTérmino
Preempção por tempo
UCP
Fila auxiliar
Estado deEspera
8/23
Escalonam ento por pr ior idades
• É um escalonamento do tipo preemptivo realizado com base em um preemptivo realizado com base em um valor associado a cada processo denominado prioridade de execuçãodenominado prioridade de execução
• O processo com maior prioridade no estado de pronto é sempre o escolhido estado de pronto é sempre o escolhido para execução, e processos com valores iguais são escalonados valores iguais são escalonados seguindo o critério de FIFO
8/24
Escalonam ento por prior idadesprioridades
Filas dos processos no estado de Pronto
Prioridade P1Prioridade P1
Prioridade P2
UCP
Estado deTérmino
Prioridade Pn
Estado deCriação
Preempção por prioridade
Estado deEspera
8/25
Escalonam ento por prior idades prior idades
Processo ATempo de
Processo B
Processo C
ProcessoTempo de
processador(u.t.)
A
B
10
4
Prioridade
2
1Processo C
3 13 17 u.t.
C 3 3
8/26
Escalonam ento circular com prior idadesprior idades
• Implementa o conceito de fatia de tempo e de prioridade de execução tempo e de prioridade de execução associada a cada processo
8/27
Escalonam ento circular com prioridadesprioridades
Fila dos processos no estado de ProntoFila dos processos no estado de Pronto
Prioridade P1
Prioridade P2
UCP
Estado deTérmino
Prioridade P2
Estado deCriação
Prioridade Pn
Preempção por tempo ou prioridade
Estado deEspera
8/28
Escalonam ento por m últ iplas filas com realim entaçãocom realim entação
• É semelhante ao escalonamentoo por múltiplas filas, porém os processos múltiplas filas, porém os processos podem trocar de filas durante seu processamentoprocessamento
8/29
Escalonam ento por m últ iplas filas com realim entaçãofilas com realim entação
Fila 1 (FIFO Adaptado)
r de
atia
po
Preempção por tempo
Fila 2 (FIFO Adaptado)
Maio
rPr
iori
dad
Men
or
fade
tem
p
UCP
Preempção por tempo
Fila 3 (FIFO Adaptado)
Preempção por tempo
Fila n (Circular)
Preempção por tempo
Men
or
Prio
rida
de
Maio
r fa
tia
de
tem
po
8/30
Polít ica de Escalonam ento em Sistem as de Tem po Com part ilhadoSistem as de Tem po Com part ilhado• Escalonamento circular• Escalonamento circular com • Escalonamento circular com
prioridades
8/31
Polít ica de escalonam ento em Sistem as de Tem po RealSistem as de Tem po Real
• Deve levar em consideração a importância relativa de cada tarefa na importância relativa de cada tarefa na aplicação
• O escalonamento por prioridade é o • O escalonamento por prioridade é o mais adequado
8/32
Exercícios
• O que é política de escalonamento de um Sistema Operacional?um Sistema Operacional?
• Quais as funções do escalonador e do dispatcher?dispatcher?
• Quais os principais critérios utilizados em uma política de escalonamento?em uma política de escalonamento?
• Diferencie os escalonamentos preemptivos e não-preemptivos.preemptivos e não-preemptivos.
• Cite os escalonamentos estudados, explicando cada um deles.
8/33
explicando cada um deles.
This document was created with Win2PDF available at http://www.win2pdf.com.The unregistered version of Win2PDF is for evaluation or non-commercial use only.This page will not be added after purchasing Win2PDF.