Qual é a diferença entre a interrupção de hardware e software? [fechadas]

1

Vou esboçar minha compreensão de ambos. Eu pesquisei por aí, mas não tenho certeza do meu conhecimento. Por favor corrija-me!

A interrupção de hardware é gerada pelo agendador de eventos do sistema operacional para reatribuir o tempo de CPU de outro processo. Isso é verdade?

A interrupção de software pode ser gerada a partir de um programa em execução que deseja, por exemplo, ler um arquivo e, para isso, precisamos reatribuir a cpu para a chamada de sistema operacional apropriada. Isso é verdade?

Existe algum outro tipo de interrupção de software / hardware?

    
por p1100i 17.11.2011 / 17:10

1 resposta

3

As interrupções de hardware e software diferem principalmente pela forma como são geradas: as interrupções de hardware são geradas por hardware, por ex. um temporizador, teclado, placa de rede, etc., enquanto as interrupções de software são acionadas por uma instrução de software especial (por exemplo, int 0x80 ). Há também uma diferença relacionada em seu papel: manipuladores de interrupções de hardware devem manipular eventos de hardware (por exemplo, um pacote chegando em uma interface de rede) enquanto manipuladores de software devem servir outro software, geralmente um aplicativo, que executou a instrução de interrupção (por exemplo, para solicitar que o kernel acesse um arquivo em nome do aplicativo).

A interrupção do temporizador é de fato usada pelo agendador do sistema operacional para recuperar periodicamente o controle e realizar várias operações (por exemplo, contabilidade de recursos, alternância de contexto).

A geração de uma interrupção de software é uma maneira de se comunicar com o kernel e pode ser usada em algumas plataformas para invocar chamadas do sistema.

    
por 17.11.2011 / 18:03