Hallo,
Interrupts sind wirklich nicht die schnellste Variante, dafür aber auf jedem Prozessor einsetzbar. SYSENTER/SYSEXIT sind eine wesentlich schnellere Intel-spezifische Möglichkeit; auf AMD-Prozessoren gibt es die gleichwertige Variante SYSCALL/SYSRET.
Sowohl Windows als auch Linux reservieren eine Page im Speicher, die den CPU-spezifischen Code für einen Syscall enthält; dieser Code wird dann (als far jmp) einfach angesprungen und erledigt den Moduswechsel auf dem jeweils schnellsten Weg. Ein einfacher far jmp ist kein Syscall, da nicht in den Ring 0 gewechselt wird.
Traps (Exceptions) sind Interrupts, die von der CPU ausgelöst werden. Ich behaupte mal, dass die genauso langsam sind wie normale Interrupts. Mit der Variante hat MacOS in der Übergangszeit von m68k auf PPC gearbeitet, indem bei einer Invalid Opcode Exception der m68k-Emulator für den entsprechenden Codeabschnitt angeworfen wurde. Ansonsten funktioniert das wie ein Interrupt, dessen Nummer bekannt ist.
Gruß,
Svenska