内存管理-分页机制.ppt

上传人:本田雅阁 文档编号:2330974 上传时间:2019-03-22 格式:PPT 页数:20 大小:644.51KB
返回 下载 相关 举报
内存管理-分页机制.ppt_第1页
第1页 / 共20页
内存管理-分页机制.ppt_第2页
第2页 / 共20页
内存管理-分页机制.ppt_第3页
第3页 / 共20页
亲,该文档总共20页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《内存管理-分页机制.ppt》由会员分享,可在线阅读,更多相关《内存管理-分页机制.ppt(20页珍藏版)》请在三一文库上搜索。

1、之分页内存管理,操作系统原理,教材:汤子瀛计算机操作系统 获部级优秀教材,主讲:柳军,内存管理之分页机制,思考:不同进程的地址空间是相互冲突还 是和平共处?,还是“和平共处“?,眼见为实:(和平共处,此图绝无造假),“和平共处“的秘密并不复杂 -简单说就是查表转换(分页地址变换),0x00403370,进程 A的线性地址空间,0x00403370,进程 B的线性地址空间,物理内存,A 的分页地址变换机制,B 的分页地址变换机制,核心提示: 地址变换可以将进程之间相互重叠的“线性地址”变换到不同的“物理地址”,从而避免了真正意义上的地址“冲突”,实现了进程之间的相互隔离。此外还能实现其它很多好处

2、,因此现代的操作系统都采用地址变换进行内存管理。,对“线性地址”的认识:,1、逻辑地址:汇编语言 (段:偏移) mov bx,1000H mov ds,bx mov al,10H,2、线性地址:由逻辑地址转换得到,3、物理地址:未分页 线性地址 = 物理地址 分页(保护模式)线性地址 != 物理地址,Intel x86 CPU 架构下的三种“地址”,说明: 1、分页内存管理将进程的线性地址空间分成大小相等的片,称为页面或页,目前页的大小取 4096 (0x1000)个字节。把物理内存分成与页面相同大小的存储块,称为物理块或页框。,分页存储管理之原理说明:,2、操作系统为进程建立从线性地址页到物

3、理地址页的变换关系表,中间用到 2 种线性表,分别称为页目录表和页表,表的大小都是 4096 个字节。(关系见下页) 3、CPU内部为分页机制提供了硬件支持,以加快变换速度。,页目录表,0x2000,页表0,4096 字节,页目录表和页表的关系:(很重要),说明: 为了表征 32 位地址,表中每个数据都是 4 Bytes。注意这些表中的数据的低 12 位都是 0。,0,1,2,1023,页表1,0x5000,页表1023,0x2000,0x6000,0x6000,0x5000,0,1,1023,0,1,1023,CR3,4096 字节,0x9000,0x1000,0x19000,0x21000

4、,0x89000,0x27000,0,1,1023,页框,二级分页地址变换机制:(重点),由操作系统负责建立 (内存中),CPU内部高速寄存器(保存正在运行进程的页目录表首地址),页目录表,页表,物理内存,线性地址,二级分页地址变换中的基本运算:,线性 地址,101010101010,0000000010,0000000100,31 22 21 12 11 0,1、页内偏移量,00000001000000000010101010101010,& 00000000000000000000111111111111,0xFFF,- 00000000000000000000101010101010,2

5、、页目录表的索引,3、页表的索引,00000001000000000010101010101010,00000000000000000000000000000100,右移22次,00000001000000000010101010101010,00000000000000000001000000000010,右移12次,& 00000000000000000000001111111111,0x3FF,00000000000000000000000000000010,核心提示: 尽管我们在这里计算了这些数据,但即使是写操作系统,这些步骤也是不必的。从线性地址到物理地址之间的查表转换由 CPU 内

6、部自动进行,无需人工干预。,物理内存,二级分页地址的完整运行流程:(重中之重),线性 地址,101010101010,0000000010,0000000100,31 22 21 12 11 0,物理内存,0x003000,0x006000,0x00006AAA,X,0x00000AAA,0x002FFF,0x003FFF,+ 0x00006000,- 0x00006AAA,思考(15秒): 启用分页内存管理之后带来的明显的不利现象是什么?,二级分页地址机制带来的问题:,线性 地址,101010101010,0000000010,0000000100,31 22 21 12 11 0,0x01

