系统空间的线性地址是通过简单的线性映射到物理地址的?
时间:2009-02-19
来源:互联网
“系统空间占据了虚拟空间中的高1GB字节,在物理的内存中却总是从最低的地址(0)开始的。
所以,对于内核来说,其地址的映射是很简单的线性映射,0xc0000000就是两者之间的位移量。
也就是说,对于系统空间而言,给定一个虚地址x,其物理地址是从x中减去0xc0000000;
相应地,给定一个物理地址x,其虚地址是x+0xc0000000。“
不知道怎么理解?
难道说系统空间的线性地址不经过页表就直接线性映射到物理地址上吗?
而进程空间的线性地址得经过页表的转换才能映射到物理地址上的
这两者是不一样的?
作者: eclipse_2 发布时间: 2009-02-19
从linux内核源代码情景分析的第二章看到这句话”
“系统空间占据了虚拟空间中的高1GB字节,在物理的内存中却总是从最低的地址(0)开始的。
所以,对于内核来说,其地址的映射是很简单的线性映射,0xc0000000就 ...
系统空间的线性地址在访问的时候同样是要经过页目录与页表的查找, 才能够映射到实际的物理地址上, 但是由于内核在建立页表的时候, 使系统空间的逻辑地址对应的页表中的值与实际的物理地址有一个PAGE_OFFSET的对应关系. 所以系统的线性地址即使在经过段页式变换之后, 得到的结果仍然是x-PAGE_OFFSET的值.
作者: scutan 发布时间: 2009-02-19
作者: scutan 发布时间: 2009-02-19
系统空间的线性地址在访问的时候同样是要经过页目录与页表的查找, 才能够映射到实际的物理地址上, 但是由于内核在建立页表的时候, 使系统空间的逻辑地址对应的页表中的值与实际的物理地址有一个PAGE_OFFSET ...
哦
是这样啊
内核的每个页表项都对应上不同的物理地址
那进程在进程空间分配页面的时候不就没有空闲的页面 这个怎么理解啊?
作者: eclipse_2 发布时间: 2009-02-19
哦
是这样啊
内核的每个页表项都对应上不同的物理地址
那进程在进程空间分配页面的时候不就没有空闲的页面 这个怎么理解啊?
内核态的页表中的值与实际的物理地址只是一个对应的关系(PAGE_OFFSET), 并不表示那个页框就被内核使用了啊.
作者: scutan 发布时间: 2009-02-19
内核态的页表中的值与实际的物理地址只是一个对应的关系(PAGE_OFFSET), 并不表示那个页框就被内核使用了啊.
哦
明白了 脑袋一时没转过来
我去看下pagetable_init函数
谢谢版主了
作者: eclipse_2 发布时间: 2009-02-19
作者: scutan 发布时间: 2009-02-19
不客气, ULK第2章和情景分析最后一章也对这个函数讲解了一下的.
恩 马上看
这两本书我只看了一两遍
看来只有等我看了几百遍之后才有机会达到版主的水平哦~
作者: eclipse_2 发布时间: 2009-02-19

作者: scutan 发布时间: 2009-02-19
“在物理的内存中却总是从最低的地址(0)开始的”这句话是不对的,是要针对具体处理器平台的,虽然大部分处理器平台的物理内存地址是可以被配置成从0开始的,但不是所有的都是,所以这句话是不确切的,当然我没看过这本书,也许这句话在上下文中是特指某个平台。
可以看看下周即将出版的《嵌入式系统Linux内核开发实战指南(ARM平台)》。
[ 本帖最后由 chinaemblinux 于 2009-2-19 22:02 编辑 ]
作者: chinaemblinux 发布时间: 2009-02-19
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28