- 1、本文档共125页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章存储管理
第八章存储管理 第 8 章 目录 ★1 缺少MMU支持的内存管理 ★2 FLAT平模式内存管理 2.1 3种内存管理模型 2.2 标准Linux的内存管理 2.3 uClinux内存管理 2.4 uClinux内存管理的局限性 ★3 内存管理模块的启动过程 ★4 可执行程序的加载 4.1 用户程序的内存分布 4.2 reloc段机制 4.3 FLAT可执行文件格式 4.4 执行文件加载流程 第 8 章 目录 ★1 缺少MMU支持的内存管理 ★2 FLAT平模式内存管理 2.1 3种内存管理模型 2.2 标准Linux的内存管理 2.3 uClinux内存管理 2.4 uClinux内存管理的局限性 ★3 内存管理模块的启动过程 ★4 可执行程序的加载 4.1 用户程序的内存分布 4.2 reloc段机制 4.3 FLAT可执行文件格式 4.4 执行文件加载流程 第 8章 目录 ★1 缺少MMU支持的内存管理 ★2 FLAT平模式内存管理 2.1 3种内存管理模型 2.2 标准Linux的内存管理 2.3 uClinux内存管理 2.4 uClinux内存管理的局限性 ★3 内存管理模块的启动过程 ★4 可执行程序的加载 4.1 用户程序的内存分布 4.2 reloc段机制 4.3 FLAT可执行文件格式 4.4 执行文件加载流程 1. 单一程序模型 这是没有硬件地址转换的内存管理模型。一个应用程序可以对所有的物理内存地址进行寻址。 应用程序始终在物理内存中的同一地址空间运行,一个时刻只有一个应用程序被加载运行,程序加载器把应用程序加载到内存低端,将操作系统加载到高端。 2. 多程序模型 3. 具有地址转换硬件的内存管理模型 应用程序使用的是虚拟地址,CPU实际执行程序所使用的是物理地址,从虚拟地址到物理地址的转换需要操作系统和MMU硬件的参与。 标准Linux以及大多数现代操作系统都使用这种内存管理模型。 第 8章 目录 ★1 缺少MMU支持的内存管理 ★2 FLAT平模式内存管理 2.1 3种内存管理模型 2.2 标准Linux的内存管理 2.3 uClinux内存管理 2.4 uClinux内存管理的局限性 ★3 内存管理模块的启动过程 ★4 可执行程序的加载 4.1 用户程序的内存分布 4.2 reloc段机制 4.3 FLAT可执行文件格式 4.4 执行文件加载流程 8.2.2 标准Linux的内存管理 Linux使用了上述的第三个模型(地址转换硬件的内存管理模型)。 为了理解uClinux对标准Linux的裁减,首先必须清楚标准Linux中内存管理的各种基本概念。这里对相关于虚拟内存的各个概念作一个总结。 8.2.2 标准Linux的内存管理 虚拟内存是一种对RAM和磁盘(或称做主存和辅存)进行无缝混合访问的技术。所有的虚拟内存对于应用程序来说好像是真的存在一样,应用程序在加载的时候并不需要关心是否会超过系统中实际的物理RAM的大小 8.2.2 标准Linux的内存管理 但是只通过地址映射还不能解决有限的物理内存被虚拟地址空间所使用的问题,操作系统还必须使用页面交换机制将那些暂时不再使用的内存空间交换到外存中以使其他程序,能够使用物理内存。 Linux没有将整个进程所使用的空间都交换到外存中,而是对部分不再使用的大小为4KB 的页面进行交换,这样就获得了更多的灵活性。 8.2.2 标准Linux的内存管理 应用程序在标准Linux中的加载使用了“按需调页”的策略,也就是说,应用程序在开始被加载的时候并没有一次被全部装载到内存中,只有那些现在必需的代码和数据在开始进行了加载。 8.2.2 标准Linux的内存管理 这种设计是基于计算机科学中著名的90-10规则的:90%的程序执行时间花费在整个程序10%的代码上。 所以只要保持我们用到的程序在内存中,就可以既满足程序的执行速度又节约物理内存空间。 标准Linux中的内存管理模型如图8-1所示。 图8-1 Linux的
文档评论(0)