QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 5248|回复: 13

本大虾免费解答内核原理问题

[复制链接]
发表于 2011-4-30 09:47:44 | 显示全部楼层 |阅读模式
本大虾免费解答内核原理问题(很具体的代码细节问题本座客不会)


内核版也太冷清,简直是万年一贴啊,所以俺要水淹内核版!

[ 本帖最后由 unix-linux 于 2011-4-30 09:51 编辑 ]
发表于 2011-5-2 21:46:59 | 显示全部楼层
请教linux内存管理问题.谢谢
一, 书上说vmalloc()在3G+896M以上线性地址空间分配连续虚拟内存,3G到3G+896M线性地址被永久固定映射到了0--896M物理地址.

问题:如果计算机的物理内存小于896M,比如512M,那么vmalloc()是不是就没有用处了?


二,ULK(understanding the linux kernel)书中说:
.从0到3G的线性地址空间,无论用户态还是内核态都可以访问寻址.

.从3G到4G的线性地址空间,只有内核态可以访问寻址.

问题:既然内核态可以访问0到4G的所有线性地址,那么所谓的大于896M的高端物理内存,内核不就可以通过0到3G的线性地址来映射访问吗?
回复

使用道具 举报

 楼主| 发表于 2011-5-5 21:47:50 | 显示全部楼层
不算最终的解答,探讨

1 3G到3G+896M线性地址被永久固定映射到了0--896M,并不表明这0--896M都会被内核所用,其中部分内存是动态的,例如内存中的buffer等,不用的话进程也可以使用,或者对应的物理内存根本就没有
2 32位内核是可以且只可以访问4G的虚拟内存和物理内存的,内核中128M的虚存空洞是为了访问4G以外的内存,并非网上所传的896M/1G以上的内存。比如访问PAE中的4G到64G内存,比如访问非当前进程的内存空间。当然64位内核是不存在这个问题的
回复

使用道具 举报

发表于 2011-6-5 12:22:21 | 显示全部楼层
什么情况
回复

使用道具 举报

发表于 2011-7-28 10:00:37 | 显示全部楼层
楼主是色狼....楼上mm小心
不过看得出楼主还是挺有技术的
回复

使用道具 举报

发表于 2011-7-28 10:01:28 | 显示全部楼层
楼主能推荐一本内核的书吗?
回复

使用道具 举报

发表于 2011-7-28 10:01:52 | 显示全部楼层
浅显入门的就好,我是新人
回复

使用道具 举报

发表于 2011-7-28 10:02:29 | 显示全部楼层
太难的看不懂
回复

使用道具 举报

发表于 2011-7-28 23:46:34 | 显示全部楼层
我以前买过一本  linux0.1注解什么的   结果也没看  其实是看不懂     扔鸟了
回复

使用道具 举报

发表于 2011-9-16 09:05:14 | 显示全部楼层
正在学习驱动……努力啊!
回复

使用道具 举报

 楼主| 发表于 2011-10-30 08:59:57 | 显示全部楼层
不要只看书和代码,要自己想,自己研究和分析
回复

使用道具 举报

发表于 2011-11-3 12:27:20 | 显示全部楼层
内核研究这方面的确有点儿太深了。
回复

使用道具 举报

 楼主| 发表于 2011-11-4 20:52:10 | 显示全部楼层
这玩意耗很多脑细胞的,真想把它变成自己大脑里的东西,不是仅仅看看书就可以的

不过话说回来,难得挣到钱,至少不能直接挣到钱
回复

使用道具 举报

发表于 2012-6-17 21:57:37 | 显示全部楼层
LZ研究得挺深入的啊

不知道有没有什么工具可以看内核代码的呢。有些标号和变量好难找啊
不知道SourceInsight是不是可以呢,虽然这工具还没用过
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-11-22 14:35 , Processed in 0.042706 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表