- 1、本文档共56页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于 ARM CPU 的 Linux 物理内存管理
基于 ARM CPU 的 Linux 物理内存管理
刘永生
Page 1
刘永生 微信: eternalvita 邮箱:yongshliu@sina.cn
基于 ARM CPU 的 Linux 物理内存管理
本文一共分为四个部分
第一部分介绍内存布局的演 。这样方便理解为什么内存管理中需要虚拟地址,物理内存和
访问保护。
第二部分介绍在 ARMC CPU 上是如何支持内存管理的。操作系统对内存的管理的目的就是满
足应用程序 (当然也有部分内核代码)的内存申请和释放,而内存的申请和释放都是围绕
CPU 硬件上的内存管理单元 (MMU)而进行的。所以不了解 ARM MMU 对地址映射的一些
概念和要求,就没办法理解内核中的某些数据结构和执行操作。如果对这部分比较了解,可
以越过。
第三部分介绍 Linux 内核对物理内存管理的思想和原理。如果能在原理和框架上理解内核对
物理内存如何管理的,那么就能更快和深入地理解内核代码是如何实现内核管理的。
第四部分在源代码中介绍 Linux 内核是如何实现物理内存管理的。
注,本文只介绍了内核是如何管理物理内存的,并不包括内存管理的其他部分。本文的介绍
内容到 buddy 系统建立为止,而建立在 buddy 系统之上的 cache-cache 机制,如 Slob,Slab
和 Slub 等则不在本文范围。
Page 2
刘永生 微信: eternalvita 邮箱:yongshliu@sina.cn
基于 ARM CPU 的 Linux 物理内存管理
第一部分,内存布局的演
首先在一个设备上,CPU 执行所需要的代码可以存放在 Ro 中,也可以存放在 Ra 里
存放在 ROM 中的代码,虽然可以被直接执行,但因为 Ro
文档评论(0)