- 1、本文档共26页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 linux虚拟存储器.ppt
基于Linux 的操作系统教程 Operating System Course based on Linux 第六章 :虚拟存储器 章节目标: 1:掌握虚拟存储器的概念以及实现虚拟存储的条件 2:掌握分区式存储扩充的方法 3:掌握页式虚拟存储的实现原理 4:掌握段式虚拟存储的实现原理 5:掌握段页式虚拟存储的实现原理 5:掌握Linux的虚拟存储的实现方法 6. 1:虚拟存储器的概念以及实现虚拟存储的条件 虚拟存储器概念 实现虚拟存储的条件 虚拟存储器 概念:以透明的方式给用户提供一个比实际内存大的多的作业地址空间。它不是任何实际的物理存储器,而是一个非常大的存储器的逻辑模型。 实现虚拟存储的条件 实际内存空间 外存上的内存交换区 虚拟地址 换进、换出机制 6.2:分区存储管理中的内存扩充 覆盖技术 交换技术 6.3:页式虚拟存储管理 基本原理 淘汰算法 页式虚拟存储基本原理 基本思想:作业信息的副本存放在外存上,当作业被调度运行时,至少要将作业的第一页内容装入内存,在执行的过程当中,访问到不在内存的页时,再把它们调入内存。 页表: 缺页中断 6.5:段页式虚拟存储管理 基本原理 地址变换 中断处理 6.6:Linux中的虚拟存储管理技术 80386对虚拟存储管理的支持 Linux虚拟地址空间的管理 缺页中断处理 交换空间与页面的换出 缓冲机制 80386对虚拟存储管理的支持 80386的页表格式 进程的内存组织 Linux中使用三种重要的数据结构表示进程使用内存的情况.他 们是: struct vm_area_struct: (VAM),记录进程使用内存的区域,每个VAM代表进程地址空间的一块单独连续区域. struct vm_operations_struct:提供多种对象操作. Struct mm_struct; 管理一个进程所有的VAM. 其之间的关系可参考书本p46. Linux虚拟地址空间的管理 Linux缺页中断处理 发生缺页中断:Linux收到“页面失败”信息。 缺页中断处理: (1)确定发生页面失败的虚拟内存区域:搜索vm_area_struct结构的AVL树,其间进行地址合法性和操作合法性检查; (2)通过合法性检查,则将不在内存的页调入内存。 vm_area_struct结构的AVL树 请仔细阅读书本131-132中关于缺页中断的过程,并写出流程图。 交换空间与页面的换出(一) 交换空间:用于临时存放从内存调出的页的外存,其存储区域也是按页划分的。 Linux交换空间的两种形式: (1)交换设备:整个块设备,如硬盘的一个分区。 (2)交换文件:文件系统中固定长度的文件。 交换空间与页面的换出(二) 页的换出与淘汰任务由处于内核态交换进程kswapd完成 。该进程不仅具有交换功能,它的另一个重要功能就是保证系统有足够的物理内存空闲块,使内存管理子系统能高效地运行。 Kswapd中的两个重要变量:free_page_high,free_page_low Kswapd按照下面三种方法减少系统使用的物理内存块的数目。 1)减少缓冲区缓存和页面缓存的数目。 2)将System V共享内存页面交换出物理内存。 3)将一般页面交换出物理内存。 淘汰算法:最近最少使用(LRU)算法 缓冲机制 为了加快对磁盘文件的访问,Linux分别设置了页面缓存和交换缓存。 页面缓存: 例如产生缺页中断时要将页面调入内存,系统总是先在页面缓存中进行查找,如果页面在缓存中,则返回缺页中断过程一个指向mem_map_t数据结构的指针;否则则为该页面分配一个物理块,并通过文件系统装入页面。 交换缓存: 交换缓存实质上就是关于页表表目的一个列表,但交换缓存与页表有着本质的不同。页表描述的是一个进程所有页的情况;交换缓存描述的是换出物理内存的页面的情况。其中每一个表目描述一个换出内存的页以及该页面所在的交换文件和它在交换文件中的偏移地址;“交换缓存”所有表目的总和就是物理内存块的总和。 当linux将一个在内存的页调出内存时,先查询交换缓存,如果其中有与该页对应的有效页表表目,则不需要将该页重新写到交换空间,因为原来处在交换空间的内容与换出的内容是一致的。 6.7 本章小结 虚拟存储技术的核心问题:如何解决内存和外存的统一以及它们之间的数据交换问题。 覆盖技术和交换技术不是真正意义上的虚拟存储器。只有页式、段式以及段页式存储管理系统,在相应的硬件支持下,实现了真正意义
文档评论(0)