很菜的问题,大家帮帮忙!

coolrain 2001-04-10 05:08:00
书上说可以通过GDT创建一个32位的数据段描述符实现对物理地址0x00000F00的直接访问,是因为使用线性地址0x00000F00就可以直接访问物理地址0x00000F00.请问那些物理地址和线性地址是直接映射的?
...全文
66 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
coolrain 2001-04-13
  • 打赏
  • 举报
回复
问题内容出自人邮出版社刚出的《虚拟设备驱动程序开发起步与进阶》46页。附的例子我编译运行,在softice下调试,果然用线性地址0x00000f01可以访问物理地址0x00000f01的数据。在CR0中也打开了分页机制。至于kz(kz)说的意思我明白,但我的意思是,通过分段机制形成的线性地址0x0000f01,在分页机制启动的情况下,对应于页目录第一项对应页表的第一项。同时线性地址0x00000f01==物理地址0x00000f01,说明线性空间的这一页对应物理空间的第一页。我想知道的是还存在这样的页吗?(即在分页情况下也有物理地址==线性地址)
kz 2001-04-12
  • 打赏
  • 举报
回复
没有启动分页的情况下线性地址就是物理地址
启动了以后,全局页只是成为直接占用物理内存(指页表)但也要走分页机制的,并不会因为该段描述符在GDT中就不走分页机制
coolrain 2001-04-11
  • 打赏
  • 举报
回复
我觉得这和是否启动分页没有关系。系统通过每一个任务共享线性——物理地址映射函数的一部分,定义线性地址空间的全局部分,对于这一部分,系统中的每个任务都进行相同的映射,使得这些页在所有的任务中都映射到相同的物理地址。是否将这些全局页在映射时采取线性==物理地址的映射方式,具体我也不太清楚,还请高人指点。
fd 2001-04-10
  • 打赏
  • 举报
回复
在没有启动分页的情况下线性地址就是物理地址

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