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: Requisitar: se não pode ser atendida imediatamente, então o requisitante tem que esperar. Usar: o processo pode operar sobre o recurso. Liberar: processo libera o recurso.