Em versões mais antigas da arquitetura linux, as chamadas do sistema sempre geram uma interrupção durante sua execução. Eles seriam executados definindo o número de chamada do sistema em% eax e os parâmetros em% ebx,% ecx e assim por diante, seguido pela emissão da interrupção específica int 0x80. Assim, as chamadas do sistema podem ser consideradas uma causa comum de interrupções de software em um sistema.
No entanto, em arquiteturas modernas de x86_64 existe uma instrução de chamada de sistema específica "syscall", que ignora a necessidade de usar interrupções 0x80 e, portanto, a tabela de descritores de interrupção. Embora eu acredite que o método anterior de gerar uma interrupção para syscall ainda seja suportado, a instrução syscall parece ser a maneira como é feita na prática.
Assim, minha pergunta é: Já não é correto dizer que as chamadas do sistema geram interrupções? Uma chamada do sistema ainda incrementaria o número visto na saída da coluna "interrupções" do vmstat, por exemplo?
Tags interrupts linux