• Matéria: Informática
  • Autor: lucaspessoa2012
  • Perguntado 4 anos atrás

O que é uma instrução trap?

Respostas

respondido por: kethelyn2511
0

Resposta: Olá

Traps ocorrem em consequência da instrução sendo executada.

Algumas são geradas pelo hardware, para indicar por exemplo overflow em operações aritméticas ou acesso a regiões de memória não permitidas. Essas são situações em que o programa não teria como prosseguir. O hardware sinaliza uma interrupção para passar o controle para uma parte do sistema operacional (o tratador da interrupção em questão), que tipicamente termina a execução do programa.

Traps também podem ser geradas explicitamente por instruções do programa. Essa é uma forma do programa acionar o sistema operacional, por exemplo para requisitar um serviço de entrada ou saída. Um programa não pode "chamar" uma rotina do sistema operacional, já que o sistema operacional é um processo a parte, com seu próprio espaço de endereçamento. Através do mecanismo de interrupção de software, um processo qualquer pode ativar um tratador que pode "encaminhar" uma chamada ao sistema operacional.

Traps também são usadas em situações onde o programa não tem como prosseguir pois aconteceu uma exceção como overflow aritmético, tentativa de acesso a endereço inválido ou estouro da pilha.

Como as interrupções síncronas ocorrem em função da instrução que está sendo executada, nesse caso é até possível o programa passar algum parâmetro para o tratador. Isso ocorre com frequencia no caso de interrupções usadas para chamar o sistema operacional.

Explicação: Espero ter ajudado!

Perguntas similares