A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Sistemas Operacionais Gerência de Processador

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

Apresentações semelhantes


Apresentação em tema: "Sistemas Operacionais Gerência de Processador"— Transcrição da apresentação:

1 Sistemas Operacionais Gerência de Processador
WebDesign Redes de Computadores Aula 13

2 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.

3 Escalonamento Estado de Execução Espera Pronto Escalonamento

4 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.

5 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.

6 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.

7 Algoritmos de escalonamento
Existem alguns algoritmos de CPU diferentes: Escalonamento FIFO; Escalonamento SJF; Escalonamento Cooperativo; Escalonamento Circular; Escalonamento por prioridade; Escalonamento Circular com prioridades;

8 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.

9 Escalonamento Fisrt-In-First-Out (FIFO)
Estado de Criação CPU Término Espera Filas de processos no estado pronto Escalonamento FIFO

10 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.

11 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.

12 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.

13 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)

14 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.

15 Escalonamento Circular
Estado de Criação CPU Término Espera Filas de processos no estado pronto Escalonamento FIFO Preempção por tempo

16 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.

17 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.

18 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.

19 Escalonamento Circular virtual
Estado de Criação CPU Término Espera Filas de processos no estado pronto Preempção por tempo Fila auxiliar

20 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.

21 Escalonamento por prioridades
Estado de Criação CPU Término Espera Filas de processos no estado pronto Prioridade P1 Prioridade P2 ... Prioridade Pn Preempção por prioridade

22 Escalonamento por prioridades
Exemplo: Escalonador por prioridades com três processos: Processo Tempo de processador Prioridade A 10 2 B 4 1 C 3 Processo A Processo B Processo C 13 17 u.t. 3

23 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.

24 Escalonamento circular com prioridades
Estado de Criação CPU Término Espera Filas de processos no estado pronto Prioridade P1 Prioridade P2 ... Prioridade Pn Preempção por tempo ou prioridade


Carregar ppt "Sistemas Operacionais Gerência de Processador"

Apresentações semelhantes


Anúncios Google