私はx86asmプログラム(ブートローダー)をリアルモードでプログラミングしてきましたが、セグメントやレジスターなどの使い方を知っています。
OllyDbgなどのデバッガーから、DSレジスター、SSなどが明らかに使用されていることがわかります。しかし、通常の「Windowsのような」プロセスはそれらをどのように使用しますか?セグメンテーションが部分的に使用され(ring0をring3から分離するためだけに)、それらのエントリがGDTにあること、ページングが含まれていること、およびアドレスがPDEとPTEで完全に混乱することを知っていますが、完全に「リンク」することはできません。 「すべてをまとめて、追加のセグメントがどのようなデータスタックであるかを理解します。各プロセスには異なるDS / SS / ESがありますか?