《情景》中的几个问题。
P37.…GDT中的第一项是不用的,这是为了防止加电后段寄存器未经初始化就进入保护模式并使用GDT…P39.…不管什么进程,一旦进入内核就进了系统空间,都有相同的页面映射…
Cache line(缓冲线?)为何物? cpu cache is divided to many segments. each seg is called a cache line. so try to fit u frequently used stuff in a cache line can improve the cache hit ratio and reduce access time.
for u 1st and 2nd. i even do not know what u question is. 第二个问题,情景分析一书的意思是,无论哪一个进程,其内核空间(即虚拟地址大于等于3G的那部分空间)的页面映射都是一样的,同样的虚拟地址都对应于同样的物理地址;不同的只是用户空间(即虚拟地址小于3G的那部分空间)的页面映射。而内核代码(特别是修改CR3的那部分代码)存放在内核空间,因此修改CR3之后,内核还能够继续正确运行。 第一个问题我也不懂是为什么。X86加电复位之后应该是运行在实模式啊,为什么还需要禁用GDT首项呢?奇怪。。。 我想可能是在机器断电的时候,段寄存器要清零,如果没有初始化,则还是0,这时就要使用GDT中的第一项,如果第一项使用了,那么在进入保护模式使用GDT的时候,就有可能进行误操作,没有起到保护的作用.
但是在linux中,我想可能不是特别重要,这是由历史原因造成的,linux中使用的是页式管理,可以在页式管理中进行检验合法性. 天啊,这是我“很久以前”问的一个问题了。
可是由于一些可悲的原因,我不得不放弃读核了………
谢谢大家!!!待我还了自由之身后,定要好好阅读!! good luck
页:
[1]