Linux虚存分析报告
29页1、Linux 虚 存 分 析 报 告方 存 好第一章 前 言2第二章 LINUX虚存管理概述31、Linux虚存管理的基本特点32、Linux虚存管理的主要实现技术3第三章 LINUX虚存管理数据结构51、32-bit虚拟地址52、Linux的多级页表结构53、页表项的格式64、动态地址映射75、用户进程的虚拟内存结构86、我们的工作10第四章 PROCESS的虚存管理数据结构的建立、维护、拆除及相关系统调用流程111、进程的载入、创建及内存管理数据结构和链结关系的建立112、数据结构及链结关系的拆除(sys_exit)133、缺页中断服务14第五章 主要函数分析16Memory.c16mmap.c22第六章 后记29第一章 前 言Linux是一个功能强大的操作系统,而内存管理则是操作系统的核心,它负责管理计算机系统的存储器。作为操作系统的核心,必须能够克服物理内存的局限,使用户进程在透明方式下,拥有比实际物理内存大得多的内存。其策略之一就是使用虚拟内存。Linux成功地实现了以虚拟内存为核心的内存管理策略,强大得分页机制,公平得交换方式,各类有效得高速缓存,以及以页保护为主得保护措施等
2、。内存管理的目的是要尽可能地方便用户。同时Linux系统通过对用户进程虚存的有效管理,作到了虚存对一般用户和Linux程序员的透明。本文首先阐述了Linux虚存管理以基本特点和主要实现技术,并分析了Linux虚存管理的主要数据结构及其相关关系。围绕它的建立、维护、使用和拆除,作了一个粗浅的剖析,因本人水平有限,有不当之处,请老师指正。同时应该指出的是本文所做的工作离不开同组的林涛、徐玫峰和范昭伟同学的帮助,谢谢他们。第二章 Linux虚存管理概述Linux的内存管理采用页式管理,使用多级页表,动态地址转换机构与主存、辅存共同实现虚拟内存:每个用户Process拥有4GB的虚拟地址空间,Process在运行过程中可以动态浮动和扩展,为用户提供了透明的、灵活有效的内存使用方式,下面简述Linux虚存管理以基本特点和主要实现技术:1、 Linux虚存管理的基本特点1. 更大的地址空间。虚拟内存可以是系统实际拥有的物理内存的若干倍。因而它使得操作系统看起来拥有比实际大得多的内存。2. 合理的物理内存分配。Linux通过共享和交换策略,使各个运行的进程能公平地共享内存。3. 保护。Linux存储
3、管理子系统为每一内存页设置了“上锁位”,在线性地址及每级页表页项上设置了“读/写”位,这样来确保某一个进程不受其他进程的干扰。即使某一个进程失败了,也不会影响到其他进程和操作系统本身。4. 共享虚拟内存Linux实现的虚拟内存允许两个进程之间互相共享内存,例如:共享的库。在这种情形之下,库代码仅存在于一个进程,而不需要为每一个应用都复制一份。2、 Linux虚存管理的主要实现技术1、 请求调页(demanding paging)与内存扩展用户Process创建时,并不是将它所需所有页都分配给相应物理页。开始时只装入页面中Process的第一个页面,其他页根据Process运行过程的请求从外存调入所需页面,当Process访问一个页表项P位为0的页中地址时,表示此页不在主存中,将产生缺页中断,系统调用 handle_mm_fault()处理访问异常,为之分配相应物理页后,它再调用s()函数,从外存中读入该页面。Linux是一种请求式分页存贮管理,这才使之可以运行大于主存空间的Process。2、 页换出策略内存中页面不足时,Linux使用页面AGE技术实现了页淘汰策略的最近最少使用(LR
4、U)算法:即每次换出时,总是选择最老的页换出,对易于从其他设备上获取的非脏(not dirty)页面。Linux采用丢弃(discarding)技术,如果发生过写操作,则将该页写入系统的S中,这样就可以加快换入的速度。3、 内存共享Linux将内存划分为4K大小的页面,为内存共享提供了基础:(1)不同进程间页面共享时,可令共享该页的Process 的页表项(pte)均指向该页。(2)对kernel代码和数据段的共享,通过Process创建时fork() 函数将kernel代码和数据段映射到用户虚存的3GB4GB的空间中去,所以每个Process都可以通过一定方式共享kernel的代码和数据段。4、 内存保护采用了“Hole”技术、虚存段的保护、地址转换机构、页表存取控制位(R/W位)等技术实现了内存保护。“Hole”技术 物理内存前4K是一空页(empty_zero_page),用来捕获NULL指针的异常访问。在Process每个虚存段后,都有一个“4K”的“Hole”,用来捕获虚存段的越界访问。虚存段保护方式 主存中虚存段的全部或部分可以设为保护方式,防止非法访问。页表项存取控制位(
《Linux虚存分析报告》由会员pu****.1分享,可在线阅读,更多相关《Linux虚存分析报告》请在金锄头文库上搜索。
2021上学期五年级英语期中考试质量分析
某楼盘报纸广告及活动安排表
民政半年度工作
幼儿园大班幼儿数学教案大全
车库买卖合同参考范文(7篇)
压力与时间管理学员手册
公司期刊策划方案讲课稿_4655
小学生如何提高防骗能力
《3-6岁儿童健康检查记录表》
2023年纪检部的工作计划
路灯头说明书
myfamily教案
实验室安全保卫制度和措施电子版(4篇).doc
2015《程序综合实验》实验指导书
高中数学人教A版选修11练习:第2章 圆锥曲线与方程2.3.2 Word版含解析
2022开学第一课观后感(精选15篇)
企业聘用员工合同
电大开放教育农业经济管理专科农村政策法规作业
邮政512国际护士节邮政营销策划方案
【模板】承包室内装修合同
2023-03-15 24页
2024-02-07 11页
2022-11-10 2页
2023-12-27 26页
2022-12-27 5页
2023-08-07 22页
2022-11-11 3页
2023-07-13 67页
2023-08-23 70页
2023-01-14 13页