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

下载本文档

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

文档简介

1、之之分页内存管理分页内存管理操作系统原理操作系统原理教材:汤子瀛教材:汤子瀛计算机操作系统计算机操作系统获获部级优秀教材部级优秀教材主讲:柳军主讲:柳军24.1相似的图形相似的图形 凌格风空机凌格风空机 wk11 内存管理之分页机制内存管理之分页机制0 x00403370进程进程A0 x00403370进程进程B?思考:不同进程的地址空间是相互冲突还思考:不同进程的地址空间是相互冲突还 是和平共处?是和平共处?华南虎华南虎 vs 东北虎东北虎是是二虎相争二虎相争?还是还是和平共处和平共处?眼见为实:(和平共处,此图绝无造假)眼见为实:(和平共处,此图绝无造假)和平共处和平共处的秘密并不复杂的秘

2、密并不复杂-简单说就是简单说就是查表转换(分页地址变换)查表转换(分页地址变换)0 x00403370进程进程 A的线的线性地址空间性地址空间0 x00403370进程进程 B的线的线性地址空间性地址空间物理内存物理内存A 的的分页分页地址地址变换变换机制机制B 的的分页分页地址地址变换变换机制机制34860 x002137038160 x0134370核心提示核心提示: 地址变换可以将进程之间相互地址变换可以将进程之间相互重叠重叠的的“线性地址线性地址”变换到变换到不同不同的的“物理地址物理地址”,从而,从而避免了真正意义上的地址避免了真正意义上的地址“冲突冲突”,实现了进程之间的相互隔离。

3、此外还能,实现了进程之间的相互隔离。此外还能实现其它很多好处,因此现代的操作系统实现其它很多好处,因此现代的操作系统都采用地址变换进行内存管理。都采用地址变换进行内存管理。对对“线性地址线性地址”的认识:的认识:1、逻辑地址逻辑地址:汇编语言:汇编语言 (段段:偏移偏移) mov bx,1000H mov ds,bx mov al,10H2、线性地址线性地址:由逻辑地址转换得到:由逻辑地址转换得到1000H ds左移左移 4 位位10000H (实模式下实模式下)+ 10H 加上段内偏移加上段内偏移10010H3、物理地址物理地址:未分页:未分页 线性地址线性地址 = 物理地址物理地址 分页(

4、分页(保护模式保护模式)线性地址)线性地址 != 物理地址物理地址Intel x86 CPU 架构下的三种架构下的三种“地址地址”说明:说明:1、分页内存管理将进程的线性地址空间分成大小相等的片,、分页内存管理将进程的线性地址空间分成大小相等的片,称为称为页面页面或或页页,目前页的大小取,目前页的大小取 4096 (0 x1000)个字节。把物理个字节。把物理内存分成与页面相同大小的存储块,称为内存分成与页面相同大小的存储块,称为物理块物理块或或页框页框。分页存储管理之原理说明:分页存储管理之原理说明:2、操作系统为进程建立从线性地址页到物理地址页的变换关、操作系统为进程建立从线性地址页到物理

5、地址页的变换关系表,中间用到系表,中间用到 2 种线性表,分别称为种线性表,分别称为页目录表页目录表和和页表页表,表的,表的大小都是大小都是 4096 个字节。个字节。(关系见下页关系见下页)3、CPU内部为分页机制提供了内部为分页机制提供了硬件支持硬件支持,以加快变换速度。,以加快变换速度。第第 0 页页0.0 xFFF 0 x1000.0 x1FFF 0 x2000.0 x2FFF第第 1 页页第第 2页页0 x3000第第 3 页页页目录表页目录表0 x2000页表页表04096字节字节页目录表和页表的关系页目录表和页表的关系:(很重要):(很重要)说明说明: 为了表征为了表征 32 位