7、002AAA,1、无分页,0x01002AAA,物理内存,2、开启分页机制,页框就是物理内存页 的边界,即起始地址,核心提示: 二级分页地址机制带来的严重问题就是内存访问效率的严重下降,由不分页时的 1 次,上升到了 3 次,这个问题必须解决。 知错能改 善莫大焉,关于 CPU 的一些知识:,1、衡量CPU性能的指标,除寄存器字长、主频外,CPU内部Cache容量是非常重要的。,2、CPU内部的 Cache 是静态存储器(SRAM),不同于普通的内存(DRAM)。,3、由于 Cache 的制造成本很高昂,Cache的容量都不大(Mbytes量级)。,计算机内部各主要器件的工作速度对比: 1、C

8、PU:典型工作频率3GHz,最快(含Cache) 2、DRAM:普通内存,DDR800,实际频率400M 3、硬盘:7200转,数据传输率 40MB100MB/S 4、以太网:100Mbits/S ,数据传输率 12.5MB/S 5、打印机:10B1KB/S 6、键盘: 10B/S,利用Cache实现地址的快速变换:,页目录表,页表,物理内存,CPU内部 高速运转,Cache,Cache,为了提高地址变换速度,可在地址变换机构中增设一个具有并行查寻能力的特殊高速缓冲寄存器,又称为“联想寄存器“(Associative Memory),或称为“快表“,在IBM系统中又取名为TLB(Transla

9、tion Lookaside Buffer),用以存放当前访问的那些页目录表和页表项。 此时的地址变换过程是:在CPU给出线性地址后,由地址变换机构自动地先在“快表“中进行查表转换,若转换成功,则称为“命中“,目前的“命中“率高达 90%以上,使分页机制带来的性能损失降低到了可接收的程度。若在“快表“中进行查表转换失败,则退缩为一般的地址变换,概率小于 10%。,利用Cache实现地址的快速变换:,至此分页机制才能得以流畅运转,分页机制之进阶:,进程的线性地址空间,物理内存,页目录表,页表,页表,核心提示: 分页机制可以将进程的数据离散地存放到物理内存中,不再需要连续的内存空间,大大方便了内存

10、管理。 但是,物理内存终究是很有限的,如何在有限的内存中,运行更多的程序呢?换句话说如何扩充物理内存呢?(思考10秒),分页机制之完结:虚拟内存,海纳百川 有容乃大 在计算机的存储设备中什么部件的容量是最大的? 那么硬盘真能充作内存来使用吗?是“滥竽充数“还是“画龙点睛“? 答案是:可以,而且绝大多数人目前都在用,而且绝大多数人还不知道自己正在这样用。 为你是计算机系的学生而自豪吧,你知道了更多的关于计算机的奥妙,虽然你也是刚刚才知道。,硬盘,分页机制之完结:虚拟内存的实现机制,进程的线性地址空间,物理内存,页目录表,页表,内存已满,物理硬盘,?,核心提示: 在前面的介绍中提到,页目录表和页表

11、中的 32 位地址值的低 12 位都“天生“就是 0 。为实现虚拟内存机制,需要利用这 12 位,当然还需要其它硬件上的支持。,分页机制之完结:虚拟内存的实现机制,页表中的数据项(注意低 12 位进行了重定义),1:表示该页在内存,0:表示在硬盘上,欲从此处获得该“物理页“的起始地址,需将此 值和“0xFFFFF000“相?,以将低 12 位清 0。,分页机制之完结:虚拟内存的实现机制,1、页在内存 P = 1,1,2、页不在内存 P = 0,若访问 P = 0 的页面,则引发“缺页中断“,由中断处理程序负责将磁盘上的页调入内存后,原进程才能继续运行。,保留给操作系统使用,用于定位到磁盘上页面的位置,与,作 业,本节结束,本次课无作业,回家去领悟!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1