Buscar

Gerência do Processador em Sistemas Operacionais

Prévia do material em texto

Sistemas Operacionais 
*
Departamento de Informática/UFPA
Sistemas Operacionais
Capítulo 8
Gerência do Processador
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Sumário
	Introdução
	Funções Básicas
	Critérios de escalonamento
	Escalonamentos não-preemptivos e preemptivos
	Escalonamento FIFO
	Escalonamento SJF
	Escalonamento cooperativo
	Escalonamento circular
	Escalonamento por prioridades
	Escalonamento circular com prioridades
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Introdução
	Com surgimento dos sistemas multiprogramáveis, onde múltiplos processos poriam permanecer na memória principal compartilhando o uso da UCP.
	A gerência do processador se tornou-se uma das atividade mais importante de uma sistema operacional 
	A partir do momento em que diversos processos podem estar no estado de pronto, devem ser estabelecidos critérios para determinar qual processo fará uso do processador 
	Os critérios utilizados para esta seleção compõem a chamada política de escalonamento que a base da gerência do processador.
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Introdução
1.unknown
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Funções Básicas
	A política de escalonamento de um sistema operacional possui diversas funções básicas:
	Manter o processador ocupado a maior parte do tempo.
	 Balancear o uso da UCP entre os processos.
	Privilegiar a execução de aplicações críticas.
	Maximizar o throughput do sistema 
	Oferecer tempo de respostas razoáveis para usuários interativos.
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Funções Básicas
	A rotina do sistemas operacional que tem como principal função implementar os critérios de políticas de escalonamento é denominada escalonador (scheduler)
	Outra rotina importante na gerência do processador é conhecida como dispatcher responsável pela troca de contexto dos processo após o escalonador determinar qual processo fará uso do processador 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Critérios de Escalonamento
	As características de cada sistema operacional determinam quais são os principais aspectos para implementação de uma política de escalonamento adequada
	Em sistema de tempo compartilhado exigem que o escalonamento trate todos os processos de forma igual, evitando assim a ocorrência de starvation. 
	Já em sistemas de tempo real, o escalonamento deve priorizar a execução de processos críticos em detrimento da execução de outros processos
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Critérios de Escalonamento
	A seguir são apresentados os principais critério que devem ser considerados em uma política de escalonamento.
	Utilização do processador 
	Na maioria dos sistemas, é desejável que o processador permaneça ocupado a maior parte do tempo 
	Uma utilização na faixa dos 30% indica um sistema com uma carga de processamento baixa
	Um utilização na faixa dos 90% indica um sistema com uma carga de processamento alta.
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Critérios de Escalonamento
	Throughput 
	Throughput representa o número de processos executados em um determinado intervalo de tempo.
	Quanto maior o throughput, maior é o numero de tarefas executadas em função do tempo
	A maximização do throughput é desejada na maioria dos sistemas.
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Critérios de Escalonamento
	Tempo de processador/ Tempo de UCP
	É o tempo que um processo leva no estado de execução durante o seu processamento 
	Tempo de espera 
	É o tempo total que um processo permanece na fila de pronto, aguardando o seu processamento.
	Tempo Turnaround
	É o tempo que um processo leva desde a sua criação até ao seu término. 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Critérios de Escalonamento
	Tempo de Resposta
	É o tempo decorrido entre uma requisição ao sistema ou à aplicação e o instante em que a resposta é exibida.
	Em sistemas interativos, podemos entender tempo de respostas como o tempo decorrido entre a ultima teclas digitada pelo usuário e o início da exibição do resultado no monitor.
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamentos Não-Preemptivos e Preempitivos 
	A 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.
	Essa atividade é conhecida como preempção.
	Sistemas operacionais que implementam escalonamento com preempção são mais complexos, porém possibilitam políticas de escalonamento mais flexíveis 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamentos Não-Preemptivos e Preempitivos 
	Não-Preemptivo
	O escalonamento não-preempitivo foi o primeiro tipo de escalonamento implementado nos sistemas operacionais multipragramaveis.
	Neste escalonamento predominava tipicamente o processo bacth
	Neste tipo de escalonamento, quando um processo está em execução nenhum evento externo pode ocasionar a perda do uso do processador 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamentos Não-Preemptivos e Preemptivos 
	Preemptivo
	O escalonamento preemptivo é caracterizado pela possibilidade do sistemas operacional interromper um processo em execução e passá-lo para o estado de pronto com o objetivo de alocar outro processo.
	Com o uso de preempção é possível ao sistema priorizar a execução de processo, como no caso das aplicações de tempo real onde o tempo é um fato crítico 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento First-In-First-Out (FiFo)
	O processo que chegar primeiro ao estado de pronto é selecionado para execução.
	O algoritmo é bastante simples sendo necessário apenas uma fila, onde os processos que passam para o estado de pronto entram no seu final e são escalonados quando chegam ao seu inicio
	Quando o processo em execução termina o seu processamento ou vai pro estado de espera, o primeiro processo da fila de pronto é escalonado. 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento First-In-First-Out (FiFo)
 
