GeeksforGeeks

, Author

Interrupção é um sinal emitido por hardware ou software quando um processo ou um evento necessita de atenção imediata. Ele alerta o processador para um processo de alta prioridade que requer a interrupção do processo de trabalho atual. Nos dispositivos de E/S uma das linhas de controle do barramento é dedicada para este propósito e é chamada de Rotina de Serviço de Interrupção (ISR).

Quando um dispositivo levanta uma interrupção, digamos processo i, o processador primeiro completa a execução da instrução i. Depois carrega o Contador de Programas (PC) com o endereço da primeira instrução da ISR. Antes de carregar o Contador de Programas com o endereço, o endereço da instrução interrompida é movido para um local temporário. Portanto, depois de manipular a interrupção o processador pode continuar com o processo i+1.

Apesar de manipular as interrupções o processador deve informar ao dispositivo que sua solicitação foi reconhecida para que ele pare de enviar o sinal de solicitação de interrupção. Além disso, ao salvar os registros para que o processo interrompido possa ser restaurado no futuro, aumenta o atraso entre o momento em que uma interrupção é recebida e o início da execução do ISR. Isto é chamado de Interrupt Lattency.

Hardware Interrupts:
Em uma interrupção de hardware, todos os dispositivos são conectados à Linha de Requisição de Interrupção. Uma única linha de requisição é usada para todos os n dispositivos. Para solicitar uma interrupção, um dispositivo fecha sua chave associada. Quando um dispositivo solicita uma interrupção, o valor de INTR é o OU lógico das solicitações de dispositivos individuais.

Sequência de eventos envolvidos no manuseio de um IRQ:

  1. Os dispositivos levantam um IRQ.
  2. O processador interrompe o programa que está sendo executado.
  3. O dispositivo é informado que sua solicitação foi reconhecida e o dispositivo desativa o sinal de solicitação.
  4. A acção solicitada é executada.
  5. Interrupção é activada e o programa interrompido é reiniciado.

A manipulação de múltiplos dispositivos:
Quando mais do que um dispositivo levanta um sinal de pedido de interrupção, então é necessária informação adicional para decidir qual o dispositivo a ser considerado primeiro. Os seguintes métodos são usados para decidir qual dispositivo selecionar: Sondagem, Interrupções Vectoriais e Aninhamento de Interrupção. Estes são explicados abaixo.

  1. Votação:
    Na sondagem, o primeiro dispositivo encontrado com o conjunto de bits IRQ é o dispositivo que deve ser atendido primeiro. O ISR apropriado é chamado para fazer a manutenção do mesmo. É fácil de implementar, mas muito tempo é desperdiçado ao interrogar o bit IRQ de todos os dispositivos.
  2. Interrupções Vetoriais:
    Em interrupções vetoriais, um dispositivo solicitando uma interrupção se identifica diretamente ao enviar um código especial para o processador através do barramento. Isto permite ao processador identificar o dispositivo que gerou a interrupção. O código especial pode ser o endereço inicial do ISR ou onde o ISR está localizado na memória, e é chamado de vector de interrupção.
  3. Nesting de Interrupção:
    Neste método, o dispositivo de E/S está organizado em uma estrutura de prioridade. Portanto, o pedido de interrupção de um dispositivo de prioridade mais alta é reconhecido onde como pedido de um dispositivo de prioridade mais baixa não é. Para implementar isto cada processo/dispositivo (mesmo o processador). O processador aceita interrupções somente de dispositivos/processos com prioridade maior que ela.

A prioridade dos processadores é codificada em alguns bits de PS (Process Status register). Ela pode ser alterada pelas instruções do programa que escrevem no PS. O processador está em modo supervisionado apenas durante a execução das rotinas do SO. Ele muda para o modo usuário antes de executar programas de aplicação.

Leitor de presença! Não pare de aprender agora. Obtenha todos os conceitos importantes da Teoria CS para entrevistas da SDE com o Curso de Teoria CS a um preço amigável e fique pronto para a indústria.

Tags de artigos :

Deixe uma resposta

O seu endereço de email não será publicado.