Buscar

Gerência do Processador em Sistemas Operacionais

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

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
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)
 
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.
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.
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 tempo um 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) 
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. 
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
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

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais