O que é o mecanismo de interrupção?

Sistemas Multiprogram�veis

1. Introdu��o

  • Possibilidade de perif�ricos e dispositivos funcionarem simultaneamente junto com a CPU permitiu execu��o de tarefas concorrentes.
  • Sistemas Operacionais podem ser vistos como um conjunto de rotinas que executam concorrentemente de uma forma ordenada
  • Sistemas multiprogram�veis X baixa utiliza��o dos recursos do sistema.
  • Uso M�dio CPU � monoprogram�veis 30% X multiprogram�veis 90%.
  • V�rios programas podem estar residentes na mem�ria, deixando-a menos ociosa
  • Quando um programa perde o uso do processador, o estado do processamento deve ser armazenado para quando ele retornar para continuar executando a partir de onde parou.
  • Compartilhamento de perif�ricos e recursos do sistema por v�rios usu�rios e programas.
  • Maior compexibilidade do Sistema Operacional.

2. Interrup��o e Exce��o

  • Interrup��o X Exce��o
    • Interrup��o gerada por evento s�ncrono e Exce��o gerada por evento ass�ncrono.
    • Evento s�ncrono � Resultado direto da execu��o do programa corrente e s�o previs�veis.
    • Evento ass�ncrono � Ocorre independentemente da execu��o do programa corrente e s�o imprevis�veis.
  • Interrup��es
    • Tornou poss�vel a implementa��o da concorr�ncia nos sistemas multiprogram�veis.
    • Eventos que causam interven��o no Sistema Operacional durante a execu��o de programas.
    • Gerados pelo pr�prio Sistema Operacional ou por Hardware.
    • O sistema � desviado para uma rotina especial de tratamento.
    • Vetor de Interrup��o � Rela��o de todas as rotinas de tratamento das interrup��es.
    • Mecanismo de Interrup��o � Procedimento para detectar a interrup��o, salvar o contexto do programa e desviar para a rotina de tratamento. Na maioria das vezes implementados pelos projetistas e realizados pelo harware.
    • Mascar�veis (podem ser desabilitadas) X N�o-Mascar�veis (tratamento obrigat�rio).
    • As interrup��es possuem prioridades de execu��o.
    • Controlador de pedidos de interrup��o � avalia as interrup��es geradas e suas prioridades de atendimento.
  • Exce��o
    • Resultado direto da execu��o de uma instru��o do pr�prio programa (ex: divis�o por zero, overflow).
    • Muitas vezes pode ser escrita pelo pr�prio programador, sendo poss�vel evitar que um programa seja encerrado no caso de alguma exce��o ocorrer.

3. Opera��es de Entrada/Sa�da

  • Instru��es de entrada/sa�da:
    • Primitivo.
    • Comunica��o entre a CPU e os perif�ricos controladas por um conjunto de instru��es especiais.
    • Limitava a comunica��o do processador a um conjunto particular de dispositivos.
  • controlador de interfa�e:
    • Mais atual
    • CPU interage independente dos dispositivos de E/S.
    • CPU n�o comunica diretamente com perif�ricos, mas atrav�z de um controlador.
    • Controle de opera��es de E/S pelo processador
    • Controlada por programa:
    • CPU sincronizada com perif�rico no in�cio daopera��o
    • Sistema testa perif�rico esperando final da opera��o
    • Ocupa CPU at� t�rmino da opera��o (busy wait)
    • Desperd�cio de CPU.
    • Por Polling
    • CPU liberada para outras tarefas.
    • Controlador testa final da opera��o a cada per�odo de tempo (polling).
    • Permitiu o paralelismo e sistemas multiprogram�veis.
    • Mais eficiente
  • DMA
    • Polling exigiu a implementa��o, por parte do controlador, da Direct Memory Access (DMA).
    • Transferir blocos de dados entre mem�ria e perif�ricos, sem interven��o da CPU, a n�o ser no in�cio e t�rmino da opera��o.
    • CPU interrompida s� no in�cio e final da Opera��o.
    • No momento da Transfer�ncia da DMA, CPU interrompe acesso ao bus.
  • No IBM 7094:
  • Extens�o do conceito de DMA
  • Canal de E/S � processador para executar programas de E/S.
  • Controle total sobre opera��es de entrada e sa�da.
  • Instru��es E/S armazenadas na mem�ria principal pela CPU
  • CPU instrui canal para executar programa de canal.
  • O canal avisa o t�rmino da opera��o.
  • Um canal pode controlar m�ltiplos dispositivos atrav�s de diversos controladores.
  • Um controlador pode manipular um dispositivo, ou um conjunto de dispositivos.
  • Canal - liga��o entre CPU e controlador.
  • Processador de E/S:
  • Evolu��o com mem�ria pr�pria.
  • Sem necessidade de programas de E/S serem carregados na Mem�ria Principal.
  • Controle com m�nima interven��o da CPU.

