首页
社区
课程
招聘
关于win32内存管理的困惑!高手帮忙看一下
发表于: 2004-11-30 13:27 4446

关于win32内存管理的困惑!高手帮忙看一下

2004-11-30 13:27
4446
8086采用段式内存管理,段基址表示该段在物理内存中的起始地址;而80386采用段页式内存管理,此时,段基址的意义该怎么理解?windows怎样确定GDT表项中基址字段的值?在80386中有没有办法查看某个段的基址??

这个问题困扰了我很久,希望在此得到高手的指点,谢谢!

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 209
活跃值: (45)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
均为0
2004-11-30 19:43
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我知道在linux下,段基址都为0。但在windows下面也都为0吗??

2004-11-30 19:50
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
4
段缓存器 (CS, SS, etc) 是指向 GDT 的一个指针,指向的地方存在了一个虚拟线性空间的位置 (linear address),这是一个4 GB 空间,这个位置再经由分页(demand-paged virtual memory)系统换算,成为硬件位置

我记得的是这样,可能有错,请大侠们提点
2004-11-30 19:52
0
雪    币: 2319
活跃值: (565)
能力值: (RANK:300 )
在线值:
发帖
回帖
粉丝
5
最初由 hqt1979 发布
我知道在linux下,段基址都为0。但在windows下面也都为0吗??



我记得在 windows 2000 是 0
2004-11-30 19:53
0
雪    币: 135
活跃值: (226)
能力值: ( LV12,RANK:330 )
在线值:
发帖
回帖
粉丝
6
GDTR指向GDT,LDTR指向GDT中的包含 当前LDT段 的索引
CS包含当前LDT中的索引

系统先从GDTR里读取GDT的位置,然后从LDTR里读取LDT的索引,用此索引在GDT里找到当前LDT,然后读取CS,在LDT里找到代码段的描述符
段基址都是0

讲保护模式的书上有
2004-11-30 20:00
0
雪    币: 202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
那位兄弟能帮我推荐一本讲保护模式讲的比较清楚的书啊?我去看一下,谢谢!
2004-12-1 10:21
0
游客
登录 | 注册 方可回帖
返回
//