FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

Post on 17-Apr-2015

105 views 0 download

Transcript of FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo.

FACULDADE CAMBURY

Sistemas Operacionais

Adriana Vettorazzo

FACULDADE CAMBURY

Processos

Sistemas Operacionais

Tipos de Filas para escalonamento de processos

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

Sistemas Operacionais

• Filas para escalonamento de processos

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

Sistemas Operacionais

Interrupções

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.

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.

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”

Sistemas Operacionais

Interrupções

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

Sistemas Operacionais

Interrupções

• Externas:

– Originadas por periféricos

– Tempo Real

– Assíncronas

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.

Sistemas Operacionais

Interrupções

• Internas:

– Erro (instrução inválida)

– Software (Chamada de Sistemas)

– Síncronas

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.

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.

Interrupção e Exceção

Sistemas Operacionais

Deadlock

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

Sistemas Operacionais

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”

Sistemas Operacionais

Deadlock

Sistemas Operacionais

Exemplos de Deadlock

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.

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.

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.

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

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.

Sistemas Operacionais

Recursos

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.

Sistemas Operacionais

Recursos

Recursos podem ser:

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

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

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.

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:

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.