【发布时间】:2015-05-16 23:15:43
【问题描述】:
gdtr的地址我不清楚。
来自“理解 Linux 内核”一书。 2.2.2 段描述符(第38页)
"GDT 在主存中的地址包含在 gdtr 处理器寄存器中,当前使用的 LDT 的地址包含在 ldtr 处理器寄存器中。"
我的问题: gdtr中的地址是逻辑地址/线性地址还是物理地址?
我认为应该是物理地址,因为在那之前没有实现分页。 需要有人帮助确认并提供更好的解释
关于段落的另一个问题: 《理解 Linux 内核》一书。 2.2.4 段 Linux(第 43 页)。
因此,对于每个进程,GDT 包含两个不同的段描述符:一个用于 TSS 段,一个用于 LDT 段。 GDT 中允许的最大条目数是 12+2xNR_TASKS,其中,NR_TASKS 表示最大进程数。其中,NR_TASKS 表示最大进程数。在前面的列表中,我们描述了 Linux 使用的六个主要段描述符。四个额外的段描述符涵盖高级电源管理 (APM) 功能,并且 GDT 的四个条目未使用,总共 14 个。
12+2xNR 任务,12 是从哪里来的? 我认为应该是 14 “在之前的列表中,我们描述了 Linux 使用的六个主要段描述符。另外四个段描述符涵盖了高级电源管理 (APM) 功能,而 GDT 的四个条目未使用,总共 14 个。”
我可能会误解一些东西,请帮我说清楚。
谢谢, $XSM
【问题讨论】: