GDT和LDT的区别

虚拟地址空间被分割成大小相等的两半;
一半由GDT来映射变换到线性地址,另一半则由LDT来映射。

整个虚拟地址空间共含有2^14个段:一半空间(即2^13个段)是由GDT映射的全局虚拟地址空间,另一半是由LDT映射的局部虚拟地址空间。

通过指定一个描述符表,GDT或LDT,以及表中描述符号,就可以定位一个描述符。

当发生任务切换时,LDT会更换成新任务的LDT,但是GDT并不会改变。
GDT所映射的一半虚拟地址空间是系统中所有任务共有的,LDT所映射的另一半则在任务切换时被改变。
系统中所有任务共享的段由GDT来映射。


 《Linux内核完全剖析》p92;

这应该是说,80386以上支持把4GB地址空间划分为2^14个段;

2^14的一半是2^13,这是令人迷惑的,一不小心弄成2^14的一半是2^7;
2^14是16384,2^13是8192;

这就对了;Windows对虚拟地址空间的管理如下;一半是进程空间,一半是系统空间;

32 位Windows的默认虚拟地址空间
下表显示了每个分区的默认内存范围。

内存范围    用法
通过 0x7FFFFFFF) 低 2GB (0x00000000    进程使用。
高 2GB (0x80000000 到 0xFFFFFFFF)    系统使用。

https://learn.microsoft.com/zh-cn/windows/win32/memory/virtual-address-space?redirectedfrom=MSDN

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值