虚拟内存管理基础课件.ppt

虚拟内存管理基础课件.ppt

ID:57119192

大小:194.00 KB

页数:23页

时间:2020-07-31

虚拟内存管理基础课件.ppt_第1页
虚拟内存管理基础课件.ppt_第2页
虚拟内存管理基础课件.ppt_第3页
虚拟内存管理基础课件.ppt_第4页
虚拟内存管理基础课件.ppt_第5页
资源描述:

《虚拟内存管理基础课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Linux虚拟内存管理基础篇2主要内容虚拟内存管理的基本原理和基本过程。CPU对虚拟内存管理的支持。(ULKCh.2)Linux如何管理页表。(ULKCh.2)Linux如何管理物理内存(ULKCh.8)Linux如何管理虚拟空间的内核地址空间部分(ULKCh.8)Linux如何管理虚拟空间的进程地址空间部分(ULKCh.9)Linux如何在物理内存和外出之间同步数据(ULKCh.15)Linux如何主动回收物理内存(ULKCh.17)注:无法全部讲骚瑞3从宏观角度….Linux的虚拟内存管理机制为应用程序和驱动程序

2、提供了两种服务:使每个进程都拥有自己独立的内存地址空间;对于32位Linux而言,每个任务可寻址的内存地址空间都为0x00000000~0xFFFFFFFF(232,4GB)当物理内存不够4GB时,虚拟内存管理模块会用外存空间模拟内存空间,并且该模拟过程对应用程序是透明的。4用户地址空间与内核地址空间Linux将每个进程的4GB的独立地址空间又划分为用户地址空间(0x00000000~0xBFFFFFFF)和内核地址空间(0xC0000000~0xFFFFFFFF)两部分。操作系统内核代码和数据存放在内核地址空间;每

3、个进程自己私有的代码和数据存放在用户地址空间虽然Linux的内核代码和数据被映射到了每个进程的地址空间中(所有进程看到的内容是相同的),但在实际的物理内存中,只有内核代码和数据的一份拷贝。5用户地址空间与内核地址空间用户态与核心态一般现代CPU都有几种不同的指令执行级别在高执行级别下,代码可以执行特权指令,访问任意的物理地址,这种CPU执行级别就对应着内核态用户态指相应的低级别执行状态,代码的掌控范围会受到限制,只能执行CPU指令集的一个子集举例:intelx86CPU有四种不同的执行级别0-3,Linux只使用了其

4、中的0级和3级分别来表示内核态和用户态0xc0000000以上的内核地址空间只能在内核态下访问,0x00000000-0xbfffffff的用户地址空间在两种状态下都可以访问应用程序可以通过Linux系统调用由用户态进入内核态7逻辑地址与物理地址逻辑地址:程序在运行过程中用来访问存储器的地址。程序员在编程时,只需知道逻辑地址,不需考虑该地址与实际物理硬件上的存储单元如何对应。编译器在编译源程序时,也只需考虑逻辑地址。物理地址:表示物理存储器中一个存储单元的实际位置,地址总线上产生的就是物理地址。(总线地址)在实地址模

5、式下,逻辑地址等于物理地址。在虚拟地址模式下,逻辑地址不等于物理地址,必须经过查表才能转换为物理地址,因此也叫虚拟地址。线性地址:2维逻辑地址变为1维地址后,叫线性地址物理地址查表转换逻辑地址虚拟页物理页031null213null虚拟页物理页021null213null虚拟页物理页0null1null213null物理页taken进程id0Nnull1Yos2Y23Y1进程1的页表进程id虚拟页硬盘文件名偏移量进程2的页表进程3的页表内页表外页表CR3寄存器CPU负责查表(虚拟地址->物理地址),查表失败时触发缺页

6、异常(14号);OS负责填充各个表的内容,并提供缺页中断的中断服务器程序。9X86处理器对VM的支持MMU单元:(1)自动查表,将当期指令中的逻辑地址转化为物理地址;(2)触发缺页异常。32bitCPU支持2级页表:页目录表,页表。10+10+1264bitCPU支持4级页表:9+9+9+9+12专用寄存器CR3中存放了当前有效的页目录表的物理地址。专用寄存器CR2用于存放触发缺页异常的线性地址。转换旁视缓冲区TLB:将常用的逻辑/物理转换关系缓存到CPU。当页表被修改,或有效页表切换时需调用专用指令刷新TLB。fl

7、ush_tlb_all,flush_tlb_mm,flush_tlb_range,flush_tlb_page1032bitIntelx86的页表在32位CPU上,地址空间为2^32,一个内存页大小为2^12,则共有2^20个页,页编号范围0~2^20-1,因此页表中的一行至少要用3个字节(存储页编号是必须的),但实际上页表中一行占4个字节。80386CPU中一个页表项的定义如下:Present标志、Accessed标志、Dirty标志、Read/Write标志、User/Supervisor标志、……如果prese

8、nt标志为0,分页单元就把这个线性地址存放在处理器的CR2寄存器中,并产生一个14号缺页异常11页表项或页目录项中的标志Present标志:所指内容是否存在Accessded标志:所指内容被访问之后自动置1Dirty标志:所指内容被修改后自动置1Read/Write标志:所指内容的读写权限User/Supervisor标志:所指内容的访问特权要

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

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

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