2.unknown
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento First-In-First-Out (FiFo)
	Comparando o uso do FIFO em duas situações distintas, onde o processador A, B e C são criados no instante de tempo 0 com tempos no processador 10, 4 e 3.
3.unknown
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento First-In-First-Out (FiFo)
	Apesar de simples, o escalonamento FIFO apresente algumas deficiências. 
	O principal problema é a impossibilidade de se prever quando um processo terá sua execução iniciada, já que isso varia em função do tempo dos demais processos posicionados à sua frente na fila de pronto.
	O algoritmo de escalonamento não se preocupa em melhorar o tempo médio de espera dos processos.
	O escalonamento FIFO é do tipo não-preemptivo.
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento Shortest-Job-First (SJF)
	Neste algoritmo a forma de escalonamento é feito selecionando o processo que tiver o menor tempo de processamento ainda por executar.
	Desta forma, o processo em estado de pronto que necessitar de menos tempo de UCP para terminar seu processamento é selecionado para execução.
4.unknown
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento Shortest-Job-First (SJF)
	Um problema existente nesta implementação é não ser possível ao sistema operacional saber quanto tempoum processo irá permanecer utilizando a UCP na próxima vez que for escalonado.
	Contudo é possível prever o tempo com base no seu comportamento passado. 
	O tempo pode ser estimado com base na média exponencial dos tempos passados, onde tn é o tempo do processador utilizado no ultimo escalonamento e δn+1 é o valor estimando que será utilizado que será utilizado no escalonamento seguinte:
	
δn+1 = α tn + (1 – α) δn
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento Cooperativo 
	É uma implementação que busca aumentar o grau de multiprogramação em política de escalonamentos que não possuam mecanismo de preempção, como o FIFO e o SJF não preemptivo .
	 Neste caso, um processo em execução pode voluntariamente liberar o processador à fila de pronto, possibilitando que um novo processo seja escalonado e assim, permitir melhor distribuição no uso do processador.
	Neste mecanismo, o processo em execução verifica periodicamente uma fila de mensagens para determinar se existem outros processo na fila de pronto.
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento Circular (Round-Robin) 
	É um escalonamento do tipo preemptivo, projetado especialmente para sistemas de tempo compartilhado.
	Este algoritmo é bastante semelhante ao FIFO, porém quando um processo passa para o estado de execução, existe um tempo limite para uso continuo do processador denominado time-slice.
	Caso a fatia do tempo expire, o sistema operacional interrompe o processo em execução, salva o seu contexto e direciona-o para o final da fila de pronto. 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento Circular (Round-Robin) 
5.unknown
6.unknown
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento Circular (Round-Robin)
	Um refinamento do escalonamento circular, busca reduzir este problema dos processos que I/O bound, conhecido como escalonamento circular virtual. 
7.unknown
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento por Prioridades
	É 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 escolhido para execução.
	Neste escalonamento o conceito de fatia do tempo não existe, ou seja, não ocorre preempção por tempo.
	Esse mecanismo é conhecido como preempção por prioridade 
	No escalonamento por prioridade a perda do uso do processador só ocorrerá no caso de mudança voluntaria para o estado de espera ou um processo com maior prioridade passar para estado de pronto. 
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento por Prioridades
8.unknown
9.unknown
Sistemas Operacionais 
*
Departamento de Informática/UFPA
Gerência do Processador
	Escalonamento Circular com Prioridades
	Implementa o conceito de fatia de tempo e de prioridade de execução associada a cada processo. 
	Neste tipo de escalonamento, um processo permanece no estado de execução até que termine seu processamento, voluntariamente passe para o estado de espera ou sofra preempção por tempo ou prioridade. 
	A principal vantagem desse escalonamento é permitir o melhor balanceamento de carga 
Estado de
Espera
Estado de
Execução
Estado de
Pronto
E
s
c
a
l
o
n
a
m
e
n
t
o
UCP
Estado de
Criação
Estado de
Espera
Fila dos processos no estado de Pronto
Estado de
Término
Processo A
Processo B
Processo C
10
14
17
Processo A
Processo B
Processo C
4
7
17
u.t.
u.t.
Processo
Tempo de
processador
(u.t.)
A
B
C
10
4
3
Processo A
Processo B
Processo C
3
7
17
u.t.
Preempção por tempo
UCP
Estado de
Criação
Estado de
Espera
Fila dos processos no estado de Pronto
Estado de
Término
Processo A
Processo B
Processo C
2
4
17
u.t.
6
8
10
11
Preempção por tempo
UCP
Estado de
Criação
Fila dos processos no estado de Pronto
Estado de
Término
Estado de
Espera
Fila auxiliar
UCP
Estado de
Término
Filas dos processos no estado de Pronto
Prioridade P1
Prioridade P2
Prioridade Pn
Estado de
Criação
Estado de
Espera
Preempção por prioridade
Processo A
Processo B
Processo C
3
13
17
u.t.
Processo
Tempo de
processador
(u.t.)
A
B
C
10
4
3
Prioridade
2
1
3

Mais conteúdos dessa disciplina