GDT (Global Descriptor Table) に関するチュートリアルを読みました。このチュートリアルでは、GDT を「メモリの特定の部分に対する基本アクセス権限を定義するもの」と定義しています。つまり、GDT がメモリ保護に使用されます。
上記以外のタスクを実行しますか?
オペレーティング システムに GDT を実装することは必須ですか?
要するに、誰かがGDTを理解しやすい方法で詳しく説明できるとよいでしょう.
ありがとう
GDT (Global Descriptor Table) に関するチュートリアルを読みました。このチュートリアルでは、GDT を「メモリの特定の部分に対する基本アクセス権限を定義するもの」と定義しています。つまり、GDT がメモリ保護に使用されます。
上記以外のタスクを実行しますか?
オペレーティング システムに GDT を実装することは必須ですか?
要するに、誰かがGDTを理解しやすい方法で詳しく説明できるとよいでしょう.
ありがとう
あなたの質問に対する2つの答えを教えてください。
回答 #1: 64 ビット Intel では、グローバル記述子テーブルは有用な目的を果たしません。
回答 #2: 16 ビット Intel では、グローバル記述子テーブルには、システム上のすべてのプロセスによって共有されるオブジェクトの記述子が含まれていました。ローカル記述子テーブルは、個々のプロセスで使用されるものに対して同じことを行いました。複数の LDT (プロセスごとに 1 つ) が存在する可能性がありますが、すべてのプロセスで共有される GDT は 1 つだけです (ただし、理論的には、異なるプロセスの GDT を変更できます)。
32 ビット Intel では、32 ビット システムでレガシー 16 ビット コードを実行するために GDT と LDT が必要でした。
16 ビット アプリケーションを扱う必要がない限り、GDT と LDT について学ぶことは、パンチ カード マシンの操作方法を学ぶことと同じくらい役に立ちます。