Gerência Processador

Propaganda
Ar qu it e t u r a de Sist e m a s
Ope r a cion a is
Fa bia n o Ut iya m a
Ca pít u lo 8
Ge r ê n cia do Pr oce ssa dor
8/1
I n t r odu çã o
• Com o surgimento dos sistemas
multiprogramáveis, nos quais múltiplos
processos poderiam permanecer na
memória principal compartilhando o
uso da UCP
– a gerência do processador tornou-se uma
das atividades mais importantes em um
sistema operacional
8/2
I n t r odu çã o
• A partir do momento em que diversos
processos podem estar no estado de
pronto, critérios devem ser
estabelecidos para determinar qual
processo será escolhido para fazer uso
do processador
• Os critérios utilizados para esta seleção
compõem a chamada polít ica de
escalonam ent o
8/3
Esca lon a m e n t o
Estado de
Execução
lo
ca
Es
na
me
n to
Estado de
Espera
Estado de
Pronto
8/4
Fu n çõe s Bá sica s
• A política de escalonamento de um
sistema operacional tem diversas
funções básicas
– 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)
– Oferecer tempos de resposta razoáveis
para usuário interativos
8/5
Fu n çõe s Bá sica s
• A rotina do sistema operacional que
tem como principal função
implementar os critérios da política de
escalonamento é denominada
escalonador (sheduler)
• Outra rotina importante na gerência do
processador é conhecida como
dispatcher, responsável pela troca de
contexto dos processos após o
escalonador determinar qual processo
deve fazer o uso do processador
8/6
Cr it é r ios de Esca lon a m e n t o
• Política de escalonamento
– Utilização do processador
• O processador deve permanecer a maior
parte do tempo ocupado
– Throughput
• O número de processos executados em
um determinado intervalo de tempo.
Quanto maior o throughput, maior o
número de tarefas executadas em
função do tempo
8/7
Cr it é r ios de Esca lon a m e n t o
– Tempo de processador / Tempo de UCP
• É o tempo que um processo leva no
estado de execução durante seu
processamento
– Tempo de espera
• É o tempo total que um processo
permanece na fila de pronto durante seu
processamento, aguardando para ser
executado
8/8
Cr it é r ios de Esca lon a m e n t o
– Tempo de Turnaround
• É 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 é exibida
8/9
Esca lon a m e n t os
• As políticas de escalonamento podem
ser classificadas segundo a
possibilidade de o sistema operacional
interromper um processo em execução
e substituí-lo por um outro, atividade
esta conhecida como preempção
8/10
Esca lon a m e n t os
• Não-Preemptivos
– Processamento batch
– Neste tipo de escalonamentoo, quando um
processo está em execução nenhum
evento externo pode ocasionar a perda do
uso do processador
– O processo sai do estado de execução
caso:
• Termine seu processamento
• Execute instruções do próprio código
que ocasionem uma mudança para o
estado de espera
8/11
Esca lon a m e n t os
• Preemptivos
– 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 UCP
8/12
Esca lon a m e n t o FI FO
• O processo que chegar primeiro ao
estado de pronto é o selecionado para
execução
8/13
Esca lon a m e n t o FI FO
Fila dos processos no estado de Pronto
Estado de
Criação
UCP
Estado de
Término
Estado de
Espera
8/14
Esca lon a m e n t o FI FO
Processo A
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 C
4
7
17
u.t.
8/15
Esca lon a m e n t o SJF
• O algoritmo de escalonamento
seleciona o processo que tiver o menor
tempo de processador ainda por
executar
8/16
Esca lon a m e n t o SJF
Processo A
Processo B
Processo C
3
7
17
u.t.
8/17
Esca lon a m e n t o Coope r a t ivo
• É uma implementação que busca
aumentar o grau de multiprogramação
em políticas de escalonamento que não
possuem mecanismos de preempção
• Neste caso, um processo em execução
pode voluntariamente liberar o
processador
8/18
Esca lon a m e n t o cir cu la r
• É um escalonamento do tipo
preemptivo
• É semelhante ao FIFO, porém quando
um processo passa para o estado de
execução existe um tempo-limite para
o uso contínuo do processador
denominado fatia de tempo (time-slice)
ou quantum
8/19
Esca lon a m e n t o cir cu la r
Fila dos processos no estado de Pronto
Estado de
Criação
UCP
Estado de
Término
Preempção por tempo
Estado de
Espera
8/20
Esca lon a m e n t o cir cu la r
Processo A
Processo B
Processo C
2
4
6
8
10 11
17
u.t.
8/21
Esca lon a m e n t o cir cu la r vir t u a l
• Neste esquema, processos que saem
do estado de espera vão para uma fila
de pronto auxiliar
• Os processos da fila auxiliar possuem
preferência no escalonamento em
relação à fila de pronto
• O escalonador só seleciona processos
na fila de pronto quando a fila auxiliar
estiver vazia
8/22
Esca lon a m e n t o cir cu la r vir t u a l
Fila dos processos no estado de Pronto
Estado de
Criação
UCP
Estado de
Término
Preempção por tempo
Fila auxiliar
Estado de
Espera
8/23
Esca lon a m e n t o por pr ior ida de s
• É um escalonamento do tipo
preemptivo realizado com base em um
valor associado a cada processo
denominado prioridade de execução
• O processo com maior prioridade no
estado de pronto é sempre o escolhido
para execução, e processos com
valores iguais são escalonados
seguindo o critério de FIFO
8/24
Esca lon a m e n t o por
pr ior ida de s
Filas dos processos no estado de Pronto
Prioridade P1
Prioridade P2
Estado de
Criação
UCP
Estado de
Término
Prioridade Pn
Preempção por prioridade
Estado de
Espera
8/25
Esca lon a m e n t o por
pr ior ida de s
Processo A
Processo B
Processo C
3
13
17
Processo
Tempo de
processador
(u.t.)
Prioridade
A
10
2
B
4
1
C
3
3
u.t.
8/26
Esca lon a m e n t o cir cu la r com
pr ior ida de s
• Implementa o conceito de fatia de
tempo e de prioridade de execução
associada a cada processo
8/27
Esca lon a m e n t o cir cu la r com
pr ior ida de s
Fila dos processos no estado de Pronto
Prioridade P1
Prioridade P2
Estado de
Criação
UCP
Estado de
Término
Prioridade Pn
Preempção por tempo ou prioridade
Estado de
Espera
8/28
Esca lon a m e n t o por m ú lt ipla s fila s
com r e a lim e n t a çã o
• É semelhante ao escalonamentoo por
múltiplas filas, porém os processos
podem trocar de filas durante seu
processamento
8/29
Fila 1 (FIFO Adaptado)
Preempção por tempo
Menor fa
atia
de temp
po
Maiorr
Prioridad
de
Esca lon a m e n t o por m ú lt ipla s
fila s com r e a lim e n t a çã o
Fila 2 (FIFO Adaptado)
Preempção por tempo
Fila 3 (FIFO Adaptado)
UCP
Fila n (Circular)
Maior fatia
de tempo
Menor
Prioridade
Preempção por tempo
Preempção por tempo
8/30
Polít ica de Esca lon a m e n t o e m
Sist e m a s de Te m po Com pa r t ilh a do
• Escalonamento circular
• Escalonamento circular com
prioridades
8/31
Polít ica de e sca lon a m e n t o e m
Sist e m a s de Te m po Re a l
• Deve levar em consideração a
importância relativa de cada tarefa na
aplicação
• O escalonamento por prioridade é o
mais adequado
8/32
Ex e r cícios
• O que é política de escalonamento de
um Sistema Operacional?
• Quais as funções do escalonador e do
dispatcher?
• Quais os principais critérios utilizados
em uma política de escalonamento?
• Diferencie os escalonamentos
preemptivos e não-preemptivos.
• Cite os escalonamentos estudados,
explicando cada um deles.
8/33
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.
Download