6、地址,表中每个数位地址,表中每个数据都是据都是 4 Bytes。注意这些表中的数。注意这些表中的数据的据的低低 12 位都是位都是 0。0121023页表页表10 x5000页表页表10230 x20000 x60000 x60000 x5000011023011023CR34096字节字节0 x90000 x10000 x190000 x210000 x890000 x27000011023页框页框二级分页地址变换机制:(重点)二级分页地址变换机制:(重点) 由操作系统负责建立由操作系统负责建立 (内存中内存中) CPU内部高速寄存器内部高速寄存器(保存正在运行进程的页目录表首地址)(保存正

7、在运行进程的页目录表首地址) 页目录表页目录表页表页表物理内存物理内存线性地址线性地址二级分页地址变换中的基本运算:二级分页地址变换中的基本运算:线性线性地址地址1010101010100000000010000000010031 22 21 12 11 01、页内偏移量、页内偏移量00000001000000000010101010101010& 000000000000000000001111111111110 xFFF-000000000000000000001010101010102、页目录表的索引、页目录表的索引3、页表的索引、页表的索引0000000100000000001

8、010101010101000000000000000000000000000000100右移右移22次次0000000100000000001010101010101000000000000000000001000000000010右移右移12次次& 000000000000000000000011111111110 x3FF00000000000000000000000000000010核心提示核心提示: 尽管我们在这里计算了这些数据,但即使是尽管我们在这里计算了这些数据,但即使是写操作系统,这些步骤也是写操作系统,这些步骤也是不必的不必的。从线性地址。从线性地址到物理地址之间的查

9、表转换由到物理地址之间的查表转换由 CPU 内部内部自动自动进进行,无需人工干预。行,无需人工干预。物理内存物理内存二级分页地址的完整运行流程二级分页地址的完整运行流程:(重中之重):(重中之重)线性线性地址地址1010101010100000000010000000010031 22 21 12 11 0物理内存物理内存0 x002000CR3(PDBR)0 x002000页目录表页目录表起始地址起始地址0 x003000012340 x0020100 x0020110 x0020120 x0020130 x003000页表起始页表起始地址地址0 x0060000 x00006AAAX0 x

10、00000AAA0 x002FFF0 x003FFF+ 0 x00006000-0 x00006AAA012思考(思考(15秒)秒): 启用分页内存管理之启用分页内存管理之后带来的明显的后带来的明显的不利不利现现象是什么?象是什么?二级分页地址机制带来的问题:二级分页地址机制带来的问题:线性线性地址地址1010101010100000000010000000010031 22 21 12 11 00 x01002AAA1、无分页、无分页0 x01002AAA物理内存物理内存2、开启分页机制、开启分页机制CR3(页目录表页目录表) X1次次页表页表第第1次次页框页框第第2次次 X第第3次次页框页

