- 2
- 0
- 约 29页
- 2016-12-06 发布于重庆
- 举报
Linux虛存分析报告
Linux 虚 存 分 析 报 告
方 存 好
第一章 前 言 2
第二章 Linux虚存管理概述 3
1、Linux虚存管理的基本特点 3
2、Linux虚存管理的主要实现技术 3
第三章 Linux虚存管理数据结构 5
1、32-bit虚拟地址 5
2、Linux的多级页表结构 5
3、页表项的格式 6
4、动态地址映射 7
5、用户进程的虚拟内存结构 8
6、我们的工作 10
第四章 Process的虚存管理数据结构的建立、维护、拆除及相关系统调用流程 11
1、进程的载入、创建及内存管理数据结构和链结关系的建立 11
2、数据结构及链结关系的拆除(sys__exit) 13
3、缺页中断服务 14
第五章 主要函数分析 16
Memory.c 16
mmap.c 22
第六章 后记 29
前 言
Linux是一个功能强大的操作系统,而内存管理则是操作系统的核心,它负责管理计算机系统的存储器。作为操作系统的核心,必须能够克服物理内存的局限,使用户进程在透明方式下,拥有比实际物理内存大得多的内存。其策略之一就是使用虚拟内存。Linux成功地实现了以虚拟内存为核心的内存管理策略,强大得分页机制,公平得交换方式,各类有效得高速缓存,以及以页保护为主得保护措施等。内存管理的目的是要尽可能地方便用户。同时Linux系统通过对用户进程虚存的有效管理,作到了虚存对一般用户和Linux程序员的透明。
本文首先阐述了Linux虚存管理以基本特点和主要实现技术,并分析了Linux虚存管理的主要数据结构及其相关关系。围绕它的建立、维护、使用和拆除,作了一个粗浅的剖析,因本人水平有限,有不当之处,请老师指正。同时应该指出的是本文所做的工作离不开同组的林涛、徐玫峰和范昭伟同学的帮助,谢谢他们。
Linux虚存管理概述
Linux的内存管理采用页式管理,使用多级页表,动态地址转换机构与主存、辅存共同实现虚拟内存:每个用户Process拥有4GB的虚拟地址空间,Process在运行过程中可以动态浮动和扩展,为用户提供了透明的、灵活有效的内存使用方式,下面简述Linux虚存管理以基本特点和主要实现技术:
Linux虚存管理的基本特点
更大的地址空间。
虚拟内存可以是系统实际拥有的物理内存的若干倍。因而它使得操作系统看起来拥有比实际大得多的内存。
合理的物理内存分配。
Linux通过共享和交换策略,使各个运行的进程能公平地共享内存。
保护。
Linux存储管理子系统为每一内存页设置了“上锁位”,在线性地址及每级页表页项上设置了“读/写”位,这样来确保某一个进程不受其他进程的干扰。即使某一个进程失败了,也不会影响到其他进程和操作系统本身。
共享虚拟内存
Linux实现的虚拟内存允许两个进程之间互相共享内存,例如:共享的库。在这种情形之下,库代码仅存在于一个进程,而不需要为每一个应用都复制一份。
Linux虚存管理的主要实现技术
请求调页(demanding paging)与内存扩展
用户Process创建时,并不是将它所需所有页都分配给相应物理页。开始时只装入页面中Process的第一个页面,其他页根据Process运行过程的请求从外存调入所需页面,当Process访问一个页表项P位为0的页中地址时,表示此页不在主存中,将产生缺页中断,系统调用 handle_mm_fault()处理访问异常,为之分配相应物理页后,它再调用swap_in()函数,从外存中读入该页面。
Linux是一种请求式分页存贮管理,这才使之可以运行大于主存空间的Process。
页换出策略
内存中页面不足时,Linux使用页面AGE技术实现了页淘汰策略的最近最少使用(LRU)算法:即每次换出时,总是选择最老的页换出,对易于从其他设备上获取的非脏(not dirty)页面。Linux采用丢弃(discarding)技术,如果发生过写操作,则将该页写入系统的Swapfile中,这样就可以加快换入的速度。
内存共享
Linux将内存划分为4K大小的页面,为内存共享提供了基础:
(1)不同进程间页面共享时,可令共享该页的Process 的页表项(pte)均指向该页。
(2)对kernel代码和数据段的共享,通过Process创建时fork() 函数将kernel代码和数据段映射到用户虚存的3GB~4GB的空间中去,所以每个Process都可以通过一定方式共享kernel的代码和数据段。
内存保护
采用了“Hole”技术、虚存段的保护、地址转换机构、页表存取控制位(R/W位)等技术实现了内存保护。
──“Hole”技术 物理内存前4K是一空页(empty_zero_page),用来捕获NULL指针的异常访问。在Process每个虚存段后,都有一个“4K”的“Hole”,
您可能关注的文档
- LED燈具培训手册.doc
- LED產品竞争对手分析报告.doc
- LED節能灯基本知识.doc
- LED與LCD基本知识.doc
- LED路燈合同能源管理(EMC)调研报告.doc
- LED產业发展分析-日亚化学LED发展战略分析.doc
- LED路燈调研报告122.doc
- LED電参数采集卡接口通信协议帧格式_V17.doc
- LED電子显示屏幕-基本手册.doc
- LED面板燈技术培训(深圳研一何良珠).doc
- 2025-2026学年科普版七年级下册英语Unit7 Being a Smart Shopper素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit10 Lending a Helping Hand素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit11 Rules Matter素养测评卷(含答案).docx
- 2025-2026学年科普版七年级下册英语Unit12 Better Together素养测评卷(含答案).docx
- 2026年中考英语语法选择专题训练(含答案).docx
- 2026中考语文二轮学思并重,涵养君子之德论语十二章、虽有佳肴、大道之行也.docx
- 中考文言文常见文化常识梳理.docx
- 中考语文二轮:内修君子德外尽忠臣心诚子书出师表修身立德主题学习.docx
- 中考语文二轮:不一样的求学路一样的成长梦送东阳马生序劝学主题学习.docx
- 中考语文二轮:《陋室铭》《爱莲说》托物寓意主题学习.docx
原创力文档

文档评论(0)