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

24
INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores Aula 13

Upload: internet

Post on 16-Apr-2015

115 views

Category:

Documents


5 download

TRANSCRIPT

Page 1: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Sistemas OperacionaisGerência de Processador

WebDesign Redes de Computadores

Aula 13

Page 2: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 3: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS

VIVIANE LUCY

Escalonamento

Estado de Execução

Estado de Espera

Estado de Pronto

Escalonamento

Page 4: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 5: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 6: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 7: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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;

Page 8: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 9: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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

Page 10: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 11: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 12: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 13: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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)

Page 14: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 15: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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

Page 16: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 17: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 18: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 19: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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

Page 20: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 21: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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

Page 22: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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

Page 23: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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.

Page 24: INTRODUÇÃO À ORGANIZAÇÃO DE COMPUTADORES E SISTEMAS OPERACIONAIS VIVIANE LUCY Sistemas Operacionais Gerência de Processador WebDesign Redes de Computadores

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