Dans les anciennes versions de l'architecture linux, les appels système généraient toujours une interruption pendant leur exécution. Ils étaient exécutés en plaçant le numéro d'appel système dans %eax et les paramètres dans %ebx, %ecx et ainsi de suite, puis en émettant l'interruption spécifique int 0x80. On peut donc dire que les appels système sont une cause courante d'interruptions logicielles sur un système.
Cependant, sur les architectures modernes de x86_64, il existe une instruction d'appel système spécifique "syscall", qui contourne la nécessité d'utiliser l'interruption 0x80, et donc, la table des descripteurs d'interruption du tout. Bien que je pense que la méthode précédente de génération d'une interruption pour syscall soit toujours supportée, l'instruction syscall semble être la façon de procéder en pratique.
Ma question est donc la suivante : n'est-il plus correct de dire que les appels système génèrent des interruptions ? Un appel système incrémenterait-il toujours le nombre d'interruptions indiqué dans la colonne "interruptions" de vmstat, par exemple ?