2

32 ビット Linux システム コールに関して 2 つの簡単な質問があります。

x86 Linux では、システム コールを呼び出す方法が 2 つあります。

1 つは int 0x80 を使用しており、もう 1 つは sysenter を使用しています。

これら2つの基本的な概念の違いを知っています(sysenterはSYSENTER_MSR_EIP、SYSENTER_MSR_ESPレジスタを使用し、int 0x80は割り込みテーブルを使用し、sysenterはより優れたパフォーマンスを提供します...)

私の質問は...

  1. プログラマーの観点から、int 0x80 と sysenter の間に機能上の違いはありますか? (つまり、呼び出し規約、メモリ レイアウトへの副作用、または何でも...)

  2. システムコールから復帰後、EAXレジスタ以外に変化するシステムコールはありますか?

前もって感謝します。

4

0 に答える 0