私は、x86アーキテクチャのさまざまなゲートについて詳しく知りました。私が正しく理解している場合、割り込みとトラップゲートはhwとswの割り込み処理にそれぞれ使用されます。 pplがSYSENTERとSYSEXITに置き換えられているので、おそらくCALLゲートは使用されません。タスクゲート、割り込みゲート、コールゲート
私はタスクゲートがどのように使用されているのか疑問に思っていました(私はそれらがhwタスクスイッチに使用されていることを知っています)。それはどういう意味ですか? hwタスクはOSのタスク/プロセスを参照していますか?それとも、オペレーティングシステムの2つの異なるインスタンスを切り替えるようなものでしょうか。 (サーバー上にある可能性があります)?
割り込みの中には、ユーザーモードで処理されるものがあります。 (私たちがユーザーモードでのゼロ割り込みにより除算を扱うことができる。それができるならば、それはゼロによる除算のためのIDTハンドラエントリを意味しているのは、ユーザ空間からのアドレスが含まれている?)
おかげ
私はこのマニュアルを読んでいましたが、マニュアルでは現代のOSでこれ以上使用されていないことは明らかです。私のクラスのプロジェクトでは、決してタスクゲートを使用せず、完全に無視しました。だから、現代のOSにタスクゲートを使用するのが混乱していた。確認するだけで、タイマー割り込みは割り込みゲートにマップされますか? –
"割り込みディスクリプタテーブル(IDT)は、各例外または割り込みベクトル を、関連する例外または割り込みを処理するために使用されるプロシージャまたはタスクのゲートディスクリプタに関連付けます。そう、はい、各割り込みは割り込みゲートにマップされます。インテルのマニュアルでは、実際に何が使用されているか、使用されていないかについては触れていません。どのような_can_を使用するかだけを記述します。 – bdonlan
いくつかのオペレーティング・システムは、異なるアーキテクチャー上で動作するように設計されているため、インテル固有の機能を使用することは避けてください。そして、あなたが言うように、いくつかの機能は単に時代遅れです。 –