linux虚存分析报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Linux虚存分析报告 方存好 TOC \o 1-5 \h \z HYPERLINK \l bookmark1 \o Current Document \h 第一章前言 2 第二章LINUX虚存管理概述 1、 Linux虚存管理的基木特点 3 2、 Linux虚存管理的主要实现技术 3 HYPERLINK \l bookmark3 \o Current Document \h 第三章LINUX虚存管理数据结构 4 1、 32-B1T虚拟地址 4 2、 Linux的多级页表结构 5 3、 页表项的格式 6 4、 动态地址映射 7 5、 用户进程的虚拟内存结构 7 6、 我们的工作 10 第四章PROCESS的虚存管理数据结构的建立、维护、拆除及相关系统调用流程 11 1、 进程的载入、创建及A存管理数据结构和链结关系的建立 11 2、 数据结构及链结关系的拆除(SYS_Exrr) 13 3、 缺页中断服务 14 16第五章主要函数分析 16 HYPERLINK \l bookmark16 \o Current Document \h Memory.c 16 HYPERLINK \l bookmark43 \o Current Document \h MMAP.C 22 HYPERLINK \l bookmark44 \o Current Document \h 第六章后记 29 第一章前言 Linux是一个功能强大的操作系统,而闪存管理则是操作系统的核心,它负责管理计 算机系统的存储器。作为操作系统的核心,必须能够克服物理内存的局限,使川户进程在 透明方式下,拥有比实际物理内存大得多的内存。其策略之一就是使用虚拟内存。Linux成 功地实现了以虚拟P、j存为核心的IA)存管理策略,强大得分页机制,公平得交换方式,各类 有效得高速缓存,以及以贝保护为主得保护措施等。内存管理的FI的是耍尽可能地方便用 户。同时Linux系统通过对川户进程虚存的冇效管理,作到丫虚存对一般用户和Linux程序 员的透明。 本文首先阐述了 Linux虚存管理以基本特点和主要实现技术,并分析了 Linux虚存管 理的主要数裾结构及其相关关系。围绕它的建立、维护、使用和拆除,作丫一个粗浅的剖 析,因本人水平有限,有不当之处,请老师指正。M时应该指出的是本文所做的工作离不 开冋纟II的林涛、徐玫峰和范昭伟同学的帮助,谢谢他们。 第二章Linux虚存管理概述 Linux的内存管理采用页式管理,使用多级页表,动态地址转换机构与主存、辅存共同 实现虚拟内存:每个用户Process拥有4GB的虚拟地址空fuj, Process在运行过程屮可以动 态浮动和扩展,为川户提供了透明的、灵活奋效的内存使川方式,卜*面简述Linux虚存管理 以基木特点和主要实现技术: 1、 Linux虚存管理的基本特点 更大的地址空间。 虚拟内存可以是系统实际拥有的物理内存的若干倍。Wlflj它使得操作系统看起 來捌旮比实际人得多的内存。 合理的物理内存分配。 Linux通过共享和交换策略,使各个运行的进程能公平地共享内存。 保护。 Linux存储管理子系统为每一内存贝设置了 “上锁位”,在线性地址及每级贝表 页项上设置了“读/写”位,这样來确保某一个进程不受其他进程的干扰。即使某一 个进程失败了,也不会影响到其他进程和揀作系统本身。 丼享虚拟内存 Linux实现的虚拟内存允许两个进程之间互相共享A存,例如:共享的库。在 这种情形之下,库代码仅存在于一个进程,而不需耍为每一个应用都a制一份。 2、 Linux虚存管理的主要实现技术 1、 请求调贞(demanding paging)与内存扩展 用户Process创建吋,并不是将它所需所有页都分配给相应物理页。开始时只装入災面 中Process的第一个页淅,其他贞根据Process运行过程的请求从外存调入所需页面,当 Pmcess访问一个页表项P位为0的页屮地址时,表示此页不在主存屮,将产生缺页屮断, 系统调用handle_mm_fault()处理访问异常,为之分配相应物理贞它祥调用swap_in() 函数,从外存中读入该页面。 Linux足一?种请求式分页存贮管理,这才使之可以运行人于主存空间的Process。 2、 贞换出策略 内存中贞而不足时,Linux使用贝而AGE技术实现了页淘汰策略的最近最少使用(LRU) 算法:即每次换出时,总是选择敁老的页换出,对易于从K他设备上获取的非脏(not dirty) 贞曲。Linux采用i亦(discarding)技术,如果发虫过写揀作,则将该极写入系统的Swapfile 屮,这样就可以加快换入的速度。 3、 内存共享 Linux将内存划分为4K大小的页而,为内存丼享提供了基础: (1)不同

文档评论(0)

ggkkppp + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档