GDT如何反映过程的线性空间(如果我理解正确的话,GDTR包含页面和偏移量)。或者这个问题的另一个版本: GDTR对于每个过程都是独一无二的。
发布于 2015-05-28 20:52:02
只有一个GDTR寄存器,它指向线性地址空间中的一个位置。正常情况下,每个过程都不会改变。相反,如果不同进程需要不同的选择器,则更改LDTR寄存器。在大多数现代操作系统中,情况并非如此,进程都共享相同的选择器。
这意味着GDT表存在于所有进程的虚拟地址空间中的同一位置。通常构成表的页面都是标记的,因此它们只能在主管模式下访问,因此用户模式代码不能触摸它们。
https://stackoverflow.com/questions/30516592
复制相似问题