• Nenhum resultado encontrado

Gerência do Processador

N/A
N/A
Protected

Academic year: 2021

Share "Gerência do Processador"

Copied!
63
0
0

Texto

(1)

Sistemas Operacionais

Gerência do

Processador

Andrique Amorim www.andrix.com.br professor@andrix.com.br

(2)

Desenvolvimento web II

(3)

Desenvolvimento web II

DEADLOCK

(interbloqueio, blocagem, impasse)

Situação em que ocorre um impasse e dois ou mais processos ficam impedidos de continuar suas execuções - ou seja, ficam bloqueados, esperando uns pelos outros.

(4)

Desenvolvimento web II

(5)

Desenvolvimento web II

(6)

Desenvolvimento web II

STARVATION

Problema gerado no escalonamento quando um processo nunca é executado ("morre de fome") por causa de outros processos de prioridade maior que sempre o impedem de ser executado.

(7)

Desenvolvimento web II

STARVATION

A situação de starvation está presente quando o SO provê prioridades a processos. Quando as prioridades não são atualizadas fazem com que os processos de menor prioridade nunca sejam executados causando assim, deficiência em servidores de impressão e etc.

(8)

Desenvolvimento web II

(9)

Sistemas Operacionais

Gerência do Processador

No gerenciamento dos processos serão

definidas as propriedades dos processos

em execução, e a maneira como cada um

receberá o tempo de execução no

processador.

(10)

Sistemas Operacionais

Gerência do Processador

A principal função do gerenciador de

processos é exatamente a execução do

processo no processador de maneira

adequada (considerando a prioridade do

processo e a quantidade de processos

gerenciados).

(11)

Sistemas Operacionais

Gerência do Processador

•Prioridade do Processo.

•estado do processo.

(12)

Sistemas Operacionais

Gerência do Processador

Um das atividades mais importantes em

um Sistema Operacional.

(13)

Sistemas Operacionais

Gerência do Processador

Critérios para determinar qual processo

será

escolhido

para

fazer

uso

do

processador.

(14)

Sistemas Operacionais

Gerência do Processador

Critérios são chamados de

POLÍTICA DE ESCALONAMENTO

A política de escalonamento é implementada

através de prioridades associadas aos

processos, denominadas prioridades base,

esta prioridade é estabelecida no momento

da criação do processo.

(15)

Sistemas Operacionais

Gerência do Processador

O SO deve decidir qual dos processos

aptos, armazenados em uma fila, será

escolhido para rodar primeiro.

(16)

Sistemas Operacionais

Gerência do Processador

Essa tarefa e a tomada de decisão é feita

pelo

escalonador de processos

(parte do

sistema operacional)

(17)

Sistemas Operacionais

Gerência do Processador

Algoritmos

para

Gerenciamento

de

Processos

conjunto de instruções que irão executar uma

determinada tarefa.

Algoritmo para um Gerenciador de Processos

contém as instruções necessárias para que o

gerenciamento seja feito de maneira correta e

organizada.

(18)

Sistemas Operacionais

Gerência do Processador

Atualmente os SO têm uma necessidade

por algoritmos extremamente eficientes,

devido:

• maior número de programas em execução nos computadores

(19)

Sistemas Operacionais

Escalonadores

É a entidade do SO responsável por

selecionar

um processo apto a executar

no processador e

dividir

o tempo do

processador de forma justa entre os

processos que estão aptos.

(20)

Sistemas Operacionais

Escalonadores

implementar uma política de

escalonamento de processos.

(21)

Sistemas Operacionais

Escalonadores

O sistema operacional possui um módulo

responsável por efetuar a troca de

contexto entre a execução de processos

distintos, chamado de Dispatcher.

(22)

Sistemas Operacionais

Objetivos do escalonamento:

1. Maximizar a utilização do processador 2. Privilegiar aplicações que são críticas

3. Maximizar a produção do sistema (throughput)

(Número de processos executados por unidade de tempo)

4. Minimizar o tempo de execução (turnaround – tempo que um processo gasta desde a sua criação até seu término)

Tempo total para executar um determinado processo 5. Minimizar o tempo de espera

Tempo que um processo permanece na lista de aptos 6. Minimizar o tempo de resposta

(23)

Sistemas Operacionais

Tipos de escalonadores

1. não-preemptivo

2. preemptivo

(24)

Sistemas Operacionais

Tipos de escalonadores

1. não-preemptivo: escalonadores que

permitem que os processos rodem até o

fim

de

sua

execução

sem

ser

interrompidos por eventos externos.

(25)

Sistemas Operacionais

Tipos de escalonadores

1. não-preemptivo usa o processador

até que:

1. Término de execução do processo

