![Page 1: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/1.jpg)
FACULDADE CAMBURY
Sistemas Operacionais
Adriana Vettorazzo
![Page 2: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/2.jpg)
FACULDADE CAMBURY
Processos
![Page 3: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/3.jpg)
Sistemas Operacionais
Tipos de Filas para escalonamento de processos
![Page 4: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/4.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/5.jpg)
Sistemas Operacionais
• Filas para escalonamento de processos
• “Os processos migram entre as diversas filas do sistema”
![Page 6: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/6.jpg)
Sistemas Operacionais
Interrupções
![Page 7: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/7.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/8.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/9.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/10.jpg)
Sistemas Operacionais
Interrupções
• Tipos de interrupções:– Externas– Internas
![Page 11: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/11.jpg)
Sistemas Operacionais
Interrupções
• Externas:
– Originadas por periféricos
– Tempo Real
– Assíncronas
![Page 12: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/12.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/13.jpg)
Sistemas Operacionais
Interrupções
• Internas:
– Erro (instrução inválida)
– Software (Chamada de Sistemas)
– Síncronas
![Page 14: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/14.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/15.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/16.jpg)
Interrupção e Exceção
![Page 17: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/17.jpg)
Sistemas Operacionais
Deadlock
![Page 18: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/18.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/19.jpg)
Sistemas Operacionais
![Page 20: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/20.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/21.jpg)
Sistemas Operacionais
Deadlock
![Page 22: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/22.jpg)
Sistemas Operacionais
Exemplos de Deadlock
![Page 23: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/23.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/24.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/25.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/26.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/27.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/28.jpg)
Sistemas Operacionais
Recursos
![Page 29: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/29.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/30.jpg)
Sistemas Operacionais
Recursos
Recursos podem ser:
• Preemptíveis• Não-preemptíveis
![Page 31: FACULDADE CAMBURY Sistemas Operacionais Adriana Vettorazzo](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/31.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/32.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/33.jpg)
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](https://reader036.vdocuments.site/reader036/viewer/2022062700/552fc120497959413d8cb412/html5/thumbnails/34.jpg)
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.