80x86
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2005-07-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
阅读:971回复:3

请问当在windows下运行一个应用程序时各个段寄存器的内容是否相同?

楼主#
更多 发布于:2004-08-10 09:31
请问当在windows下运行一个应用程序时各个段寄存器的内容,如 CS,DS,SS等段寄存器的内容是否相同的呢?
我之所以问这个是想知道windows给每个任务的4GB内存空间的具体实现。
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
沙发#
发布于:2004-08-10 13:53
所有的段基地址都是0,LIMIT都是4G
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
80x86
驱动牛犊
驱动牛犊
  • 注册日期2002-11-20
  • 最后登录2005-07-11
  • 粉丝0
  • 关注0
  • 积分0分
  • 威望0点
  • 贡献值0点
  • 好评度0点
  • 原创分0分
  • 专家分0分
板凳#
发布于:2004-08-10 10:54

我的意思是说,对于一个任务或进程而言,是如何实现他们的各个段
共享一个4GB的386逻辑段的?
wowocock
VIP专家组
VIP专家组
  • 注册日期2002-04-08
  • 最后登录2016-01-09
  • 粉丝16
  • 关注2
  • 积分601分
  • 威望1651点
  • 贡献值1点
  • 好评度1227点
  • 原创分1分
  • 专家分0分
地板#
发布于:2004-08-10 09:37
在2K内核中都一样都是CS=1BH,DS=ES=SS=23H
一般我们使用的都是线性地址,系统在进程切换的时候把CR3切换掉,使用不同的页表,从而使不同进程中的相同线性地址指向不同的物理地址,所以如果要自己来实现所谓的内存共享,就直接来写物理地址,这样随便他如何切换,都无所谓。
花开了,然后又会凋零,星星是璀璨的,可那光芒也会消失。在这样 一瞬间,人降生了,笑者,哭着,战斗,伤害,喜悦,悲伤憎恶,爱。一切都只是刹那间的邂逅,而最后都要归入死亡的永眠
游客

返回顶部