INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Sistemas OperacionaisGerência de Processador
WebDesign Redes de Computadores
Aula 13
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Introdução• Nos sistemas Operacionais Multiprogramáveis,
múltiplos processos permanecem na memória principal compartilhando o uso da CPU.
• A partir do momento em que diversos processos podem estar prontos para executar, 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ítica de Escalonamento, que é a base da gerência de processador em um S.O.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento
Estado de Execução
Estado de Espera
Estado de Pronto
Escalonamento
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Políticas de Escalonamento• 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 outro, atividade esta conhecida como preempção.
• Desta forma temos:
• Escalonamento Preemptivo
• Escalonamento não preemptivo.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento não-preemptivo• Quando um processo está em execução nenhum
evento pode ocasionar a perda do uso do processador.
• O processo somente sai do estado de execução caso termine seu processamento ou execute uma instruções do próprio código que ocasionem uma mudança para o estado de espera.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento preemptivo• 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 CPU.
• Com o uso da preempção, é possível ao sistema priorizar a execução de processos.
• É possível também distribuir de forma mais balanceada o uso da CPU entre os processos.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Algoritmos de escalonamento• Existem alguns algoritmos de CPU diferentes:
• Escalonamento FIFO;
• Escalonamento SJF;
• Escalonamento Cooperativo;
• Escalonamento Circular;
• Escalonamento por prioridade;
• Escalonamento Circular com prioridades;
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Fisrt-In-First-Out (FIFO)• Neste escalonamento, o processo que chegar primeiro ao
estado de pronto é selecionado para execução.
• Há a necessidade de uma fila, onde os processos que passam para o estado de pronto entram no seu final e são escalonados quando chegam ao seu início.
• Quando um processo vai para o estado de espera, o primeiro processo da fila de pronto é escalonado.
• Todos os processos que saem do estado de espera entram no final da fila de pronto.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Fisrt-In-First-Out (FIFO)
Estado deCriação CPU
Estado de Término
Estado deEspera
Filas de processos no estado pronto
Escalonamento FIFO
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Fisrt-In-First-Out (FIFO)• O principal problema do escalonamento FIFO é a
impossibilidade de prever-se quando o processo terá sua execução iniciada.
• Já que isso varia em função do tempo de execução dos demais processos posicionado à sua frente na fila de pronto.
• O algoritmo de escalonamento não se preocupa em melhorar o tempo médio de espera dos processos (como pudemos ver nas situações 1 e 2)
• O escalonamento FIFO é do tipo não-preemptivo.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Shortest-Job-Fisrt (SJF)• O algoritmo de escalonamento seleciona o processo que
tiver o menor tempo de processador ainda para executar.
• O processo em estado pronto que necessitar de menor tempo para executar é selecionado para execução.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Shortest-Job-Fisrt (SJF)• O principal problema desse algoritmo é impossibilidade
de estimar o tempo de processador para processos interativos, já que a entrada de dados é uma ação imprevisível.
• O SJF é um escalonamento não-preemptivo.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Cooperativo• O escalonamento cooperativo busca aumentar o grau de
multiprogramação em políticas de escalonamento não-preemptivas.
• Um processo em execução libera voluntariamente o processador, retornando a fila de pronto.
• A Liberação do processador é tarefa do processo em execução, e não do sistema operacional.
• O processo em execução verifica uma fila de mensagens para determinar se existem outro processos na fila de pronto.
• Exemplo: Primeiros S.O.s da família Windows (multitarefa cooperativo)
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Circular• É um escalonamento do tipo preemptivo.
• O processo em execução tem um tempo limite para o uso contínuo do processador.
• Caso a fatia de 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.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Circular
Estado deCriação CPU
Estado de Término
Estado deEspera
Filas de processos no estado pronto
Escalonamento FIFO
Preempção por tempo
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Circular• Exemplo: Escalonador circular com dois processos, e
fatia de tempo 2 u.t.
Processo A
Processo B
Processo C
2 4 6 8 10 11 17 u.t.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Circular• A principal vantagem desse escalonamento é permitir
que um processo não monopolize o processador.
• Um problema desta política é que os processos que fazem constantes acessos aos dispositivos de entrada e saída, tem mais chance de passar para o estado de espera antes de sofrerem preempção por tempo.
• Essa característica ocasiona um balanceamento desigual no uso do processador.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Circular virtual• Neste escalonamento os 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 a fila de pronto.
• O escalonador só seleciona processos na fila de pronto quando a fila auxiliar estiver vazia.
• Um processo escalonado a partir da fila auxiliar tem sua fatia de tempo calculada como sendo o valor da fatia de tempo do sistema menos o tempo de processador que o processo utilizou da última vez.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento Circular virtual
Estado deCriação CPU
Estado de Término
Estado deEspera
Filas de processos no estado pronto
Preempção por tempo
Fila auxiliar
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
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 é sempre escolhido para execução,e processos com prioridades iguais são escalonados seguindo o critério de FIFO.
• Um processo em execução não sofre preempção por tempo.
• A perda do uso do processador ocorrerá por uma mudança voluntária para o estado de espera, ou quando um processo mais prioritário passar para o estado de pronto.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento por prioridades
Estado deCriação
CPU
Estado de Término
Estado deEspera
Filas de processos no estado pronto
Prioridade P1
Prioridade P2
...Prioridade Pn
Preempção por prioridade
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento por prioridades• Exemplo: Escalonador por prioridades com três
processos:
Processo A
Processo B
Processo C
13 17 u.t.3
Processo Tempo de processador
Prioridade
A 10 2
B 4 1
C 3 3
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento circular com prioridades• Implementa o conceito de fatia de tempo e de prioridade de
execução à cada processo.
• Um processo permanece no estado de execução até que termine seu processamento, voluntariamente passe para o estado de espera ou sofra um preempção por tempo ou prioridade.
• Este escalonamento é amplamente utilizado em sistemas Unix e Windows.
• Permite um maior balanceamento do uso do processador.
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS
VIVIANE LUCY
Escalonamento circular com prioridades
Estado deCriação
CPU
Estado de Término
Estado deEspera
Filas de processos no estado pronto
Prioridade P1
Prioridade P2
...Prioridade Pn
Preempção por tempo ou prioridade