2. Execução de uma requisição de entrada/saída ou sincronização

3. Liberação voluntária do processador a outro processo

(26)

Sistemas Operacionais

Tipos de escalonadores

2. preemptivo: escalonadores que são

capazes de suspender processos que

poderiam continuar executando.

(27)

Sistemas Operacionais

Tipos de escalonadores

2. Preemptivo usa o processador até

que:

1. Término de execução do processo

2. Execução de uma requisição de entrada/saída ou sincronização

3. Liberação voluntária do processador a outro processo 4. Interrupção de relógio

5. Processo de mais alta prioridade esteja pronto para executar

(28)

Sistemas Operacionais

Algoritmos de escalonamento

O algoritmo de escalonamento deve

selecionar qual processo irá executar

em

um

determinado

instante

de

tempo.

(29)

Sistemas Operacionais

Algoritmos de escalonamento

Algoritmos não preemptivos

1. FIFO

(30)

Sistemas Operacionais

Algoritmos de escalonamento

Algoritmos preemptivos

1. Round robin (circular)

2. Escalonamento por prioridades

3. Múltiplas Filas

(31)

Sistemas Operacionais

Algoritmos de escalonamento

FIFO - First In First Out

É

o

algoritmo

mais

simples

de

implementar,

onde

o

processador

possui uma fila associada para

armazenar os processos que estão

aptos a executar.

(32)

Sistemas Operacionais

Algoritmos de escalonamento

FIFO - First In First Out

Funcionamento:

1. Processos que se tornam aptos são inseridos no final da fila

2. Processo que está no início da fila é o próximo a executar

(33)

Sistemas Operacionais

Algoritmos de escalonamento

FIFO - First In First Out

Desvantagem:

1. Prejudica processos I/O bound

(34)

Sistemas Operacionais

Algoritmos de escalonamento

FIFO - First In First Out

Exemplo 1

(35)

Sistemas Operacionais

Algoritmos de escalonamento

FIFO - First In First Out

Exemplo 1

(36)

Sistemas Operacionais

Algoritmos de escalonamento

FIFO - First In First Out

Exemplo 2

(37)

Sistemas Operacionais

Algoritmos de escalonamento

SJF - Shortest Job First

Para usar este algoritmo precisamos

conhecer antecipadamente o tempo de

execução de cada processo.

(38)

Sistemas Operacionais

Algoritmos de escalonamento

SJF - Shortest Job First

• Menor tarefa primeiro

• Cada processo é associado com o

tempo

de

utilização

da

CPU

(normalmente derivado das execuções

anteriores)

(39)

Sistemas Operacionais

Algoritmos de escalonamento

SJF - Shortest Job First

A idéia é alocar o processador para o

menor job da fila.

O menor tempo médio é obtido quando se executa primeiro os processos de menor ciclo de processador (I/O bound). Portanto, os processos I/O bound são favorecidos.

(40)

Sistemas Operacionais

Algoritmos de escalonamento

SJF - Shortest Job First

Exemplo 1

(41)

Sistemas Operacionais

Algoritmos de escalonamento

SJF - Shortest Job First

Exemplo 1

(42)

Sistemas Operacionais

Algoritmos de escalonamento

(43)

Sistemas Operacionais

Algoritmos de escalonamento

RR - Round Robin

A cada processo atribuímos um tempo

durante o qual ele poderá utilizar o

processador.

Denominamos este intervalo de tempo

de quantum.

(44)

Sistemas Operacionais

Algoritmos de escalonamento

RR - Round Robin

Este algoritmo é similar ao algoritmo

FIFO, pois também mantemos uma fila,

agora circular, para armazenar os

processos.

(45)

Sistemas Operacionais

Algoritmos de escalonamento

RR - Round Robin

existe a necessidade de um relógio para

delimitar as fatias de tempo

(46)

Sistemas Operacionais

Algoritmos de escalonamento

(47)

Sistemas Operacionais

Algoritmos de escalonamento

RR - Round Robin

O

processo

perde

o

processador

quando:

1. Libera explicitamente o processador

2. Realize uma chamada de sistema

(bloqueado)

3. Termina sua execução

(48)

Sistemas Operacionais

Algoritmos de escalonamento

RR - Round Robin

Problema 1: Dimensionar o quantum

1. Compromisso entre overhead e tempo de

resposta em função do número de usuários

2.

Compromisso

entre

tempo

de

chaveamento

e

tempo

do

ciclo

de

processador (quantum)

(49)

Sistemas Operacionais

Algoritmos de escalonamento

RR - Round Robin

Imagine que a cada 20 ms de processamento

útil seja necessário gastar 5 ms com tarefas

de troca de contexto para rodar processos de

outro usuário, por exemplo. Com isso, 20%

