免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2470 | 回复: 6
打印 上一主题 下一主题

[请教]关于进程描述符在内存中的位置问题?  关闭 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-02-23 18:29 |只看该作者 |倒序浏览
ULK2中P84(中文版)讲:
(内核)把进程描述符放在动态内存中,而不是放在永久分配给内核的内存区.
下面有个译注:这里的内存区是指线形地址空间中的一个区域,分配给内核的线形地址空间在3G以上.

问题:
永久分配给内核的内存区是指虚存空间在3G到3G+896M的空间吗?这里的动态内存是指3G+896M到4G的空间吗?

又:如果进程描述符在内核空间中,那么同一页上的图示中进程描述符的位置0x015fa000应该是该描述符在物理空间上的位置吧?

小弟是初学者,周围也没有人一起研究探讨,只能求助给位大虾了,请给位多多关照!谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-02-23 18:51 |只看该作者
>>永久分配给内核的内存区
就是内核映像的代码(例如do_IRQ这个函数的二进制指令流)和数据(例如jiffies这个全局变量), 它们永远都存在于内存中, 直到关机。

task_struct无论是2.4以前的内核栈, 还是2.6的slab层, 都是在3G以上线性地址的。

论坛徽章:
0
3 [报告]
发表于 2006-02-23 19:06 |只看该作者
2.6内核通过一个高速缓存来存放进程描述符, 高速缓存通过slab分配器的接口kmem_cache_create()创建. 这个高速缓存在系统启动的时候创建, 直到系统关闭.

论坛徽章:
0
4 [报告]
发表于 2006-02-23 20:44 |只看该作者
原帖由 albcamus 于 2006-2-23 18:51 发表
>>永久分配给内核的内存区
就是内核映像的代码(例如do_IRQ这个函数的二进制指令流)和数据(例如jiffies这个全局变量), 它们永远都存在于内存中, 直到关机。

task_struct无论是2.4以前的内核栈, 还是2 ...


多谢两位老大!原书讲的这个内存区是线性空间中的一块,是不是也就是线性映射到物理内存上的那部分虚存空间呢?

论坛徽章:
0
5 [报告]
发表于 2006-02-25 13:10 |只看该作者
原帖由 通用寄存器 于 2006-2-23 20:44 发表


多谢两位老大!原书讲的这个内存区是线性空间中的一块,是不是也就是线性映射到物理内存上的那部分虚存空间呢?


我觉得就是系统启动的时候一直分配给内核的那段逻辑地址空间.

论坛徽章:
0
6 [报告]
发表于 2006-02-25 21:31 |只看该作者
多谢各位老大的讲解!我正在努力,多谢各位老大的关心!

论坛徽章:
0
7 [报告]
发表于 2014-10-21 15:48 |只看该作者
今天遇到这个问题,,居然还真有人在问,谢谢啦!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP