内存管理的两个问题
时间:2006-06-20
来源:互联网
2、用户进程可以访问vmalloc分配的内存么?如果可以,时如何使用和分配的?
谢谢
作者: Ruzi 发布时间: 2006-06-20
作者: zhllg 发布时间: 2006-06-21
作者: hendric 发布时间: 2006-06-21
楼上:用户栈如何扩展呢?2.4和2.6的内核中如果栈定义成8K的话,栈和进程描述符共用一个8k地址空间,如果进行扩展的话,如何对这8k进行处理?
谢谢^_^
初学入门,还请多多关照。
作者: Ruzi 发布时间: 2006-06-22
作者: zhllg 发布时间: 2006-06-22
作者: Ruzi
ULK中文版P270页最后一段说得
楼上:用户栈如何扩展呢?2.4和2.6的内核中如果栈定义成8K的话,栈和进程描述符共用一个8k地址空间,如果进行扩展的话,如何对这8k进行处理? 谢谢^_^ 初学入门,还请多多关照。 |
用户栈的扩展,linux内核源码情景分析里说的很好,比BBS上打字好得多。
作者: hendric 发布时间: 2006-06-24
task_struct才相当于PCB
作者: zhllg 发布时间: 2006-06-24
还有由于只给每个进程分配了8K的内核栈,这样岂不是很危险吗? 一个恶意程序故意定义大于8K的局部变量是不是就可以让内核栈溢出从而破坏内核的数据结构呢?
作者: ifree 发布时间: 2006-06-25
一些经典os教科书上都有定义
内核栈只是内核在用,恶意代码自然是不能进入内核的,呵呵
应用程序定义的局部变量在用户栈里
实际上我现在用的是4k内核栈
fedora和redhat的内核现在也都是4k内核栈
lkml上曾经还有人提议将4k作为default
4k的好处在于可减少内存碎片
作者: zhllg 发布时间: 2006-06-28
这样说的意思是内核堆栈是系统调用的代码使用的。用户态代码陷入内核时会发生一次堆栈的切换。那么怎么传递参数的?
你说4K的好处可以减少内存碎片,可是Linux使用伙伴系统分配的内存,这个算法以2^k分配内存的。我觉得不会引起内存碎片。
作者: ifree 发布时间: 2006-06-29
其实不一定分的这么细,可以笼统的称为内核代码使用的。要细分的话,如果使用8k kernel stack,那么中断服务例程使用current的kernel stack;如果使用4k kernel stack,那么中断服务例程使用专用的interrupt kernel stack。
>>那么怎么传递参数的?
系统调用的参数是放在寄存器里的, eax, ebx, ecx,……
>>我觉得不会引起内存碎片。
碎片是相对的。如果运行时间很长了,难免会出现一些散布在内存里的单独的页。如果你要分配两页给一个新的进程作为内核堆栈,那么这些单独的页就是碎片了,是不能被直接利用的。
作者: zhllg 发布时间: 2006-06-29
作者: ifree
谢谢zhllg回答。
这样说的意思是内核堆栈是系统调用的代码使用的。用户态代码陷入内核时会发生一次堆栈的切换。那么怎么传递参数的? 你说4K的好处可以减少内存碎片,可是Linux使用伙伴系统分配的内存,这个算法以2^k分配内存的。我觉得不会引起内存碎片。 |
作者: hendric 发布时间: 2006-07-01
作者: hendric
传说中的callgate是自动拷贝参数的
|
Linux在x86体系结构上没有使用call gate,系统调用使用的是中断门,int 0x80。进程切换时从tss段中取出内核堆栈的指针ss:esp,貌似没有通过内存传递参数。所以我相信楼上zhllg所说,是通过eax、ebx等寄存器传递参数的。
作者: ifree 发布时间: 2006-07-01
作者: ifree
这两天看书的收获是:
Linux在x86体系结构上没有使用call gate,系统调用使用的是中断门,int 0x80。进程切换时从tss段中取出内核堆栈的指针ss:esp,貌似没有通过内存传递参数。所以我相信楼上zhllg所说,是通过eax、ebx等寄存器传递参数的。 |
作者: hendric 发布时间: 2006-07-02
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28