do tempo de processador será gasto com

estes overheads.

(50)

Sistemas Operacionais

Algoritmos de escalonamento

RR - Round Robin

Problema 2: Processos I/O bound são

prejudicados

1. Esperam da mesma forma que processos

CPU bound porém muito provavelmente não

utilizam todo o seu quantum

(51)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

1. Associar prioridades a processos I/O bound para compensar o tempo gasto em estado de espera (apto)

2. Sempre que um processo de maior prioridade que o processo atualmente em execução entrar no estado apto deve ocorrer uma preempção

3. Escalonamento com prioridades é inerente a preempção

4. É possível haver prioridade não-preemptiva

5. Escalonador deve sempre selecionar o processo de mais alta prioridade

(52)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

Prioridade estática versus

dinâmica

(53)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

Prioridade estática:

Um

processo

é

criado

com

uma

determinada prioridade e esta prioridade é

mantida durante todo o tempo de vida do

processo

(54)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

Prioridade dinâmica:

Prioridade do processo é ajustada de

acordo com o estado de execução do

processo e/ou do sistema

(55)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

Implementação

de

escalonador

com

prioridades

1. Múltiplas filas associadas ao estado apto

2. Cada fila uma prioridade

3. Pode ter sua própria política de

escalonamento (FIFO, SJF, RR)

(56)

Sistemas Operacionais

Algoritmos de escalonamento

(57)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

Problemas com prioridades

1. Com prioridades um processo de baixa prioridade pode não executar (starvation)

2. Um processo que durante sua execução troca de comportamento (CPU bound a I/O bound)

pode ficar mal classificado a nível de prioridades e ser penalizado

(58)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

Múltiplas filas com realimentação

1. Baseado em prioridades dinâmicas.

2. Em função do tempo de uso da CPU a prioridade do processo aumenta e diminui

3. Sistema de envelhecimento (aging) evita

(59)

Sistemas Operacionais

Algoritmos de escalonamento

Múltiplas filas

Esse algoritmo se baseia no uso de

várias classes de prioridades, sendo que

cada uma possui o seu

próprio

intervalo de tempo.

(60)

Sistemas Operacionais

Algoritmos de escalonamento

Múltiplas filas

• A fila de prontos é separada em várias filas: – fila para processos interativos

– fila para processos em lote

• Cada fila tem sua política de escalonamento – RR para processos interativos

– FiFo para processos em lote

• Deve haver um escalonamento entre as filas

– Prioridade: primeiro a fila de processos interativos (possibilidade de abandono de processos (starvation) – Fatia de tempo para cada fila

(61)

Sistemas Operacionais

Algoritmos de escalonamento

• Processos podem ser transferidos de fila

• Envelhecimento (aging): processo vai ganhando prioridade com o tempo

• Escalonador com múltiplas filas pode ser definido através dos seguintes parâmetros:

– Número de filas

– Algoritmos de escalonamento para cada fila

– Método utilizado para aumentar a prioridade do processo – Método utilizado para diminuir a prioridade do processo

– Método utilizado para determinar qual fila o processo ficará quando o mesmo solicita um serviço

(62)

Sistemas Operacionais

Algoritmos de escalonamento

Escalonadores por prioridades

Prioridade dinâmica:

Prioridade do processo é ajustada de

acordo com o estado de execução do

processo e/ou do sistema

(63)

Desenvolvimento web II

Referências

Documentos relacionados

– dificuldade em mensurar a dimensão do problema , em trabalhar a diversidade de manifestações no extenso território nacional e em pautar o assunto nos diferentes espaços públicos

É bastante conhecido, que a melhoria da eficiência na aplicação envolve a escolha adequada do equipamento de aplicação, com ponta de pulverização que produza

Microglanis lundbergi is distinguished from all congeners by the presence of a forked caudal fin with a deep notch between upper and lower lobes (vs. rounded, emarginated, or

Estima-se que a diversidade de espécies na Mata Atlântica e no Brasil seja muito maior e o baixo número de táxons conhecidos se dá por falta de identificação ao

Essa configuração do porão foi pensada talvez como alternativa de transição entre a situação de hoje e a alternativa a, ou como opção que não prescinde de um aumento no número

Um líder arrojado de pulso firme(infundir respeito e temor aos insubmissos) (infundir respeito e temor aos insubmissos) e. Aos liderados vai a dica de estarem sempre ligados

Possui poucas opções de lazer e os idosos se divertem participando dos grupos de atendimento ao idoso, oferecidos pela prefeitura municipal e ONGs (Organizações

Eles não apenas iniciaram seus estudos pela obra de Rocha Pombo, mas também podiam estender esse contato nos anos seguintes de sua formação, uma vez que outras obras