4. Buffering

  • Utiliza��o de uma �rea da mem�ria para transfer�ncia de dados entre perif�ricos e mem�ria principal denomidada buffer.
  • Os dado s�o transferidos para o buffer.
  • O dispositivo pode iniciar nova leitura enquanto a CPU manipula os dados do buffer.
  • O mesmo pode ser aplicado para opera��es de grava��o.
  • Minimiza o problema da disparidade da velocidade de processamento e dispositivos de E/S
  • Objetiva manter CPU e dispositivos de E/S ocupados na maior parte do tempo.
  • O buffer possui uma fila FIFO podendo conter v�rios registros (unidade de transfer�ncia usada no mecanismo de buffering).

5. Spooling (simultaneous pefipheral operation on-line)

  • Surgiu no final dos anos 50.
  • Base dos Sistemas Batch
  • Antes, as Opera��es I/O eram lentas, deixando a CPU ociosa.
  • No spooling v�rios programas (JOBS) eram armazenados em uma fita magn�tica, ent�o eram enviados para processamento.
  • Diminui��o do tempo de execu��o dos jobs e transi��o entre eles.
  • Da mesma forma um job poderia direcionar as sa�das para impressora para outra fita.
  • Sistemas estritamente sequenciais devido as fitas magn�ticas.
  • Mais efici�ncia com o surgimento de dispositivos de acesso direto, como discos e atribui��o de prioridades aos jobs.

6. Reentr�ncia

  • Diversos usu�rios podem estar rodando o mesmo utilit�rio (compartilhado) simultaneamente.
  • N�o precisa ter mais de uma c�pia do mesmo utilit�rio na mem�ria
  • Exige que o c�digo reentrante n�o possa ser modificado por nenhum usu�rio enquanto est� sendo executado.
  • Diversos usu�rios podem acessar partes diferentes do c�digo manipulando seus pr�prios dados
  • Exemplo: Editores de texto, compiladores, linkers.

7. Prote��o do Sistema

  • Garantia de prote��o de recursos compartilhados, como mem�ria, dispositivos de E/S e CPU
  • Na mem�ria, cada usu�rio deve possuir uma �rea de dados e c�digos armazenados de forma que outros n�o interfiram nessas informa��es.
  • Numa impress�o, n�o deve ser poss�vel a utiliza��o at� que a impress�o corrente termine.
  • O Sistema Operacional deve implementar esses mecanismos (modos de acesso).

[voltar]

O que é um mecanismo de interrupções?

O mecanismo de interrupção constitui a base para a implementação do esquema de paralelismo entre CPU e periféricos na multiprogramação. É um mecanismo usado para sinalizar à CPU a ocorrência de eventos importantes relacionados aos dispositivos periféricos e outros elementos do sistema.

O que é uma interrupção exemplifique?

Uma interrupção é um evento externo que causa o processador parar a execução do programa corrente e desviar a execução para um bloco de código chamado rotina de interrupção (normalmente são decorrentes de operações de E/S).

Quais são os três tipos de interrupção?

Interrupções podem ser categorizadas em: maskable interrupt, non-maskable interrupt (NMI), inter-processor interrupt (IPI), software interrupt, e spurios interrupt.