100分请教进程与LDT.GDT的关系
win9x下。一个进程可以拥有GDT.LDT的全部么?,如果可以的话。我看到GDT中的几个段BASE=00000000 LIMIT=FFFFFFFF是怎么回事?,这几个段的DPL都是0,我自己的用户空间跟它重叠了。不是说给一个进程一个cr3么?,页机制能区别同一个进程内的地址空间重叠么。 问题点数:100、回复次数:7Top
1 楼bluedreammer(瀟瀟鳥)回复于 2003-11-03 12:59:45 得分 20
gdt是所有進程都共有的,ldt每個進程對應一個.Top
2 楼GR(终于重新开始用MFC,捡起来好累)回复于 2003-11-03 13:25:10 得分 0
一个进程拥有GDT.lDT中的一个。我的进程对应ldt 中的0187选择子。这个段BASE=00000000,limit=ffffffff,dpl=3,GDT中有一个段也是base=00000000,limit=ffffffff.
给一个cr3指定了这个进程的页目录表。这个进程拥有了这个GDT吧。那么这个GDT段到底放在这个进程的哪里呢?,总要有一个表示方法来表示这个段吧(其实就是28h)。
还有。我这个页目录表是分个一个进程一个呢?还是一个段一个?,Top
3 楼Areslee(懒虫易水)回复于 2003-11-03 13:26:54 得分 60
同一个进程之中相同的地址是相同的数据,无所谓重叠Top
4 楼GR(终于重新开始用MFC,捡起来好累)回复于 2003-11-03 13:45:05 得分 0
多谢,那么这两个段的权限怎么区别?,以最低的为标准?Top
5 楼GR(终于重新开始用MFC,捡起来好累)回复于 2003-11-03 13:47:35 得分 0
有dpl=0的话这段就是ring0级了?Top
6 楼SoRoMan(因为所以,所以因为)回复于 2003-11-03 14:06:51 得分 20
段描述符有講。
不要忘了TSS。
一個任務對應一個頁目錄表.段和頁之間不要扯關系。
建議樓主看看楊季文的那本匯編和王鹏的那本操作系統。Top
7 楼bluedreammer(瀟瀟鳥)回复于 2003-11-03 14:42:56 得分 0
樓主應該先分清楚段頁機制和LDT,GDT的一些基本概念
每個進程都有自己獨立4G的存儲空間.地址重疊主要是針對不同進程可能出現的情況.
這是允許的,操作系統對各個進程實施保護.
Top