11、框就是物理内存页就是物理内存页的边界,即起始地址的边界,即起始地址核心提示核心提示: 二级分页地址机制带来的严重问题就是二级分页地址机制带来的严重问题就是内存内存访问效率访问效率的严重下降,由不分页时的的严重下降,由不分页时的 1 次,上升次,上升到了到了 3 次,这个问题必须解决。次,这个问题必须解决。 知错能改知错能改 善莫大焉善莫大焉关于关于 CPU 的一些知识:的一些知识:1、衡量、衡量CPU性能的指标,除寄存性能的指标,除寄存器字长、主频外,器字长、主频外,CPU内部内部Cache容量是非常重要的。容量是非常重要的。2、CPU内部的内部的 Cache 是是静态静态存存储器储器(SRA

12、M),不同于普通的内存,不同于普通的内存(DRAM)。3、由于、由于 Cache 的制造的制造成本成本很高昂很高昂,Cache的容量都不大(的容量都不大(Mbytes量级)。量级)。计算机内部各主要器件的工作速度对比计算机内部各主要器件的工作速度对比: 1、CPU:典型工作频率:典型工作频率3GHz,最快(含,最快(含Cache) 2、DRAM:普通内存,:普通内存,DDR800,实际频率,实际频率400M 3、硬盘硬盘:7200转,数据传输率转,数据传输率 40MB100MB/S 4、以太网:、以太网:100Mbits/S ,数据传输率,数据传输率 12.5MB/S 5、打印机:、打印机:1

13、0B1KB/S 6、键盘:、键盘: 10B/S利用利用Cache实现地址的快速变换:实现地址的快速变换:页目录表页目录表页表页表物理内存物理内存CPU内部内部高速运转高速运转CacheCache 为了提高地址变换速度,可在地址变换机构中增设一个具为了提高地址变换速度,可在地址变换机构中增设一个具有并行查寻能力的特殊高速缓冲寄存器,又称为有并行查寻能力的特殊高速缓冲寄存器,又称为联想寄存器联想寄存器(Associative Memory),或称为,或称为快表快表,在,在IBM系统中又取名系统中又取名为为TLB(Translation Lookaside Buffer),用以存放当前访问的那,用以

14、存放当前访问的那些页目录表和页表项。些页目录表和页表项。 此时的地址变换过程是:在此时的地址变换过程是:在CPU给出给出线性地址线性地址后,由地址后,由地址变换机构自动地变换机构自动地先先在在快表快表中进行查表转换,若转换成功,则中进行查表转换,若转换成功,则称为称为命中命中,目前的,目前的命中命中率高达率高达 90%以上,使分页机制带以上,使分页机制带来的性能损失降低到了可接收的程度。若在来的性能损失降低到了可接收的程度。若在快表快表中进行查表中进行查表转换失败,则退缩为一般的地址变换,概率小于转换失败,则退缩为一般的地址变换,概率小于 10%。利用利用Cache实现地址的快速变换:实现地址

15、的快速变换:至此分页机制才能得以流畅运转至此分页机制才能得以流畅运转分页机制之进阶:分页机制之进阶:进程的线性地址空间进程的线性地址空间物理内存物理内存页目录表页目录表页表页表页表页表核心提示核心提示: 分页机制可以将进程的数据分页机制可以将进程的数据离散离散地存放地存放到物理内存中,不再需要到物理内存中,不再需要连续连续的内存空间,的内存空间,大大方便了内存管理。大大方便了内存管理。 但是,物理内存终究是很有限的,如何但是,物理内存终究是很有限的,如何在有限的内存中,运行更多的程序呢?换句在有限的内存中,运行更多的程序呢?换句话说如何扩充物理内存呢?(思考话说如何扩充物理内存呢?(思考10秒

16、)秒)分页机制之完结:虚拟内存分页机制之完结:虚拟内存 海纳百川海纳百川 有容乃大有容乃大 在计算机的存储设备中什么部件的在计算机的存储设备中什么部件的容量容量是最是最大的?大的? 那么硬盘真能充作内存来使用吗?是那么硬盘真能充作内存来使用吗?是滥竽滥竽充数充数还是还是画龙点睛画龙点睛? 答案是:答案是:可以可以,而且绝大多数人目前都在用,而且绝大多数人目前都在用,而且绝大多数人还不知道自己正在这样用。,而且绝大多数人还不知道自己正在这样用。 为你是计算机系的学生而为你是计算机系的学生而自豪吧自豪吧,你知道了,你知道了更多的关于计算机的奥妙,虽然你也是刚刚才知更多的关于计算机的奥妙,虽然你也是

17、刚刚才知道。道。硬盘硬盘 分页机制之完结:虚拟内存的实现机制分页机制之完结:虚拟内存的实现机制进程的线性地址空间进程的线性地址空间物理内存物理内存页目录表页目录表页表页表内内存存已已满满物理硬盘物理硬盘虚拟内存虚拟内存? 核心提示核心提示: 在前面的介绍中提到,页目录表和页表中在前面的介绍中提到,页目录表和页表中的的 32 位地址值的低位地址值的低 12 位都位都天生天生就是就是 0 。为。为实现虚拟内存机制,需要利用这实现虚拟内存机制,需要利用这 12 位,当然位,当然还需要其它硬件上的支持。还需要其它硬件上的支持。分页机制之完结:虚拟内存的实现机制分页机制之完结:虚拟内存的实现机制页表中的数据项(注意低页表中的数据项(注意低 12 位进行了重定义)位进行了重定义)1:表示该页在内存,表示该页在内存,0:表示在硬盘上表示在硬盘上欲从此处获得该欲从此处获得该物理页物理页的起始地址,需将此的起始地址,需将此值和值和0 xFFFFF000相相?,

温馨提示

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

评论

0/150

提交评论