https://wiki.osdev.org/Task_State_Segmentのページを読んでいました
私が理解しているように、タスク記述子をジャンプまたは呼び出すと、このタスク記述子にリンクされたTSSセグメントに対応するリングとレジスタが「自動的に」切り替わります。
しかし、たとえばリング 3 から別のリング 3 にタスクを切り替えると、レジスタは実際の TSS に自動的に保存されますか? (tr レジスタにロードされます)。
このosdevページ(上記のリンク)では、レジスタが保存されていないと書かれていますが、そうでない場合、タスクがそれ自体でTSSを更新する方法はありますか? それは巨大なセキュリティ問題を引き起こすでしょう。
(ハードウェアの切り替えが時代遅れであることは知っていますが、それでもその仕組みを理解したいと思っています。)