FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

34
FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo

Transcript of FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Page 1: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

FACULDADE CAMBURY

Sistemas Operacionais

Adriana Vettorazzo

Page 2: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

FACULDADE CAMBURY

Processos

Page 3: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Tipos de Filas para escalonamento de processos

Page 4: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

• Filas para escalonamento de processos

• "Fila de “jobs”: conjunto de todos os processos no sistema;• "Fila de prontos: conjunto de todos os processos que estão

prontos para executar mas não estão em execução• "Filas de dispositivos: conjunto de processos esperando por um

dispositivo de I/O

Page 5: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

• Filas para escalonamento de processos

• “Os processos migram entre as diversas filas do sistema”

Page 6: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Interrupções

Page 7: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Interrupções

• O mecanismo de interrupções é um recurso comum dos

processadores de qualquer porte.

• Ele permite que um controlador de periférico chame a

atenção do processador.

Page 8: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Interrupções

• Analogia:

Uma pessoa (processador) escrevendo uma

carta e o telefone toca (interrupção).

Quando termina a ligação, a pessoa volta a

escrever a carta.

Page 9: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Interrupções

• Sempre sinaliza a ocorrência de algum evento

• A rotina responsável por atender a interrupção é

chamada “Tratador de Interrupção”

Page 10: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Interrupções

• Tipos de interrupções:– Externas– Internas

Page 11: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Interrupções

• Externas:

– Originadas por periféricos

– Tempo Real

– Assíncronas

Page 12: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Tipos de Interrupções

Externa

É gerada pelo S.O. ou por algum dispositivo e, neste caso, independe do programa que está sendo executado.

Exemplo: Falta de papel na impressora.

Page 13: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Interrupções

• Internas:

– Erro (instrução inválida)

– Software (Chamada de Sistemas)

– Síncronas

Page 14: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Tipos de Interrupções

Interna

É resultado direto da execução do próprio programa, ou seja, uma instrução responsável pela ocorrência da interrupção. Também é chamado de traps ou exceções.

Page 15: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Eventos Síncronos e Eventos Assíncronos

• Os eventos síncronos são previsíveis e são o resultado direto da execução de um programa corrente.

• Eventos assíncronos são imprevisíveis e podem ocorrer múltiplas vezes. Eles não estão relacionados à instrução do programa corrente. A interrupção é um evento assíncrono, assim um dispositivo de E/S, informando ao processador que já está pronto para receber/transmitir dados, participa de um evento assíncrono.

Page 16: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Interrupção e Exceção

Page 17: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Deadlock

Page 18: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Deadlock

Um conjunto de N processos está em deadlock quando cada um dos N processos está bloqueado à espera de um evento que somente pode ser causado por um dos N processos do Conjunto.

Este processo está em deadlock porque está aguardando por um evento que nunca ocorrerá.

Page 19: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Page 20: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Deadlock

Um exemplo de deadlock de tráfego:

Uma lei americana do início do século:

“Quando dois trens se aproximarem um do outro em um cruzamento, ambos deverão parar completamente e nenhum dos dois deverá ser acionado até que o outro tenha partido”

Page 21: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Deadlock

Page 22: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Exemplos de Deadlock

Page 23: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Deadlock Simples de Recursos

Muitos deadlocks ocorrem devido à natureza de recursos dedicados que são recursos que só podem ser usados por um usuário por vez.

Ex: Processo A, detém o recurso 1, e precisa alocar o recurso 2 para prosseguir. Processo B, detém o recurso 2 e precisa do recurso 1 para prosseguir.

Page 24: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Deadlock em sistemas de Spooling

Spooling serve para agilizar as tarefas de impressão. Ao invés de mandar linhas diretas para a impressora, ele manda para o spool que envia para a impressora.

Page 25: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Deadlock em sistemas de Spooling

Alguns sistemas de spool, todo o job de impressão deve ser gerado antes do início da impressão.

Isso pode gerar deadlock, uma vez que o espaço disponível para spooling é limitado.

Page 26: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Adiamento indefinido

Processos ficam esperando pela alocação de recursos, é provável que ocorra adiamento indefinido, também chamado de bloqueamento indefinido (starvation).

Page 27: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Adiamento indefinido

Adiamento indefinido pode ocorrer devido às políticas de escalonamento, principalmente quando utiliza prioridades.

Uma forma de resolver é implementando o algoritmo de prioridades onde a prioridade do processo cresce enquanto ele espera.

Page 28: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Recursos

Page 29: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Recursos

Nome dado aos objetos que os processos podem adquirir;

Um recurso pode ser um dispositivo de hardware, ou uma informação na base de dados.

Page 30: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Recursos

Recursos podem ser:

• Preemptíveis• Não-preemptíveis

Page 31: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Recurso Preemptível

É aquele que pode ser tomado do processo que estiver utilizando o recurso sem nenhum prejuízo ao processo.

Ex: Mémoria e CPU

Page 32: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Recurso Não-Preemptível

É aquele que não pode ser tomado do processo aos quais foram alocados. Tem que ser executado até o fim.

Ex: Impressora iniciou a impressão de um relatório, não pode parar e começar a imprimir outro.

Gravação de CD/DVD.

Page 33: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Recurso

Um processo pode requisitar um recurso antes de usá-lo e deve liberá-lo após o uso.

Em uma situação de operação normal, um processo pode utilizar um recurso somente nesta sequência:

Page 34: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Sistemas Operacionais

Sequência:

1) Requisitar: se não pode ser atendida imediatamente, então o requisitante tem que esperar.

2) Usar: o processo pode operar sobre o recurso.

3) Liberar: processo libera o recurso.