- 3
- 0
- 约6.19千字
- 约 9页
- 2016-12-02 发布于重庆
- 举报
linux设备驱动归纳总结(五)1在内核空间分配内存
一般的,用户空间使用函数malloc在堆上分配内存空间,同样的,在内核空间同样有一套类似的函数来分配空间。下面的知识会涉及页式管理的内存机制,如果不懂的要先复习一下,在S3C2440数据手册的MMU部分有介绍。xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
一、内核空间和用户空间有什么不同学c语言的时候应该学过,从用户空间看,每个进程都傻乎乎的以为自己有4G的内存空间,其中位于高地址(3G-4G)的1G空间给内核用,另外的3G(0-3G)都是它一个人独占的。所以用户空间很慷慨的把3G的空间分了好几个区域,如堆、栈、代码段等。其中,malloc()分配的空间位于堆,而程序中的自动变量,如你在函数内定义的“int i”,它是放在栈上,同时。用户空间的栈是可变栈,即随着数据的增多,对应函数的栈空间也会增多。跟每个用户空间的进程不一样,内核只有1G的空间,同时,除了自己本身有进程运行外,内核还要允许用户空间进程调用系统调用进入内核空间去执行。所以,内核对此相当吝啬,它规定在内核中的每个进程都只有4KB或8KB(32位下)的定长栈。出于这样的原因,大的数据结构就不能在栈中分配,只能请求内核分配新的空间来存放数据,如函数kmalloc()。xxxxxxxxxxxxx
您可能关注的文档
- 8上各单元短语测试版.docx
- 8飞机系统.doc
- 820综采面防灭火专项措施.doc
- 8重症患者侵袭性真菌感染诊断和治疗指南.doc
- 8高速船船员特殊培训评估大纲和规范.doc
- 9102-20150529-响应面法优化合浦珠母贝糖胺聚糖提取工艺的研究.doc
- 9烂漫的点地梅(三疑三探教案).doc
- A5地下室顶板混凝土浇筑方案.doc
- A2013913-叶益龙-新型人工鱼礁混凝土渗透性研究-jt.doc
- A7105芯片A7105电路原理图及其模块应用.docx
- 安全生产管理员能力培训.pptx
- 咽异感症与心理健康促进.pptx
- 咽异感症与扁桃体炎的鉴别.pptx
- 咽异感症与抑郁症的关系.pptx
- 咽异感症与环境污染的关系.pptx
- 《生动的数据》课件-2025-2026学年沪教版(新教材)小学美术三年级下册.pptx
- 《校园微电影宣传策划》教学课件-2025-2026学年人美版(北京)(2024)初中美术七年级下册.pptx
- 《 春华秋实绘花鸟》教学课件-2025-2026学年人美版(北京)(2024)初中美术七年级下册.pptx
- 管理层安全培训策略.pptx
- 《把“大自然”穿在身上》教学课件-2025-2026学年人美版(北京)(2024)初中美术七年级下册.pptx
原创力文档

文档评论(0)