0

POSIX 環境で pthreads を使用し、コンテキスト スイッチが発生しようとしている場合、レジスタの現在の値をどこかに保存する必要があるため、レジスタの値は次のようになるためesp、このスレッドにコンテキスト スイッチを戻すときにそれを取得できます。esp別のスレッドの保存された SP 値によって上書きされます。スレッドごとに別々のレジスターを持つことは不可能だと思いespます (間違っていたら訂正してください)。そうは言っても、コンテキスト切り替えがヒットする直前に、現在のスレッドの SP 値がどのデータ構造に格納されているか知りたいですか?

struct pthread*の値からキャストされた の値を調べてみましたpthread_tが、たとえば、特定の関数を呼び出してテスト中のスレッドの現在の SP を変更しても何も変化しませんでした (つまり、テスト関数を呼び出す前後を比較します)。

4

1 に答える 1