内存管理-分页机制.ppt_第1页
内存管理-分页机制.ppt_第2页
内存管理-分页机制.ppt_第3页
内存管理-分页机制.ppt_第4页
内存管理-分页机制.ppt_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

之分页内存管理,操作系统原理,教材:汤子瀛计算机操作系统 获部级优秀教材,主讲:柳军,内存管理之分页机制,思考:不同进程的地址空间是相互冲突还 是和平共处?,还是“和平共处“?,眼见为实:(和平共处,此图绝无造假),“和平共处“的秘密并不复杂 -简单说就是查表转换(分页地址变换),0x00403370,进程 A的线性地址空间,0x00403370,进程 B的线性地址空间,物理内存,A 的分页地址变换机制,B 的分页地址变换机制,核心提示: 地址变换可以将进程之间相互重叠的“线性地址”变换到不同的“物理地址”,从而避免了真正意义上的地址“冲突”,实现了进程之间的相互隔离。此外还能实现其它很多好处,因此现代的操作系统都采用地址变换进行内存管理。,对“线性地址”的认识:,1、逻辑地址:汇编语言 (段:偏移) mov bx,1000H mov ds,bx mov al,10H,2、线性地址:由逻辑地址转换得到,3、物理地址:未分页 线性地址 = 物理地址 分页(保护模式)线性地址 != 物理地址,Intel x86 CPU 架构下的三种“地址”,说明: 1、分页内存管理将进程的线性地址空间分成大小相等的片,称为页面或页,目前页的大小取 4096 (0x1000)个字节。把物理内存分成与页面相同大小的存储块,称为物理块或页框。,分页存储管理之原理说明:,2、操作系统为进程建立从线性地址页到物理地址页的变换关系表,中间用到 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,0x89000,0x27000,0,1,1023,页框,二级分页地址变换机制:(重点),由操作系统负责建立 (内存中),CPU内部高速寄存器(保存正在运行进程的页目录表首地址),页目录表,页表,物理内存,线性地址,二级分页地址变换中的基本运算:,线性 地址,101010101010,0000000010,0000000100,31 22 21 12 11 0,1、页内偏移量,00000001000000000010101010101010,& 00000000000000000000111111111111,0xFFF,- 00000000000000000000101010101010,2、页目录表的索引,3、页表的索引,00000001000000000010101010101010,00000000000000000000000000000100,右移22次,00000001000000000010101010101010,00000000000000000001000000000010,右移12次,& 00000000000000000000001111111111,0x3FF,00000000000000000000000000000010,核心提示: 尽管我们在这里计算了这些数据,但即使是写操作系统,这些步骤也是不必的。从线性地址到物理地址之间的查表转换由 CPU 内部自动进行,无需人工干预。,物理内存,二级分页地址的完整运行流程:(重中之重),线性 地址,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,0x01002AAA,1、无分页,0x01002AAA,物理内存,2、开启分页机制,页框就是物理内存页 的边界,即起始地址,核心提示: 二级分页地址机制带来的严重问题就是内存访问效率的严重下降,由不分页时的 1 次,上升到了 3 次,这个问题必须解决。 知错能改 善莫大焉,关于 CPU 的一些知识:,1、衡量CPU性能的指标,除寄存器字长、主频外,CPU内部Cache容量是非常重要的。,2、CPU内部的 Cache 是静态存储器(SRAM),不同于普通的内存(DRAM)。,3、由于 Cache 的制造成本很高昂,Cache的容量都不大(Mbytes量级)。,计算机内部各主要器件的工作速度对比: 1、CPU:典型工作频率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(Translation Lookaside Buffer),用以存放当前访问的那些页目录表和页表项。 此时的地址变换过程是:在CPU给出线性地址后,由地址变换机构自动地先在“快表“中进行查表转换,若转换成功,则称为“命中“,目前的“命中“率高达 90%以上,使分页机制带来的性能损失降低到了可接收的程度。若在“快表“中进行查表转换失败,则退缩为一般的地址变换,概率小于 10%。,利用Cache实现地址的快速变换:,至此分页机制才能得以流畅运转,分页机制之进阶:,进程的线性地址空间,物理内存,页目录表,页表,页表,核心提示: 分页机制可以将进程的数据离散地存放到物理内存中,不再需要连续的内存空间,大大方便了内存管理。 但是,物理内存终究是很有限的,如何在有限的内存中,运行更多的程序呢?换句话说如何扩充物理内存呢?(思考10秒),分页机制之完结:虚拟内存,海纳百川 有容乃大 在计算机的存储设备中什么部件的容量是最大的? 那么硬盘真能充作内存来使用吗?是“滥竽充数“还是“画龙点睛“? 答案是:可以,而且绝大多数人目前都在用,而且绝大多数人还不知道自己正在这样用。 为你是计算机系的学生而自豪吧,你知道了更多的关于计算机的奥妙,虽然你也是刚刚才知道。,硬盘,分页机制之完结:虚拟内存的实现机制,进程的线性地址空间,物理内存,页目录表,页表,内存已满,物理硬盘,?,核心提示: 在前面的介绍中提到,页目录表和页表中的 32 位地址值的低 12 位都“天生“就是 0 。为实现虚拟内存机制,需要利用这 12 位,当然还需要其它硬件上的支持。,分页机制之完结:虚拟内存的实现机制,页表中的数据项(注意低 12 位进行了重定义),1:表示该页在内存,0:表示在硬盘上,欲从此处获得该“物理页“的起始地址,需将此 值和“0xFFFFF000“相?

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论