操作系统学习中遇到的几个问题

2024-11-29 11:31:30
推荐回答(1个)
回答1:

1,gdt和ldt是在操作系统初始化的时候生成并载入的.因为系统需要从实模式切换到保护模式,而保护模式下内存寻址需要用到gdt和ldt.
GDT和LDT是由操作系统的特性来决定的.PE文件头中并没有LDT的内容啊.在加载一个程序的时候操作系统会根据内存情况来添加或修改GDT和LDT的内容.

2,根据页表中对应的基地址+逻辑线形地址=物理地址

3,不同的编译程序有不同的工作方式,但是你所表达的意思好象不是很正确.相当于加载一次是不对的哦.你可以看一下各大学的<<编译原理>>

4,当然是先打开文件头这部分,读取相关信息……最先被用到的部分最先被加载到内存。在WINDOWS系统下采用了FILEMAP的方式。

从你的问题来看,好象你的学习过程并不够系统。建议你找基本教程系统的学习一下。

附:有本书,大约叫《MFC深入引导》,很厚的一本,内容的后半部分对WINDOWS操作系统进行了很详细的说明,你可以找找看哦。还有如果你还是想知道GDT,LDT更详细的内容的话,建议你看一下 X86保护模式下的汇编 那本书。