私はこの質問のために最小限の研究を行ったことを認めます。スレッドごとにスレッド(fth、cs、ds、等)を保存するスレッド(特にpthreads、しかし私の質問はすべてのx86 unixユーザスレッドライブラリに適用されます)?言い換えれば、各スレッドはセグメントレジスタの独自のコピーを持っていますか?Pthreadセグメントレジスタ
1
A
答えて
3
ほとんどの最新のOSでは、セグメントレジスタはOSによって決定される特定の意味を持ちます。 OSスレッドライブラリは、レジスタが常に各スレッドに対して正しく設定されるようにします。例えばWindowsでは、FSレジスタはスレッド固有のデータを持つセグメントを指しています。これはスレッドスイッチごとに更新されますが、DSレジスタはプロセス全体のセグメントを参照するため、プロセス内のすべてのスレッドで同じです。
プラットフォームでセグメントレジスタの値を設定できる場合は、他のレジスタと同様に、スレッドスイッチ間でセグメントレジスタの値を正しく保存することが期待されます。
一般的に、私はセグメントレジスタが保存されることを期待します。なぜなら、それは「必要がある」ルックアップよりも簡単であり、驚きの可能性が最も低いからです。
+0
素晴らしいです。最近C言語でスレッドライブラリを開発したので(私は学習目的のために)質問しました。ありがとうございました! – Chris
関連する問題
- 1. pthread(セグメンテーションフォールト)
- 2. pthreadマルチスレッド
- 3. pthreadスレッドプール?
- 4. pthread static linking
- 5. Pthread Xlibのプログラミング
- 6. pthreadスレッド状態
- 7. pthread mutexのオーバーヘッド?
- 8. のPthreadロック
- 9. のpthread引数
- 10. C pthreadセグメンテーションフォールト
- 11. Pthreadループのセグメンテーションフォールト
- 12. 遅いpthreadコンシューマ
- 13. pthreadスケジューリング方法?
- 14. pthreadの機能
- 15. スレッドセーフなpthreadミューテックスロックラッパー
- 16. RH Linuxのpthread
- 17. pthread-win32拡張sem_post_multiple
- 18. C - pthread引き数
- 19. スレッド対pthread in perl
- 20. のPthread Cのsyncronization
- 21. pthread大きなプロジェクト
- 22. グローバル変数のpthread
- 23. MPIとPthreadの学習
- 24. ビジュアルスタジオ2010のpthread(POSIXスレッド)
- 25. Pthreadの返却結果
- 26. リンクリストによるpthreadセグメンテーションフォールト - beginner
- 27. Pthreadインスタンスの変数は、クラス
- 28. pthread on Code Composer Studio 5
- 29. pthread-killについて
- 30. Pthreadブロック/更新可能タイマー
なぜ気になりますか? –