introduÇÃo À organizaÇÃo de computadores e sistemas operacionais viviane lucy sistemas...

Post on 16-Apr-2015

115 Views

Category:

Documents

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related