unix-linux 发表于 2011-4-30 09:47:44

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

本大虾免费解答内核原理问题(很具体的代码细节问题本座客不会)


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

[ 本帖最后由 unix-linux 于 2011-4-30 09:51 编辑 ]

akd 发表于 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的线性地址来映射访问吗?

unix-linux 发表于 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位内核是不存在这个问题的

muwanqing 发表于 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

浅显入门的就好,我是新人:oops:

兽医博士 发表于 2011-7-28 10:02:29

太难的看不懂

muwanqing 发表于 2011-7-28 23:46:34

我以前买过一本linux0.1注解什么的   结果也没看其实是看不懂   扔鸟了

gotounix 发表于 2011-9-16 09:05:14

正在学习驱动……努力啊!

unix-linux 发表于 2011-10-30 08:59:57

不要只看书和代码,要自己想,自己研究和分析

sejishikong 发表于 2011-11-3 12:27:20

内核研究这方面的确有点儿太深了。

unix-linux 发表于 2011-11-4 20:52:10

这玩意耗很多脑细胞的,真想把它变成自己大脑里的东西,不是仅仅看看书就可以的

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

zz_6_3 发表于 2012-6-17 21:57:37

LZ研究得挺深入的啊

不知道有没有什么工具可以看内核代码的呢。有些标号和变量好难找啊
不知道SourceInsight是不是可以呢,虽然这工具还没用过
页: [1]
查看完整版本: 本大虾免费解答内核原理问题