linux操作系统内存管理

linux操作系统内存管理

ID:18677894

大小:45.50 KB

页数:10页

时间:2018-09-21

linux操作系统内存管理_第1页
linux操作系统内存管理_第2页
linux操作系统内存管理_第3页
linux操作系统内存管理_第4页
linux操作系统内存管理_第5页
资源描述:

《linux操作系统内存管理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、操作系统报告Linux操作系统内存管理学院:信息工程姓名:张卫莉班级:信管二班学号:10030123810操作系统报告摘要:Linux支持虚拟内存,就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。这对用户全透明:运行于Linux的程序只看到大量的可用内存而不甘心哪部分在磁盘上。当然,读写硬盘比真的内存慢(慢千倍),所以程序运行较慢。用做虚拟内存的这部分硬盘叫对换空间。Linux可以使用文件系统中的普通文件或单独的分区作为对换空间。对换分区更快,但对换文件更易于改变大小(无须对硬盘重分区)。如果

2、知道要多少对换空间,应该用对换分区;如果不能确认,可以先用对换文件,用一段时间后再根据所需空间建立对换分区。Linux允许同时使用多个对换分区和/或对换文件。即如果偶尔需要更多的对换空间,可以随时建立一个额外的对换文件。Linux是一个遵循POSIX(PortableOperatingSystemInterface)标准的操作系统,它继承了UNIX系统优秀的设计思想,拥有简练、容错强、高效而且稳定的内核。此外Linux还具备其他操作系统所不能比拟的优点。①:完全免费;②:内核源代码完全公开。Linux内核拥有一个功能完备的内存管理子系统,它增加了对NUMA(非均匀存储结构)体系结构的支持

3、并且使用了基于区(ZONE)的物理内存管理方法,从而保持了物理上连续分布、而逻辑上统一的内存模式和传统的共享内存编程模型,使得系统的性能得以极大的扩展。这样Linux不仅能够满足传统的桌面应用,而且还能满足高端服务器市场的需要。目前,Linux不仅在Internet服务器上表现出色,而且还可以胜任大型数据库系统的服务器。10操作系统报告关键字:虚拟内存,物理内存管理,虚拟内存管理一、Linux存储管理的基本框架Linux内核采用虚拟页式存储管理,采用三次映射机制实现从线性地址到物理地址的映射。其中PGD为页面目录,PMD为中间目录,PT为页面表。具体的映射过程为:⑴从CR3寄存器中找到P

4、GD基地址;⑵以线性地址的最高位段为下标,在PGD中找到指向PMD的指针;⑶以线性地址的次位段为下标,在PMD中找到指向PT的指针;⑷同理,在PT中找到指向页面的指针;⑸线性地址的最后位段,为在此页中的偏移量,这样就完成了从线性地址到物理地址的映射过程。32位的微机平台如Intel的X86采用段页式的两层映射机制,而64位的微处理器采用三级分页。对于传统的32位平台,Linux采用让PMD(中间目录)全0来消除中间目录域,这样就把Linux逻辑上的三层映射模型落实到X86结构物理上的二层映射,从而保证了Linux对多种硬件平台的支持。二、Linux对虚拟内存的管理虚拟内存不仅可以解决内存

5、容量的问题,还可以提供以下附加的功能:大地址空间;进程保护;内存映射;灵活的物理内存分配;共享虚拟内存。Linux对虚拟内存的管理以进程为基础。32位的线性地址映射的4G的虚拟空间中,从0XC0000000到0XFFFFFFFF的1G空间为所用进程所共享的内核空间,每个进程都有自己的3G用户空间。Linux的虚拟内存管理需要各种机制的支持,首先内存管理程序通过映射机制把用户10操作系统报告程序的逻辑地址映射到物理地址,在用户程序运行时时如果发现程序中要用的虚拟地址没有对应的物理地址,就发出请页要求①:如果有空闲的内存可供分配,就请求分配内存②,并把正在使用的物理页记录在页缓存中③,如果没

6、有足够的内存分配,就调用交换机制,腾出一部分内存④⑤。另外在地址映射中要通过TLB(翻译后援存储器)来寻找物理页⑧,交换机制中要用到交换缓存⑥,并且把物理页内容交换到交换文件中也要修改页表来映射文件地址⑦。一个进程的虚拟地址映射靠三个数据结构来描述:mm_struct、vm_area_struct、page。其中mm_struct结构用来描述一个进程的虚拟内存;vm_area_struct描述一个进程的虚拟地址区域,在这个区域中的所有页面具有相同的访问权限和一些属性;page描述一个具体的物理页面。当进程通过系统调用动态分配内存时,Linux首先分配一个vm_area_struct结构,

7、并链接到进程的虚拟内存链表,当后续指令访问这一内存区域时,产生缺页异常。系统处理时,通过分析缺页原因、操作权限之后,如果页面在交换文件中,则进入do_page_fault()中恢复映射的代码,重新建立映射关系。如果因为页面不再内存中,则Linux会分配新的物理页,并建立映射关系。当物理内存出现不足时,就需要换出一些页面。Linux采用LRU(LeastRecentlyUsed最近最少使用)页面置换算法选择需要从系统中换出的页面。系统

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。